centos7防火墻如何設置只對部分端口號限源
項目上線一段時候,安全測評整改的需要,需對特定一些端口進行限源。
其他端口不做限制
iptables與firewalld的區別
1),firewalld可以動態修改單條規則,動態管理規則集,允許更新規則而不破壞現有會話和連接。而iptables,在修改了規則后必須得全部刷新才可以生效;
2),firewalld使用區域和服務而不是鏈式規則;
3),firewalld默認是拒絕的,需要設置以后才能放行。而iptables默認是允許的,需要拒絕的才去限制;
4),firewalld自身并不具備防火墻的功能,而是和iptables一樣需要通過內核的netfilter來實現。也就是說,firewalld和iptables一樣,它們的作用都用于維護規則,而真正使用規則干活的是內核的netfilter。只不過
firewalld和iptables的結果以及使用方法不一樣!firewalld是iptables的一個封裝,可以讓你更容易地管理iptables規則。它并不是iptables的替代品,雖然iptables命令仍可用于firewalld,但建議firewalld時僅使用firewalld命令。1.關閉默認的firewall防火墻
systemctl stop firewalld.service 關閉防火墻systemctl disable firewalld.service 關閉開機啟動2.開啟iptables
yum install iptables (根據centOS7的版本和內核,有些版本已經裝過,可以跳過此命令)yum install iptables-services3.基本操作
查看防火墻狀態
查看防火墻狀態service iptables status停止防火墻service iptables stop啟動防火墻service iptables start重啟防火墻service iptables restart永久關閉防火墻chkconfig iptables off永久關閉后重啟chkconfig iptables on開機自啟systemctl enable iptables.service二、設置規則表示清空所有默認規則。
iptables -F設置指定IP訪問指定端口8075
1、添加規則:禁止所有IP訪問8075
iptables -I INPUT -p tcp --dport 8075 -j DROP查看規則
iptables --line -nvL INPUT添加規則:允許127.0.0.1訪問8075
iptables -I INPUT -s 127.0.0.1 -p tcp --dport 8075 -j ACCEPT規則已經添加,測試
telnet 具體ip 8075保存規則
service iptables save三、特定url限源示例添加swagger-相關限制
iptables -I INPUT -p tcp -m string --string 'swagger-' --algo bm -j DROP iptables -I INPUT -s 10.0.120.13 -p tcp -m string --string 'swagger-' --algo bm -j ACCEPT查詢數據庫中的數據也可能包含"swagger-" 也會直接攔截,對數據庫等存儲也需要添加放行規則
開放源
iptables -I INPUT -s 某某ip -j ACCEPTiptables 導入導出
導出iptables-save > iptables_bak導入iptables-restore < iptables_bakiptables 設置特定IP訪問指定端口一、添加規則設置禁止所有IP訪問指定端口8075
[root@zabbix_server ~]# iptables -I INPUT -p tcp --dport 8075 -j DROP二、測試telnet [root@zabbix_server ~]# telnet 127.0.0.1 8075Trying 127.0.0.1...telnet: connect to address 127.0.0.1: Connection timed out三、刪除規則1、查詢規則編號
[root@zabbix_server ~]# iptables --line -nvL INPUTChain INPUT (policy DROP 83 packets, 4016 bytes)num pkts bytes target prot opt in out source destination 18 408 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8075 2 144M 15G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 3 4037 214K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 43 156 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25601 5 4085 218K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 6 22638 1169K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306 7 264K 14M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9000 8 443K 23M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10050 9 76134 4093K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10051可以看到禁止訪問8075的規則編號為1
2、刪除指定規則編號的規則
[root@zabbix_server ~]# iptables -D INPUT 1再查詢
[root@zabbix_server ~]# iptables --line -nvL INPUTChain INPUT (policy DROP 20 packets, 961 bytes)num pkts bytes target prot opt in out source destination 1 144M 15G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 4038 214K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 33 156 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25601 4 4087 218K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 5 22644 1169K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306 6 264K 14M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9000 7 443K 23M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10050 8 76156 4094K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10051 9 44 2208 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dp已經刪除了,測試telnet
[root@zabbix_server ~]# telnet 127.0.0.1 8075Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.四、設置指定IP訪問指定端口80751、添加規則:禁止所有IP訪問8075
[root@zabbix_server ~]# iptables -I INPUT -p tcp --dport 8075 -j DROP[root@zabbix_server ~]# iptables --line -nvL INPUTChain INPUT (policy DROP 3 packets, 156 bytes)num pkts bytes target prot opt in out source destination 10 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8075 2 145M 15G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 3 4038 214K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 43 156 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25601 5 4090 219K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 6 22650 1169K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306 7 264K 14M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9000 8 443K 23M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10050 9 76183 4095K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10051 10 44 2208 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3000 11 7 284 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5672 12 2 80 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dp2、添加規則:允許127.0.0.1訪問8075
[root@zabbix_server ~]# iptables -I INPUT -s 127.0.0.1 -p tcp --dport 8075 -j ACCEPT3、查詢規則:
[root@zabbix_server ~]# iptables --line -nvL INPUTChain INPUT (policy DROP 20 packets, 1004 bytes)num pkts bytes target prot opt in out source destination 10 0 ACCEPT tcp -- * * 127.0.0.1 0.0.0.0/0 tcp dpt:8075 20 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8075 3 145M 15G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 4 4039 214K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 53 156 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25601 6 4096 219K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 7 22660 1170K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306 8 264K 14M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9000 9 443K 23M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10050規則已經添加,測試
[root@zabbix_server ~]# telnet 127.0.0.1 8075Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.本機可以訪問8075,其他機器上不能訪問8075
[root@localhost etc]# telnet 172.28.18.75 8075Trying 172.28.18.75...telnet: connect to address 172.28.18.75: Connection timed out4、允許172.28.18.71可以訪問8075,(172.28.18.71是需要訪問8075的服務器)
[root@zabbix_server ~]# iptables -I INPUT -s 172.28.18.71 -p tcp --dport 8075 -j ACCEPT查看規則
[root@zabbix_server ~]# iptables --line -nvL INPUTChain INPUT (policy DROP 9 packets, 456 bytes)num pkts bytes target prot opt in out source destination 10 0 ACCEPT tcp -- * * 172.28.18.71 0.0.0.0/0 tcp dpt:8075 23 132 ACCEPT tcp -- * * 127.0.0.1 0.0.0.0/0 tcp dpt:8075 37 420 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8075 4 145M 15G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 5 4040 214K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 63 156 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25601 7 4100 219K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 8 22674 1171K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306在172.28.18.71上測試telnet 8075
[root@localhost etc]# telnet 172.28.18.75 8075Trying 172.28.18.75...Connected to 172.28.18.75.Escape character is '^]'.訪問成功,保存規則
[root@zabbix_server ~]# service iptables saveiptables:將防火墻規則保存到 /etc/sysconfig/iptables:[確定]重啟服務
[root@zabbix_server ~]# service iptables saveiptables:將防火墻規則保存到 /etc/sysconfig/iptables:[確定][root@zabbix_server ~]# service iptables restartiptables:將鏈設置為政策 ACCEPT:filter [確定]iptables:清除防火墻規則:[確定]iptables:正在卸載模塊:[確定]iptables:應用防火墻規則:[確定]總結以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
