在服务器中,为了让一些服务正常工作,不得不为其开放端口,而端口扫描也是攻击者在展开攻击前的信息收集中所要进行的一项操作,威胁也就随之而来了。因此,即使需要开放端口,也应该做好端口的防护。在这里通过 SSH 的渗透测试,对其默认的22端口进行讨论。
端口扫描
在 Kali Linux 打开终端,使用 Nmap 对攻击目标进行端口扫描。
1 | nmap -sV -p22 192.168.1.6 |
参数说明:
-sV
版本探测-p
目标端口192.168.1.6
目标 IP 地址
修改默认端口
在 SSH 服务中,我们应该避免使用默认端口,将 22
端口修改为其他端口。如果服务器是 CentOS 系统,则打开 /etc/ssh/sshd_config
文件,查找 port
项,去掉注释并修改端口为 2222
。
1 | Port 2222 |
重启 SSH 服务:
1 | systemctl restart sshd |
开放 2222
端口:
1 | firewall-cmd --zone=public --add-port=2222/tcp --permanent |
重新加载 firewalld,使规则立即生效。
1 | firewall-cmd --reload |
密码破解
在终端执行下面的命令,利用 Hydra 对目标进行暴力攻击。
1 | hydra -L username.txt -P password.txt ssh://192.168.1.6 |
参数说明:
-L
从文件加载登录名-P
从文件加载密码ssh://192.168.1.6
包含协议的攻击目标地址
要防御上面的暴力攻击,可以使用 Fail2ban 来保护服务器。