服务器禁止IP连接网络连接
一、防火墙配置
Windows系统
(1)使用Windows防火墙
打开防火墙高级设置:通过控制面板进入“系统和安全”,然后选择“Windows Defender防火墙”,点击左侧的“高级设置”以打开高级安全窗口。
创建入站规则:在入站规则中点击“新建规则”,选择“自定义”规则类型,在“程序”选项卡中指定要限制的程序或服务,然后在“作用域”选项卡中选择应用规则的网络类型(域、专用、公用),在“协议和端口”选项卡中选择TCP协议,并指定要限制的端口号(如80用于HTTP,21用于FTP等),在“作用域”选项卡中选择“特定IP地址”,并输入要阻止的IP地址或子网,完成设置后,为规则命名并保存。
(2)使用第三方防火墙软件
安装第三方防火墙软件:如ZoneAlarm、Norton等,这些软件通常提供更详细的配置选项和更强的防护能力。
配置阻止特定IP:在软件的防火墙设置中找到“黑名单”或“阻止的IP地址”选项,添加要阻止的IP地址或子网,保存设置后,软件将自动阻止这些IP地址的连接请求。
Linux系统
(1)使用iptables命令
查看当前防火墙规则:执行iptables -L
命令以查看当前的防火墙规则。
添加阻止特定IP的规则:使用iptables -A INPUT -s <IP地址> -j DROP
命令来添加阻止特定IP地址的规则,要阻止IP地址为192.168.1.100的连接,可以执行iptables -A INPUT -s 192.168.1.100 -j DROP
。
保存规则:根据Linux发行版的不同,保存iptables规则的命令可能有所不同,在Ubuntu上可以使用sudo sh -c "iptables-save > /etc/iptables/rules.v4"
命令保存规则。
(2)使用firewalld服务
启动firewalld服务:执行sudo systemctl start firewalld
命令以启动firewalld服务。
添加阻止特定IP的规则:使用firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<IP地址>" reject'
命令来添加永久规则,要阻止IP地址为192.168.1.100的连接,可以执行firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
。
重新加载firewalld配置:执行sudo firewall-cmd --reload
命令以重新加载firewalld配置并应用新规则。
二、使用反向代理
Nginx作为反向代理
(1)配置Nginx反向代理
安装Nginx:如果尚未安装Nginx,可以使用包管理器(如apt或yum)进行安装。
配置反向代理:编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/default),在server块中添加反向代理设置。
server { listen 80; server_name your_domain.com; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
将backend_server
替换为实际后端服务器的地址。
(2)配置访问控制
基于IP的访问控制:在Nginx配置文件中,可以使用allow
和deny
指令来控制哪些IP地址可以访问服务器。
server { listen 80; server_name your_domain.com; location / { allow 192.168.1.0/24; # 允许192.168.1.0/24子网的访问 deny all; # 拒绝所有其他IP的访问 proxy_pass http://backend_server; ... }}
将192.168.1.0/24
替换为实际允许的IP地址或子网,http://backend_server
替换为实际后端服务器的地址。
Apache作为反向代理
(1)配置Apache反向代理
安装mod_proxy和mod_proxy_http模块:确保Apache安装了这两个模块,它们通常不是默认安装的。
配置反向代理:编辑Apache配置文件(通常位于/etc/httpd/conf/httpd.conf或/etc/apache2/apache2.conf),添加以下内容以启用反向代理:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so <VirtualHost *:80> ServerName your_domain.com ProxyPreserveOn ProxyPass / http://backend_server/ ProxyPassReverse / http://backend_server/ </VirtualHost>
将your_domain.com
替换为你的域名,http://backend_server
替换为实际后端服务器的地址。
(2)配置访问控制
基于IP的访问控制:在Apache配置文件中,可以使用Order
、Allow
和Deny
指令来控制哪些IP地址可以访问服务器。
<Directory "/var/www/html"> Order Deny,Allow Deny from all Allow from 192.168.1.0/24 </Directory>
将/var/www/html
替换为实际Web根目录的路径,192.168.1.0/24
替换为实际允许的IP地址或子网。
三、使用安全插件或软件
Fail2ban
(1)安装Fail2ban
在Debian/Ubuntu上安装:执行sudo apt-get install fail2ban
命令。
在CentOS/RHEL上安装:执行sudo yum install fail2ban
命令。
(2)配置Fail2ban
编辑Jail配置:Fail2ban使用“jail”来定义要监控的日志文件和要采取的行动,编辑/etc/fail2ban/jail.local
文件,添加或修改jail配置,要监控SSH登录失败,可以添加以下配置:
[sshd] enabled = true filter = sshd logpath = /var/log/auth.log maxretry = 3
将logpath
设置为实际SSH登录失败日志的路径,并根据需要调整maxretry
的值。
创建过滤规则:Fail2ban使用正则表达式来匹配日志文件中的特定模式,过滤规则通常存储在/etc/fail2ban/filter.d/
目录下的文件中,SSH登录失败的过滤规则可能存储在sshd.conf
文件中,你可以根据需要创建或修改过滤规则。
(3)启动和管理Fail2ban
启动Fail2ban:执行sudo systemctl start fail2ban
命令以启动Fail2ban服务。
检查状态:执行sudo fail2ban-client status
命令以检查Fail2ban的状态和已实施的禁令。
2. IPSet与iptables结合使用
(1)安装IPSet
在Debian/Ubuntu上安装:执行sudo apt-get install ipset
命令。
在CentOS/RHEL上安装:执行sudo yum install ipset
命令。
(2)创建IPSet集合
创建集合:使用ipset create
命令创建一个IPSet集合,要创建一个名为“blocked_ips”的集合,可以执行:
sudo ipset create blocked_ips hash:ip family inet hashsize 1024
这将创建一个最多包含1024个IP地址的集合。
(3)填充IPSet集合
添加IP到集合:使用ipset add
命令将IP地址添加到集合中,要将IP地址192.168.1.100添加到“blocked_ips”集合中,可以执行:
sudo ipset add blocked_ips 192.168.1.100
(4)在iptables中使用IPSet集合
配置iptables规则:现在可以在iptables规则中使用刚刚创建的IPSet集合了,编辑iptables规则,将特定的IP地址替换为IPSet集合的名称,要在INPUT链中阻止所有在“blocked_ips”集合中的IP地址的访问,可以执行:
sudo iptables -A INPUT -m set --match-set blocked_ips src -j DROP
这条规则将匹配所有源地址在“blocked_ips”集合中的IP数据包,并将其丢弃。
以上内容就是解答有关“服务器禁止ip连接网络连接网络连接”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/758402.html