暴力破解sshd服务防御
一 一般防御
-
密码足够复杂
密码的长度大于8位最好大于14位。密码的复杂度是密码要尽可能有数字、大小写和特殊符号组成 -
修改默认端口号 sshd默认端口号为22
模拟黑客扫描:使用nmap工具扫描端口号
(1) yum install -y nmap
(2)nmap 192.168.67.130 //扫描服务器开放了哪些端口(22)
(3)修改默认端口号为其他,迷惑入侵者3.不使用root用户名登录,让黑客猜不到你的用户名,不使用用户名为root的账号登录系统,但要获得root超级管理员权限。(判断用户是否是超级管理员,看其ID是否为0)
(1)新建用户并设置密码
(2)编辑配置文件
(3)验证
二 不断被暴力破解导致系统资源额外开销
fail2ban 运行机制:功能是防止暴力破解。原理是通过分析一定时间内日志,将满足动作的相关IP利用iptables加入到drop(丢弃)列表一定时间
应用实例
设置条件:ssh远程登录5分钟内3次密码验证失败,禁止用户IP访问主机1小时,1小时该限制自动解除后可重新登录
(1)下载软件包
官方地址: http://www.fail2ban.org
(2)上传下载的压缩包并解压
(3)进入目录后安装(要求Python≥2.4)
To install, just do:
tar xvfj fail2ban-0.8.12.tar.bz2
cd fail2ban-0.8.12
python setup.py install
(4)拷贝启动脚本
cp files/redhat-initd /etc/init.d/file2ban
(5)修改配置文件/etc/fail2ban/jail.conf
注释:
enabled = true #是否激活此项(true/false)修改成 true
logpath = /var/log/secure #检测的系统的登陆日志文件。这里要写sshd服务日志文件。
findtime = 300 #在5分钟内内出现规定次数就开始工作,默认时间单位:秒
maxretry = 3 #3次密码验证失败
bantime = 3600 #禁止用户IP访问主机1小时
(4)验证
连续输错3次密码后,再进行登录时,会被拒绝
(5)查看服务是否在工作
(6)查看谁在进行暴力破解
或者使用iptables查看
iptables -L -n