网络安全,先来说一下host.allow,host.deny
这两个文件在大多数linux系统中都存在,其作用是对主机进行访问控制。
只在如下情况下才用得上这两个文件:
- xinet管控的服务
- 调用了libwrap.so的服务
如何确定一个服务是否调用了libwrap.so
使用ldd命令,ldd列出程序依赖的共享库
iptables练习题
1.1)设定INPUT为ACCEPT
1.2)设定OUTPUT为ACCEPT
1.3)设定FORWARD为ACCEPT
答案:
- iptables -P INPUT ACCEPT
- iptables -P OUTPUT ACCEPT
- iptables -P FORWARD ACCEPT
2)定制源地址访问策略
2.1)接收来自192.168.0.3的IP访问
2.2)拒绝来自192.168.0.0/24网段的访问
- iptables -A INPUT -s 192.168.0.3 -j ACCEPT
- iptables -A INPUT -s 192.168.0.0/24 -j DROP
3)目标地址192.168.0.3的访问给予记录,并查看/var/log/message
- iptables -A OUTPUT -d 192.168.0.3 -j LOG
//测试过正确
4)定制端口访问策略
4.1)拒绝任何地址访问本机的111端口
4.2)拒绝192.168.0.0/24网段的1024-65534的源端口访问SSH
- iptables -A INPUT -p tcp -dport 111 -j DROP
- iptables -A INPUT -p udp -dport 111 -j DROP
- iptables -A INPUT -s 192.168.0.0/24 -p tcp --sport 1024:65534 --dport 22 -j DROP
5)定制CLIENT端的防火墙访问状态
5.1)清除所有已经存在的规则;
5.2)设定预设策略,除了INPUT设为DROP,其他为ACCEPT;
5.3)开放本机的lo可以自由访问;
5.4)设定有相关的封包状态可以进入本机;
- iptables -F
- iptables -X
- iptables -Z
- iptables -t nat -F
- iptables -t nat -X
- iptables -t nat -Z
- iptables -P INPUT DROP
- iptables -A INPUT -o lo -j ACCEPT
- iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
6)定制防火墙的MAC地址访问策略
6.1)清除所有已存的规则
6.2)将INPUT设为DROP
6.3)将目标计算机的MAC设为ACCEPT
- iptables -F
- iptables -Z
- iptables -X
- iptables -t nat -F
- iptables -t nat -Z
- iptables -t nat -X
- iptables -P INPUT DROP
- iptables -A INPUT -m MAC --mac-source ee-ee-ee-ee-ee-ee -j ACCEPT
//这个没有成功
7)设定ICMP包,状态为8的被DROP掉
- iptables -A INPUT -p icmp --icmp-type 8 -j DROP
8)定制防火墙的NAT访问策略
8.1)清除所有策略
8.2)重置ip_forward为1
8.3)通过MASQUERADE设定来源于192.168.6.0网段的IP通过192.168.6.217转发出去
8.4)通过iptables观察转发的数据包
- iptables -F
- iptables -Z
- iptables -X
- iptables -t nat -F
- iptables -t nat -Z
- iptables -t nat -X
- echo 1 > /proc/sys/net/ipv4/ip_forward
- iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE
- iptables -nv
//这个需要记住
9)定制防火墙的NAT访问策略
9.1)清除所有NAT策略
9.2)重置ip_forward为1
9.3)通过SNAT设定来源于192.168.6.0网段通过eth1转发出去
9.4)用iptables观察转发的数据包
- 略
- echo 1 > /proc/sys/net/ipv4/ip_forward
- iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.6.217
- iptables -L -vn
10)端口转发访问策略
10.1)清除所有NAT策略
10.2)重置ip_forward为1
10.3)通过DNAT设定为所有访问192.168.6.217的22端口,都访问到192.168.6.191的22端口
10.4)设定所有到192.168.6.191的22端口的数据包都通过FORWARD转发
10.5)设定回应数据包,即通过NAT的POSTROUTING设定,使通讯正常
- lue
- lue
- iptables -t nat -A PREROUTING -s 192.168.6.217 -p tcp --sport 22 -j DNAT --to-destination 192.168.6.191:22
- iptables -t filter -A FORWARD -d 192.168.6.191 -p tcp --dport 22 -j ACCEPT
- iptables -t nat -I POSTROUTING -p tcp --dport 22 -j MASQUERADE
//这个没有做,不明白什么意思
来源: