当我们改变端口ssh默认(端口22)例如:
vi /etc/ssh/sshd_config (change port) iptables -I INPUT -p tcp --dport 2125 --syn -j ACCEPT service iptables save semanage port -a -t ssh_port_t -p tcp 2125 firewall-cmd --add-port 2125/tcp --permanent firewall-cmd --add-port 2125/tcp service sshd restart
那么如何扫描服务器来知道端口ssh是蛮力还是做了几个如下的动作。
首先攻击者需要执行端口扫描(使用Nmap或类似的)。 大部分的端口扫描function都是针对易受攻击的协议寻找开放的已知的默
如果您打开了非默认端口,则需要进一步调查以检测协议。 在SSH的情况下,每个端口都需要连接以查看是否应答
SSH-2.0-OpenSSH_<version> <platform>
或SSH协议的类似的第一个答案行。 只有在这之后,才有可能开始针对SSH的攻击。
大部分的犯罪分子都懒惰,不愿意采取这些步骤,因为海中有大量的鱼类:暴力破解随机服务器的开放默认端口22更容易。 这也可能更有效,因为使用非默认端口的pipe理员也可能采取了更多的其他安全措施。 另一方面,这意味着如果你看到所有这些步骤都被执行,那么攻击很可能成为攻击目标。
使用非默认的SSH端口可能会给用户带来其他问题:使用起来并不容易,因为端口必须单独定义。 有些防火墙可能在允许SSH时阻塞连接,因为这种规则是使用默认端口定义的。 因此,非默认端口可能不是一个好的安全措施。 对于所提到的暴力攻击,Fail2ban会更好。
为了find本地机器上的开放端口,我运行:
netstat -plunt
如果你想findSSH端口,运行:
netstat -plunt | grep ssh
要查找在远程机器上打开的所有TCP / UDP端口,请运行:
sudo nmap -n -PN -sT -sU -p- ip_of_remote_machine