Linux管理员需要知道如何在linux中阻止特定IP或网络范围的SSH和FTP访问,确保网络安全性。阻止特定IP地址或者网络范围SSH和FTP访问一般涉及到防火墙的配置,可以通过iptables,这种方法适用于大部分linux发行版。
阻止特定IP的SSH访问:
sudo iptables -A INPUT -p tcp --dport 22 -s <特定IP地址> -j DROP
把特定IP地址替换成想要阻止的IP地址。
阻止特定网络范围的SSH访问:
sudo iptables -A INPUT -p tcp --dport 22 -s <网络范围> -j DROP
FTP一般使用21端口。
阻止特定网络范围的FTP访问:
sudo iptables -A INPUT -p tcp --dport 21 -s <网络范围> -j DROP
还可以使用firewalld(适用于使用firewalld的Linux发行版,如CentOS 7及以上)。阻止特定IP的SSH访问:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='drop tcp $src addr <特定IP地址> port 22'
组织特定网络范围的SSH访问:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='drop tcp $src addr <网络范围> port 22'
阻止特定IP的FTP访问:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='drop tcp $src addr <特定IP地址> port 21'
阻止特定网络范围的FTP访问:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='drop tcp $src addr <网络范围> port 21'
重新加载firewalld以应用更改:
sudo firewall-cmd --reload
另外还可以使用TCP包装器来阻止对特定IP或网络范围的SSH和FTP访问。OpenSSH和FTP是TCP包装器支持下编译的,意味着可以在/etc/hosts.allow和/etc/hosts.deny这两个重要文件中指定哪些主机被允许连接而不需要触及防火墙。第一个文件包含允许主机条目,第二个包含被阻止的主机地址。
例如,让我们阻止对 IP 地址为192.168.1.100且网络范围为192.168.1.0的主机的 SSH 和 FTP 访问。此方法适用于 CentOS 6.x 和 7.x 系列。当然,它也适用于其他发行版,例如 Debian、Ubuntu、SUSE、openSUSE 等。
打开/etc/hosts.deny文件并添加您想要阻止的以下 IP 地址或网络范围:
##### To block SSH Access #####
sshd: 192.168.1.100
sshd: 192.168.1.0/255.255.255.0
##### To block FTP Access #####
vsftpd: 192.168.1.100
vsftpd: 192.168.1.0/255.255.255.0
保存并推出文件,在重新启动sshd和vsftpd服务来使其新的更改生效:
--------------- For SSH Service ---------------
# service sshd restart [On SysVinit]
# systemctl restart sshd [On SystemD]
--------------- For FTP Service ---------------
# service vsftpd restart [On SysVinit]
# systemctl restart vsftpd [On SystemD]
再尝试用SSH连接服务器或者从被阻止的服务器进行连接:
# ssh 192.168.1.150
会显示:
ssh_exchange_identification: read: Connection reset by peer
再尝试FTP连接服务器:
# ftp 192.168.1.150
输出:
Connected to 192.168.1.150.
421 Service not available.
要再次解除阻止或启用 SSH 和 FTP 服务,请编辑hosts.deny文件并注释掉所有行,最后重新启动 vsftpd 和 sshd 服务。
在实施防火墙规则前,要充分理解其影响并备份关键数据。进行规则测试以确保它们正确执行,不阻碍合法访问,并确认规则针对的是SSH和FTP服务的正确端口。启用SSH密钥认证可增强安全性,同时保持系统和软件的更新,以修补潜在的安全漏洞。遵循这些步骤,可以有效地限制特定IP或网络对SSH和FTP的访问。如需更多帮助欢迎咨询华纳云!