TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:
TOP云总站云服务器:https://topyun.vip/server/buy.html
TOP云C站云服务器:https://c.topyun.vip/cart
在云服务器租用中,限制IP访问是提升安全性的重要手段,可以有效防止未授权访问、暴力破解或DDoS攻击。以下是详细的实现方法和注意事项:
一、限制IP访问的常见方法
1. 通过防火墙限制(推荐)
(1)Linux 系统防火墙(iptables/firewalld/ufw)
iptables(基础工具)
示例:仅允许特定IP访问SSH(端口22),其他IP全部拒绝:# 清空现有规则(谨慎操作)
sudo iptables -F
# 允许特定IP访问SSH
sudo iptables -A INPUT -p tcp --dport 22 -s 允许的IP -j ACCEPT
# 拒绝其他所有IP访问SSH
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
# 保存规则(Ubuntu/Debian需安装iptables-persistent)
sudo iptables-save | sudo tee /etc/iptables/rules.v4firewalld(CentOS/RHEL等)
示例:仅允许IP 192.168.1.100 访问HTTP(端口80):sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
sudo firewall-cmd --reloadufw(Ubuntu简化工具)
示例:仅允许IP 203.0.113.5 访问SSH:sudo ufw allow from 203.0.113.5 to any port 22
sudo ufw enable
(2)云平台安全组(更高效)
AWS/Aliyun/Tencent Cloud等:在控制台配置安全组规则,直接限制入站/出站流量。
示例(阿里云安全组):优点:无需登录服务器,由云平台直接拦截流量,性能更好。
入方向规则:仅允许特定IP访问SSH(端口22)和HTTP(端口80)。
出方向规则:按需限制(如仅允许访问特定外网IP)。
2. 通过Web服务器配置限制(如Nginx/Apache)
(1)Nginx 限制IP访问
允许特定IP访问:
在Nginx配置文件中(如 /etc/nginx/sites-available/default)添加:location / {
allow 203.0.113.5; # 允许的IP
deny all; # 拒绝其他所有IP
}拒绝特定IP:
location / {
deny 192.168.1.100; # 拒绝的IP
allow all; # 允许其他IP
}重启Nginx生效:
sudo systemctl restart nginx
(2)Apache 限制IP访问
在虚拟主机配置或 .htaccess 文件中添加:
<Directory "/var/www/html">
Require ip 203.0.113.5 # 仅允许该IP
# 或拒绝特定IP
# Require not ip 192.168.1.100
</Directory>重启Apache:
sudo systemctl restart apache2
3. 通过Fail2Ban动态封禁IP
适用场景:防御暴力破解(如SSH、Web登录),自动封禁恶意IP。
配置示例(SSH防护):
修改 /etc/fail2ban/jail.local:[sshd]
enabled = true
maxretry = 3 # 3次失败后封禁
bantime = 86400 # 封禁24小时重启Fail2Ban:
sudo systemctl restart fail2ban
4. 数据库或其他服务限制IP
MySQL/MariaDB:
在 my.cnf 或直接执行SQL命令限制IP访问:CREATE USER 'user'@'203.0.113.5' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'203.0.113.5';
FLUSH PRIVILEGES;Redis/Memcached:
绑定特定IP或设置密码(默认无密码且监听所有IP,需修改配置文件)。
二、注意事项
优先级建议:
云安全组 > 防火墙 > Web服务器配置。云安全组性能最好,防火墙更灵活,Web配置适合应用层限制。
多层防护结合(如安全组+Fail2Ban)效果更佳。
避免误封:
确保自己的IP在允许列表中(尤其是动态IP用户,可使用DDNS或VPN)。
测试规则前,保持另一个SSH会话活跃,防止被锁。
日志监控:
通过 iptables -L -n、fail2ban-client status 或Web服务器日志检查封禁情况。
IPv6支持:
如果服务器启用IPv6,需同步配置IPv6规则(如 ip6tables 或安全组的IPv6规则)。
三、总结
场景 | 推荐方法 |
---|---|
全局IP访问控制 | 云平台安全组 + Linux防火墙(iptables/firewalld) |
防御暴力破解 | Fail2Ban + 防火墙 |
Web应用层IP限制 | Nginx/Apache配置 |
数据库等服务的IP限制 | 服务自身配置(如MySQL绑定IP) |
最佳实践:
公网服务器:云安全组 + Fail2Ban + Web服务器IP限制。
内网服务器:防火墙 + 服务自身配置。
动态IP用户:结合VPN或DDNS工具(如花生壳)。