linux服务器常用配置
统计ip
查询统计不同ip登录失败次数:
1 | lastb -f /var/log/btmp | awk '{ print $3}' | sort|uniq -c | sort -n |
禁用账户
连续登录失败,禁用一段时间账户:
修改文件:vim /etc/pam.d/sshd
文件,在第二行添加
1 | auth required pam_tally2.so onerr=fail deny=5 unlock_time=3600 even_deny_root root_unlock_time=300 |
设置为密码连续错误5次锁定,锁定时间3600秒 root密码连续错误3次锁定,时间为 300秒 。
查看root用户的登录失败的次数:pam_tally2 --user root
重置计数器,即手动解锁:pam_tally2 --user root --reset
禁用ip
使用Fail2ban工具,登录失败多次,ip加入黑名单:
安装 Fai2Ban
简单说来,这是一个入侵防御软件的框架,可以保护计算机服务器免受暴力攻击。Fail2Ban 使用 Python 编程语言编写,能够运行在 POSIX 系统上(例如:Linux),并且具有与本地安装的数据包控制系统或防火墙的接口,例如iptables或TCP Wrapper 等。更进一步的解释,Fail2Ban 帮助我们自动化的监视暴力攻击和密码猜测者的攻击,对于在短时间内反复未能通过身份验证,则自动的禁止进行尝试。yum install -y fail2ban
配置 Fai2Ban
Fail2Ban安装包中含有一个名为jail.conf的默认配置文件。 升级Fail2Ban时,该文件将被覆盖。因此,如果有定制化的配置,需要在升级前做好备份。
另一种推荐的方法是将jail.conf文件复制到一个名为jail.local的文件中。 我们将定制的的配置更改存入jail.local中。这个文件在升级过程中将保持不变。 Fail2Ban启动时会自动读取这jail.conf与jail.local这两个配置文件,当然后者的优先级比较高。
先复制一份:
1 | sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local |
再修改:
1 | sudo vim /etc/fail2ban/jail.local |
配置 jail.local
1 | [DEFAULT] |
启动 Fail2Ban 服务:sudo systemctl start fail2ban
停止 Fail2Ban 服务:sudo systemctl stop fail2ban
重启 Fail2Ban 服务:sudo systemctl restart fail2ban
检查 Fail2Ban 服务状态:sudo systemctl status fail2ban
查看指定 JAIL 的详细信息和状态:sudo fail2ban-client status [JAIL 名称]
解封 IP 地址:sudo fail2ban-client set [JAIL 名称] unbanip [IP 地址]
这个命令用于手动解封指定的 IP 地址。将 [JAIL 名称] 替换为实际的 Fail2Ban 配置文件中定义的监控规则(如 sshd),将 [IP 地址] 替换为需要解封的 IP 地址。
常用命令合集
显示当前磁盘使用情况 :df -h
查找大于300M的文件:find . -type f -size +300M
查询文件的大小:du -ah --max-depth=1
查询docker占用磁盘:du -sh /var/lib/docker/
排行前十的内存占用:ps -auxf |sort -nr -k 4 |head -10
查看docker 容器占用内存大小 :docker stats --no-stream --format "table {{.Container}}\t{{.MemUsage}}"