8.学会ip地址伪装之linux中防火墙策略优化

linux中防火墙策略优化

一、火墙介绍

1.netfilter
2.iptables
3.iptables|firewalld

二、火墙管理工具切换

在rhel8中默认使用的是firewalld

firewalld----->iptables #firewalld切换到iptables

dnf install iptables-services -y #安装iptables-services服务
firewall-cmd --list-all		 #查看firewall防火墙具体管理
systemctl disable firewalld      #关闭防火墙firewalld
systemctl mask firewalld         #锁定关闭firewalld
systemctl enable --now iptables  #开启iptables
systemctl status iptables.service#查看服务状态
iptables -L			 #查看iptables防火墙的具体管理
time iptables -L		 
time iptables -nL

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化
iptales -------> fiewalld #iptales切换到fiewalld

dnf install firewalld -y         #安装firewalld
systemctl stop iptables		 #停止iptables服务
systemctl disable iptables	 #关闭iptables服务
systemctl mask iptables		 #锁定关闭iptables
systemctl enable --now firewalld #开启firewalld
firewall-cmd --list-all		 #查看firewall防火墙的具体管理

三、firewalld

1.firewalld的开启

systemctl stop iptables 	#停止iptables服务
systemctl disable iptables #关闭iptables服务
systemctl mask iptables    #锁定iptables服务状态
systemctl unmask firewalld#解锁firewalld服务状态
systemctl enable --now firewalld #打开firewalld服务

8.学会ip地址伪装之linux中防火墙策略优化

2.关于firewalld的域

trusted		##接受所有的网络连接
home		##用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client
work		##工作网络 ssh ipp-client dhcp-client
public		##公共网络 ssh dhcp-client
dmz		##军级网络 ssh
block		##拒绝所有
drop		##丢弃	所有数据全部丢弃无任何回复
internal	##内部网络 ssh mdns ipp-client samba-client dhcp-client
external	##ipv4网络地址伪装转发 sshd

3.关于firewalld的设定原理及数据存储

/etc/firewalld ##火墙配置目录
/lib/firewalld ##火墙模块目录

4.firewalld的管理命令

firewall-cmd --state		##查看火墙状态 
firewall-cmd --get-active-zones ##查看当前火墙中生效的域
firewall-cmd --get-default-zone ##查看默认域
firewall-cmd --list-all		##查看默认域中的火墙策略
firewall-cmd --list-all --zone=work ##查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted  ##设定默认域

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化

firewall-cmd --get-services 	##查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit	##移除服务
firewall-cmd --reload 

firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block ##指定数据来源访问指定域
firewall-cmd --reload 
firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block ##删除自定域中的数据来源

firewall-cmd --permanent --remove-interface=ens11 --zone=public ##删除指定域的网络接口 
firewall-cmd --permanent --add-interface=ens11 --zone=block 	##添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens3 --zone=public ##更改网络接口到指定域

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化
8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化

5.firewalld的高级规则

firewall-cmd --direct --get-all-rules ##查看高级规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.250 -p tcp --dport 22 -j REJECT

6.firewalld中的NAT

SNAT

firewall-cmd --permanent --add-masquerade #打开地址伪装
firewall-cmd --reload #重启服务

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化
DNAT

firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.0.219 #
firewall-cmd --reload #重启服务

四、火墙默认策略

默认策略中的5条链
input ##输入
output ##输出
forward ##转发
postrouting ##路由之后
prerouting ##路由之前

默认的3张表
filter ##经过本机内核的数据(input output forward)
nat ##不经过内核的数据(postrouting,prerouting,input,output)
mangle ##当filter和nat表不够用时使用(input output forward postrouting,prerouting,)

五、iptables 的使用

#火墙策略的永久保存
/etc/sysconfig/iptables ##iptables 策略记录文件
永久保存策略(两种)

iptales-save > /etc/sysconfig/iptables
service iptables save

iptables命令

iptables
	-t		##指定表名称
	-n		##不做解析
	-L		##查看
	-A		##添加策略
	-p		##协议
	--dport		##目的地端口
	-s		##来源
	-j		##动作
		ACCEPT	##允许
		DROP	##丢弃
		REJECT	##拒绝
		SNAT	##源地址转换
		DNAT	##目的地地址转换
	-N		##新建链
	-E		##更改链名称
	-X		##删除链
	-D		##删除规则
	-I		##插入规则
	-R		##更改规则
	-P		##更改默认规则

