Linux防火墙(SElinux、netfilter)防火墙工具iptables
2018-01-24 17:31
591 查看
Linux防火墙
Enforcing:为开启状态,Permissive:为临时关闭状态,Disabled:为关闭状态;
重启生效;
重启查询,成功关闭
-nvL选项表示查看规则,-F表示临时清除当前规则,-n表示不针对ip反解析主机名,-L表示列出,-v表示列出信息更加详细;
必须使用service iptables save 保存才行,防火墙规则保存在/etc/sysconfig/iptables中;
nat:主要用于网络地址转换;有PREROUTING、OUTPUT、POSTROUTING等三个链;
mangle:用来给数据包做标记;
raw:实现不追踪某些数据包;
security:访问控制MAC列表;
INPUT:通过路由表后目的地为本机;
FORWARD:通过路由表,目的地部位本机;
OUTPUT:有本机产生,向外转发;
POSTROUTING:发送到网卡接口之前;
表与链其他详解
http://www.cnblogs.com/metoy/p/4320813.html
-I:插入一条规则;
-F:清空规则;
-Z:清空计数,重新开始计数;
-t:清空指定表,后面必须带参数表名,-t nat;
-n:不针对ip反解析主机名;
-v:更加详细的信息;
-L:列出,与-v一起使用;
-p:表示指定协议,可以是tcp、udp、icmp;
--dport:跟-p一起使用,表示指定目标端口;
--sport:跟-p一起使用,表示指定源端口;
-s:表示指定源ip(可以是一个网段)
-d:表示指定目的ip(可以是一个网段)
-j:后面跟动作,其中ACCEPT表示允许包、DROP表示丢掉包、REJECT表示拒绝包;
-i:表示指定网卡(不常用);
命令清除
service iptables save
保存到文件,重启生效;
指定清空nat表,-t 参数就是指定表;
iptables -t nat -nvL 清空nat表,并显示规则;
增加指定源ip以及端口拒绝访问目标ip的某端口
iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.2 --dport 80 -j DROP
将来源ip 192.168.188.1 的1234端口 访问192.168.188.2 的80端口 拒绝掉
iptables -I INPUT -p tcp --dport 80 -j DROP
将拒绝所有的ip访问本机的80端口
iptables -D INPUT -p tcp --dport 80 -j DROP
删除掉已知道命令的规则
显示规则的序列号num
iptables -D INPUT 1
删除序列号为1的规则
将规则保存到/etc/sysconfig/iptables
将iptables的规则备份到my.ipt文件中
将文件中的规则恢复到iptables中
SElinux防火墙
SElinux是Linux系统特有的安全机制,一般装完系统后都会手动将它关闭;查询状态
getenforceEnforcing:为开启状态,Permissive:为临时关闭状态,Disabled:为关闭状态;
[root@shu-test ~]# getenforce Enforcing [root@shu-test ~]#
临时关闭
setenforce 0[root@shu-test ~]# getenforce Enforcing [root@shu-test ~]# setenforce 0
[root@shu-test ~]# getenforce
Permissive
[root@shu-test ~]#
永久关闭
配置文件/etc/selinux/config,修改SELINUX=enforcing为SELINUX=disabled重启生效;
[root@shu-test ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@shu-test ~]# vim /etc/selinux/config [root@shu-test ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@shu-test ~]#
重启查询,成功关闭
[root@shu-test ~]# getenforce Disabled [root@shu-test ~]#
netfilter防火墙
centos6 5版本使用netfilter防火墙,centos7版本使用为firewalld防火墙,都是用iptables工具;关闭firewalld防火墙、安装iptables工具
systemctl disable firewalld //关闭firewalld服务 systemctl stop firewalld //禁止firewalld开机启动 yum install -y iptables-services //安装iptables-services systemctl enable iptables //让iptables开机启动 systemctl start iptables //开启iptables
查询iptables默认规则
iptables -nvL[root@shu-test ~]# iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 49 3456 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 15 1170 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 35 packets, 3216 bytes) pkts bytes target prot opt in out source destination [root@shu-test ~]#
-nvL选项表示查看规则,-F表示临时清除当前规则,-n表示不针对ip反解析主机名,-L表示列出,-v表示列出信息更加详细;
必须使用service iptables save 保存才行,防火墙规则保存在/etc/sysconfig/iptables中;
netfilter的5个表
filter:用于过滤包,是系统预设表,最常用的表;有INPUT、OUTPUT、FORWARD等三个链;nat:主要用于网络地址转换;有PREROUTING、OUTPUT、POSTROUTING等三个链;
mangle:用来给数据包做标记;
raw:实现不追踪某些数据包;
security:访问控制MAC列表;
netfilter的5个链
PREROUTING:数据包进入路由表之前;INPUT:通过路由表后目的地为本机;
FORWARD:通过路由表,目的地部位本机;
OUTPUT:有本机产生,向外转发;
POSTROUTING:发送到网卡接口之前;
表与链其他详解
http://www.cnblogs.com/metoy/p/4320813.html
iptables基本语法
-A/-D:增加或删除一条规则;-I:插入一条规则;
-F:清空规则;
-Z:清空计数,重新开始计数;
-t:清空指定表,后面必须带参数表名,-t nat;
-n:不针对ip反解析主机名;
-v:更加详细的信息;
-L:列出,与-v一起使用;
-p:表示指定协议,可以是tcp、udp、icmp;
--dport:跟-p一起使用,表示指定目标端口;
--sport:跟-p一起使用,表示指定源端口;
-s:表示指定源ip(可以是一个网段)
-d:表示指定目的ip(可以是一个网段)
-j:后面跟动作,其中ACCEPT表示允许包、DROP表示丢掉包、REJECT表示拒绝包;
-i:表示指定网卡(不常用);
清空规则
iptables -F命令清除
service iptables save
保存到文件,重启生效;
[root@shu-test ~]# iptables -F [root@shu-test ~]# iptables -nvL Chain INPUT (policy ACCEPT 10 packets, 740 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 4 packets, 448 bytes) pkts bytes target prot opt in out source destination [root@shu-test ~]#
清空指定表
iptables -t nat指定清空nat表,-t 参数就是指定表;
iptables -t nat -nvL 清空nat表,并显示规则;
[root@shu-test ~]# iptables -t nat -nvL Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination [root@shu-test ~]#
清空包以及流量计数器归零
iptables -Z[root@shu-test ~]# iptables -F [root@shu-test ~]# iptables -nvL Chain INPUT (policy ACCEPT 10 packets, 724 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 6 packets, 664 bytes) pkts bytes target prot opt in out source destination [root@shu-test ~]#
增加规则
-A:增加规则增加指定源ip以及端口拒绝访问目标ip的某端口
iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.2 --dport 80 -j DROP
将来源ip 192.168.188.1 的1234端口 访问192.168.188.2 的80端口 拒绝掉
[root@shu-test ~]# iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.2 --dport 80 -j DROP [root@shu-test ~]# iptables -nvL Chain INPUT (policy ACCEPT 13 packets, 926 bytes) pkts bytes target prot opt in out source destination 0 0 DROP tcp -- * * 192.168.188.1 192.168.188.2 tcp spt:1234 dpt:80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 6 packets, 808 bytes) pkts bytes target prot opt in out source destination [root@shu-test ~]#
插入规则
-I:插入规则iptables -I INPUT -p tcp --dport 80 -j DROP
将拒绝所有的ip访问本机的80端口
[root@shu-test ~]# iptables -I INPUT -p tcp --dport 80 -j DROP [root@shu-test ~]# iptables -nvL Chain INPUT (policy ACCEPT 5 packets, 388 bytes) pkts bytes target prot opt in out source destination 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 DROP tcp -- * * 192.168.188.1 192.168.188.2 tcp spt:1234 dpt:80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 4 packets, 560 bytes) pkts bytes target prot opt in out source destination [root@shu-test ~]#
删除规则
-D:删除iptables -D INPUT -p tcp --dport 80 -j DROP
删除掉已知道命令的规则
[root@shu-test ~]# iptables -D INPUT -p tcp --dport 80 -j DROP [root@shu-test ~]# iptables -nvL Chain INPUT (policy ACCEPT 5 packets, 388 bytes) pkts bytes target prot opt in out source destination 0 0 DROP tcp -- * * 192.168.188.1 192.168.188.2 tcp spt:1234 dpt:80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 4 packets, 560 bytes) pkts bytes target prot opt in out source destination [root@shu-test ~]#
删除未知命令的规则
iptables -nvL --line-number显示规则的序列号num
[root@shu-test ~]# iptables -nvL --line-number Chain INPUT (policy ACCEPT 85 packets, 6000 bytes) num pkts bytes target prot opt in out source destination 1 0 0 DROP tcp -- * * 192.168.188.1 192.168.188.2 tcp spt:1234 dpt:80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 41 packets, 4400 bytes) num pkts bytes target prot opt in out source destination [root@shu-test ~]#
iptables -D INPUT 1
删除序列号为1的规则
[root@shu-test ~]# iptables -D INPUT 1 [root@shu-test ~]# iptables -nvL --line-number Chain INPUT (policy ACCEPT 6 packets, 428 bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 4 packets, 480 bytes) num pkts bytes target prot opt in out source destination [root@shu-test ~]#
保存与备份规则
保存:
service iptables save
将规则保存到/etc/sysconfig/iptables
备份:
iptables-save > my.ipt
将iptables的规则备份到my.ipt文件中
恢复备份规则
iptables-restore < my.ipt
将文件中的规则恢复到iptables中
相关文章推荐
- 20151208 Linux系统日常管理 (第二部分抓包工具tcpdump,、wireshark;防火墙工具:selinux,iptables)
- 十六、SELINUX、netfilter防火墙以及其iptables工具
- linux日常管理-防火墙netfilter工具-iptables-1
- linux日常管理-防火墙netfilter工具-iptables-3
- linux日常管理-防火墙netfilter工具-iptables-2
- 防火墙 SELinux,netfilter, iptables,firewalld
- Linux网络,防火墙,netfilter,iptables语法
- 王高利:Linux针对Red Hat Enterprise Linux 6.5 的防火墙详细讲解,iptables(netfilter)规则的
- linux学习第二十九篇:linux网络相关,防火墙:firewalld和netfilter,netfilter5表5链介绍,iptables语法
- Linux防火墙工具iptables基础介绍
- Linux里的防火墙:netfilter简介与Iptables的使用(上)
- Linux防火墙:iptables(netfilter)、ipchains、ipfwadm
- Linux 防火墙工具--iptables
- 关闭Linux防火墙(iptables) 及 SELinux
- Linux 防火墙之iptables/netfilter
- Linux下防火墙iptables用法规则详解
- linux系统之网络防火墙(firewalld服务和iptables服务)
- 关闭或开启Linux上的iptables防火墙,SSH端口
- linux 与winscp /SecureCRT 链接关闭防火墙以及selinux问题
- Linux之Iptables防火墙概述~