允许第一个IP访问22端口

admin
该配置指令旨在明确网络访问策略,规定仅允许第一个IP地址访问22端口,通常用于SSH服务的安全设置,通过限制连接源,确保只有指定设备能建立连接,从而有效防止未授权访问,提升系统安全性。

Linux安全加固实战:限制SSH(22端口)仅允许指定IP访问

在Linux服务器管理中,安全性永远是第一位的,默认开放的SSH端口(22端口)往往是黑客暴力破解的重点攻击目标,为了提高服务器的安全性,最有效的措施之一就是实施“白名单”策略,即只允许特定的IP地址访问SSH服务,而拒绝其他所有IP的连接请求。

本文将详细介绍如何通过配置防火墙规则,限制SSH端口仅允许两个指定IP访问。

允许第一个IP访问22端口

使用 iptables(传统且底层的方法)

iptables 是Linux内核自带的防火墙工具,能够提供非常精确的访问控制,以下是基于 iptables 的配置步骤。

查看当前规则

建议查看一下当前的防火墙状态,以免覆盖了重要的现有规则:

sudo iptables -L -n

清除现有规则(可选,为了干净的配置)

如果你希望重新开始配置,可以先清除所有规则:

sudo iptables -F

设置默认策略

为了安全起见,建议将默认策略设置为拒绝(DROP):

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

注意:OUTPUT ACCEPT 允许服务器主动发起外部连接,这是必要的。

允许本地回环流量

确保服务器本身能访问自己(防止SSH断开):

sudo iptables -A INPUT -i lo -j ACCEPT

允许已建立的连接

确保已经建立的SSH连接不会因为规则更新而断开:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许指定的两个IP访问22端口

假设你要允许的IP分别是 168.1.1000.0.50,你需要分别添加允许规则(注意顺序,允许规则要在拒绝规则之前):

# 允许第二个IP访问22端口
sudo iptables -A INPUT -p tcp -s 10.0.0.50 --dport 22 -j ACCEPT

拒绝其他所有访问22端口的请求

拒绝其他所有IP访问22端口:

sudo iptables -A INPUT -p tcp --dport 22 -j DROP

保存规则

配置完成后,需要保存规则,否则重启系统后配置会丢失,根据你的Linux发行版选择以下命令之一:

  • CentOS 6/RHEL 6:
    sudo service iptables save
  • CentOS 7/RHEL 7/8/9 (使用 iptables-service):
    sudo service iptables save
  • Ubuntu/Debian (使用 netfilter-persistent):
    sudo netfilter-persistent save

使用 UFW(简单易用的防火墙管理工具)

如果你使用的是 Ubuntu 或 Debian 系统,或者更喜欢图形化/命令行的简化管理,ufw 是更好的选择。

启用 UFW

sudo
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码