实际运用

iptables -F #清空策略
iptables -nL #查看策略 -n不做解析 -L列出
cat /etc/sysconfig/iptables
service iptables save #永久保存火墙策略

8.学会ip地址伪装之linux中防火墙策略优化
8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化

iptables -t filter -A INPUT -s 172.25.254.119 -j ACCEPT
iptables -nL #查看策略
iptables -t filter -A INPUT -s 172.25.254.219 -j ACCEPT
iptables -nL #查看策略

8.学会ip地址伪装之linux中防火墙策略优化

iptables -t filter -I INPUT 2 -s 172.25.254.52 -j ACCEPT
iptables -nL #查看策略
iptables -t filter -I INPUT -s 172.25.254.111 -j ACCEPT
iptables -nL #查看策略

8.学会ip地址伪装之linux中防火墙策略优化

iptables -t filter -I INPUT -s 172.25.254.111 -p tcp -j ACCEPT
iptables -nL #查看策略
iptables -t filter -I INPUT -s 172.25.254.111 -p tcp --dport 22 -j ACCEPT
iptables -nL #查看策略
iptables -t filter -I INPUT -s 172.25.254.111 -p tcp --sport 22 -j ACCEPT

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化

iptables -N westos #添加链westos
iptables -nL #查看策略
iptables -E westos WESTOS #修改链名
iptables -nL #查看策略
iptables -X WESTOS #删除链
iptables -nL #查看策略

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化

iptables -R INPUT 1 -p tcp --sport 22 -s 172.25.254.222 -j ACCEPT
iptables -nL #查看策略
iptables -P INPUT DROP
iptables -nL #查看策略
iptables -P INPUT ACCEPT
iptables -nL #查看策略

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化
8.学会ip地址伪装之linux中防火墙策略优化

数据包状态
RELATED ##建立过连接的
ESTABLISHED ##正在连接的
NEW ##新的

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT   #建立过连接的,正在连接的可以通过
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT	           #新的回环接口也可以通过
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT 
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW ! -s 192.168.0.10 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -j REJECT
iptables -A INPUT -j REJECT		#拒绝其他
service iptables  save			#将防火墙规则永久保存

设定允许dns和sshd服务可以通过

iptables -F 		#清空策略
iptables -nL		#查看策略 -n不做解析 -L列出
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT   #建立过连接的,正在连接的可以通过
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT             #新的回环接口也可以通过
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT #53端口可以通过
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT #22端口可以通过
iptables -A INPUT -j REJECT #拒绝其他
iptables -nL

8.学会ip地址伪装之linux中防火墙策略优化

nat表中的dnat snat

在虚拟机westosa(172.25.254.119和172.25.0.119两块网卡)中
snat

iptable -t nat -A POSTROUTING -o ens3 -j SNAT --to-source 172.25.0.119 #源目的地址转换 ip伪装成172.25.0.119
内网访问外网
测试用虚拟机B(172.25.0.219)可以访问真机(172.25.254.19)

8.学会ip地址伪装之linux中防火墙策略优化内核路由功能必须开启

sysctl -a  | grep ip_forward		#查看内核路由是否开启
net.ipv4.ip_forward = 1 			#等于1代表开启,等于0代表未开启
未开启时
vim /etc/sysctl.conf		#编写配置文件,开启内核路由
	net.ipv4.ip_forward = 1 	#添加
退出保存

8.学会ip地址伪装之linux中防火墙策略优化
8.学会ip地址伪装之linux中防火墙策略优化dnat

iptables -t nat -A PREROUTING -i ens3 -j DNAT --to-dest 172.25.0.219  #目标地址转变 外网问内网
测试用真机(172.25.254.19)连接虚拟机A(172.25.254.119),连接成功跳转到虚拟机B(172.25.0.219)

8.学会ip地址伪装之linux中防火墙策略优化8.学会ip地址伪装之linux中防火墙策略优化

上一篇:centos7 firewalld 操作


下一篇:Firewalld防火墙