首页 帮助中心 美国服务器 Linux中阻止对特定IP和网络范围的SSH和FTP访问
Linux中阻止对特定IP和网络范围的SSH和FTP访问
时间 : 2024-12-11 13:45:42 编辑 : 华纳云 阅读量 : 247

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的访问。如需更多帮助欢迎咨询华纳云

华纳云 推荐文章
服务器如何进行ssh的使用与配置? Ubuntu系统上生成SSH密钥的步骤 Pssh如何实现多台Linux远程服务器上执行相同命令 如何通过SSH实现TCP/IP隧道(端口转发)? 断开连接后保持远程SSH会话和进程运行的常见方法 Linux SSH免密登录设置教程 OpenSSH服务器最佳安全实践包含哪些 Greenplum启动时 SSH22端口连接失败 端口转发和SSH隧道的含义详解及使用方法 在 FIPS 强制模式下生成 SSH 密钥出现错误的解决办法
客服咨询
7*24小时技术支持
技术支持
渠道支持