允许第一个IP访问22端口

XMSDN
该配置指令旨在明确网络访问策略,规定仅允许第一个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
💡 温馨提示

📌 阅读须知 Rules & Notice

本站坚持免费分享,致力于为大家提供实用、优质的内容与资源。

🔗欢迎大家收藏与转发,转载请保留本站链接,请勿私自去除版权信息。

📚所有外部整理资源,仅作学习交流使用,请勿用于各类商业用途。

🤝网络相聚本是缘分,希望大家文明交流,理性浏览。

🛠️若发现内容有误或涉及侵权,我们将第一时间处理整改。

💖 感谢每一位朋友的陪伴与支持

✨ 用心分享,一路同行 ✨

目录[+]