CentOS7安装Fail2Ban防止SSH被暴力破解

CentOS7安装Fail2Ban防止SSH被暴力破解,第1张

1、检查 Firewalld 防火墙是否启用

2、启用 Firewalld 后默认 --remove-port 禁止所有端口,需手动开放,以下是开放 SSH 端口( 22 )示例:

1、编辑

2、配置

意思是如果在1小时内,同一IP登陆失败3次,则将其封禁24小时,具体根据实际情况修改。

1、执行命令

2、显示内容

1、编辑 (Debian系:/etc/s-nail.rc;RedHat系:/etc/mail.rc)

2、在文件末尾增加配置

3、测试

多个收件人用 , 分隔,刚刚发送的邮件在 收件箱 垃圾箱 中。

1、编辑

2、配置

1、编辑

2、配置

以 Nginx 为例,使用 fail2ban 来监视 nginx 日志,匹配短时间内频繁请求的 IP ,并使用 firewalld 将其 IP 屏蔽,达到 CC 防护的作用。

1、编辑

2、配置

1、编辑

2、配置

意思是如果在60秒内,同一IP达到120次请求,则将其封禁2小时,具体根据实际情况修改。

1、执行命令

2、显示内容

1、使用正则规则检测

2、使用规则文件检测

1.禁用ROOT权限登录。(重要)

2.安全组收缩不使用的端口,建议除443/80以及ssh登录等必要端口外全部关闭。

3.防火墙收缩不使用的端口,建议除443/80以及ssh登录端口外全部关闭。

4.更改ssh默认端口22

5.除登录USER,禁止其他用户su到root进程,并且ssh开启秘钥及密码双层验证登录。(重要)

6.限制除登录USER外的其他用户登录。

7.安装DenyHosts,防止ddos攻击。

8.禁止系统响应任何从外部/内部来的ping请求。

9.保持每天自动检测更新。

10.禁止除root之外的用户进程安装软件及服务,如有需要则root安装,chown给到用户。

11.定时给服务器做快照。

12.更改下列文件权限:

13.限制普通用户使用特殊命令,比如wget,curl等命令更改使用权限,一般的挖矿程序主要使用这几种命令操作。

1.nginx进程运行在最小权限的子用户中,禁止使用root用户启动nginx。(重要)

2.配置nginx.conf,防范常见漏洞:

1.禁止root权限启动apache服务!禁止root权限启动apache服务!禁止root权限启动apache服务!重要的事情说三遍!因为这个问题被搞了两次。

2.改掉默认端口。

3.清空webapps下除自己服务外的其他文件,删除用户管理文件,防止给木马留下后门。

4.限制apache启动进程su到root进程以及ssh登录,限制启动进程访问除/home/xx自身目录外的其他文件。

5.限制apache启动进程操作删除以及编辑文件,一般a+x即可。

1.关闭外网连接,与java/php服务使用内网连接。

2.在满足java/php服务的基础上,新建最小权限USER给到服务使用,禁止USER权限访问其他项目的库。

3.root密码不要与普通USER相同。

4.建议使用云库,云库具备实时备份,动态扩容,数据回退等功能,减少操作风险。

1.关闭外网连接,只允许内网交互,基本这个做了之后就已经稳了。

2.禁止root权限启动,运行在普通用户进程里。

3.更改默认端口。

4.添加登录密码。

以上是自己做的防范手段,不成熟见解,有一些方案待验证,不定时更新,欢迎大佬补充!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/625591.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-16
下一篇2023-07-16

发表评论

登录后才能评论

评论列表(0条)

    保存