服务器更改默认时如何直接知道SSH端口?

当我们改变端口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