如何设置服务器以拒绝特定IP地址的访问?

小贝
预计阅读时长 12 分钟
位置: 首页 抖音 正文

在服务器管理中,拒绝特定IP地址的访问是一项重要的安全措施,以下是一些常见的方法来设置服务器拒绝特定IP地址:

服务器设置拒绝ip

1、使用防火墙规则

Linux系统(iptables)

打开终端并编辑iptables规则:使用文本编辑器打开iptables配置文件,通常位于/etc/sysconfig/iptables

添加拒绝规则:在文件中添加如下规则以拒绝特定IP地址的访问,拒绝IP地址为192.168.1.100的所有传入连接:

         *filter
         :INPUT ACCEPT [0:0]
         :FORWARD ACCEPT [0:0]
         :OUTPUT ACCEPT [0:0]
         -A INPUT -s 192.168.1.100 -j DROP
         COMMIT

保存并重启iptables服务:保存文件并重启iptables服务以应用更改。

         sudo systemctl restart iptables

Windows系统(Windows防火墙)

打开Windows防火墙设置:在Windows搜索栏中输入“防火墙”,然后选择“Windows Defender防火墙”。

服务器设置拒绝ip

创建新的入站规则:在左侧面板中选择“高级设置”,然后选择“入站规则”,点击“新建规则”,选择“自定义”并点击“下一步”。

配置规则:在“程序”选项中选择“所有程序”,在“协议和端口”选项中选择“TCP”,然后在“本地端口”中输入您想要禁止的端口号,在“范围”选项中选择“这个 IP 地址范围”,然后输入您想要禁止的IP地址范围,选择“阻止连接”,然后点击“下一步”。

命名并启用规则:输入规则名称和描述,然后点击“完成”,在规则列表中找到您刚刚创建的规则,然后右键单击它并选择“启用规则”。

2、修改Web服务器配置

Apache服务器

打开Apache配置文件:使用文本编辑器打开Apache的配置文件,通常位于/etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf

添加拒绝规则:在配置文件中找到适当的配置块,添加如下内容以拒绝特定IP地址的访问,例如拒绝IP地址为192.168.1.100的访问:

服务器设置拒绝ip
        <Directory /var/www/html>
            Require all granted
            Require not ip 192.168.1.100
        </Directory>

保存并重启Apache服务:保存文件并重启Apache服务以应用更改。

         sudo systemctl restart httpd  # 对于CentOS/RHEL系统
         sudo systemctl restart apache2  # 对于Debian/Ubuntu系统

Nginx服务器

打开Nginx配置文件:使用文本编辑器打开Nginx的配置文件,通常位于/etc/nginx/nginx.conf

添加拒绝规则:在配置文件中的server块内添加如下内容以拒绝特定IP地址的访问,例如拒绝IP地址为192.168.1.100的访问:

         server {
             listen 80;
             server_name your_domain_or_ip;
             location / {
                 deny 192.168.1.100;
                 # 其他配置...
             }
             # 其他location块...
         }

保存并重启Nginx服务:保存文件并重启Nginx服务以应用更改。

         sudo systemctl restart nginx

3、使用访问控制列表(ACL)

路由器或交换机

登录到路由器或交换机的管理界面

创建ACL:在ACL配置页面中,创建一个新的ACL项,并指定需要阻止的IP地址以及设置该IP访问时的动作为拒绝或禁止。

应用ACL:将创建的ACL应用到服务器的入口或出口接口上。

4、使用反向代理服务器

配置反向代理服务器(如Nginx)

安装并配置Nginx:如果尚未安装Nginx,请先安装它,然后打开Nginx的配置文件(通常位于/etc/nginx/nginx.conf)。

添加拒绝规则:在配置文件中的server块内添加如下内容以拒绝特定IP地址的访问,例如拒绝IP地址为192.168.1.100的访问:

         server {
             listen 80;
             server_name your_domain_or_ip;
             location / {
                 deny 192.168.1.100;
                 proxy_pass http://backend;
             }
             # 其他location块...
         }

保存并重启Nginx服务:保存文件并重启Nginx服务以应用更改。

         sudo systemctl restart nginx

5、使用安全插件或模块

Apache服务器(mod_security)

安装mod_security模块:如果尚未安装mod_security模块,请先安装它。

配置mod_security:打开mod_security的配置文件(通常位于/etc/httpd/conf.d//etc/apache2/mods-enabled/目录下的mod_security.confsecurity.conf)。

添加拒绝规则:在配置文件中添加如下内容以拒绝特定IP地址的访问,例如拒绝IP地址为192.168.1.100的访问:

         SecRule ENGINE ON
         SecRule REMOTE_ADDR "@ipMatch 192.168.1.100" "deny,status:403,msg:'Access denied due to IP blacklisting'"

保存并重启Apache服务:保存文件并重启Apache服务以应用更改。

6、编写Shell脚本自动拒绝恶意IP

登录服务器日志并检查认证失败的行:使用awk或其他文本处理工具从服务器日志(如/var/log/secure)中提取认证失败的IP地址。

将IP地址写入防火墙规则:使用sed或其他文本处理工具将提取的IP地址添加到防火墙规则中,以禁止这些IP地址访问服务器的SSH端口(通常是22端口)。

将脚本加入Crontab实现自动运行:将Shell脚本加入Crontab中,以定期执行该脚本并自动更新防火墙规则。

通过以上步骤可以有效地拒绝特定IP地址对服务器的访问请求,从而保护服务器免受潜在的安全威胁。

各位小伙伴们,我刚刚为大家分享了有关“服务器设置拒绝ip”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

-- 展开阅读全文 --
头像
为何App网络环境总是不给力?探究背后的原因与解决方案
« 上一篇 2024-11-28
什么是分段存储管理方式,它如何优化内存利用?
下一篇 » 2024-11-28
取消
微信二维码
支付宝二维码

发表评论

暂无评论,1人围观

目录[+]