防火墙练习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防火墙练习相关的知识,希望对你有一定的参考价值。
一、iptables主机防火墙练习:
1.INPUT和OUTPUT默认策略为DROP;
答:
# iptables -P INPUT DROP
# iptables -P OUTPUT DROP
# iptables -A INPUT -j DROP
# iptables -A OUTPUT -j DRO
2.限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;
答:
# iptables -I INPUT -s 172.16.72.1 -m time ! --weekdays Mon -m limit --limit 100/second -m string ! --string "admin" -o little -j ACCEPT
3.在工作时间,即周一到周五的8:30-18:00,开放本机的samba服务共享的目录给172.16.0.0/16网络中的主机访问;数据访问次数每分钟不得超过10个;
答:
# iptables -I INPUT -s 172.16.0.0/16 -m time --timestart 08:30:00 --timestop 18:00:00 ! --weekdays Sat,Sun -m limit --limit 10/Minute -j ACCEPT
# setsebool -P samba_enable_home_dirs=1
4.开放本机的ssh服务给172.16.0.1-172.16.0.10中的主机,新请求建立的速率一分钟不得超过2个;仅允许响应报文通过其服务端口离开本机;
答:
iptables -I INPUT -p tcp --dport 22 -m iprange --src-range 172.16.0.1-172.16.0.10 -m limit --limit 2/Minute -o little -m recent --set --name SSH
5.拒绝TCP标志位全部为1及全部为0的报文访问本机;
答:
# iptables -I INPUT -p tcp --tcp-flags ALL NONE -j DROP
6.允许本机ping别的主机;但不开放别的主机ping本机;
答:
二、iptables网络防火墙练习:
1.给一台Linux安装三块网卡,提供三个网络接口;
2.内网中用户主机所在的网段为172.18.0.0/16,所有服务器所在的网段为172.16.0.0/16,外部网络为192.168.100.0/24网段;服务器所在络中,可以使用一台服务器实现多个服务,也可以使用多台服务器分别实现各个服务,可自行根据你的计算机的性能来决定;并且为内部的所有主机和服务器指定正确的网关;外部主机无需指定网关;
3.要求:
1) 内网用户可以访问所有服务器提供的所有服务(samba,ftp,dns,web(http)),但只有172.18.18.18主机能够使用ssh和telnet协议访问所有内网服务器;
2) 内网用户可以访问外部网络;
3) 内网服务器不得主动访问任何其他网络中的任何主机,只能被访问;
4) 外网用户只能访问内网服务器的web服务;
答:
主机1:172.18.0.2
主机2:172.18.18.18
内网:
服务器网卡:172.16.72.6
内网网卡: 172.18.0.1
外网网卡: 192.168.100.1
外网:
外网主机外网网卡:192.168.100.2
内外网正常通信:
# ip route add default via 172.18.0.1
# ip route add default via 192.168.100.1
# sysctl -w net.ipv4.ip_forward=1
# sysctl -p
# iptables -A FORWARD -j DROP
# iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -I FORWARD 3 -s 172.18.0.0/16 -d 192.168.100.0/24 -p tcp -m multiport --dports 20,21,22,80 -m state --state NEW -j ACCEPT
# curl http://192.168.100.2
# iptables -I FORWARD 4 -s 172.18.0.0/16 -d 192.168.100.0/24 -m state --state NEW -j ACCEPT
# iptables -I INPUT -s 172.18.0.0/16 -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -I INPUT 2 -s 172.18.0.0/16 -p tcp -m multiport --dports 20,21,22,80,139,445 -m state --state NEW -j ACCEPT
# iptables -I INPUT 3 -s 172.18.0.0/16 -p udp -m multiport --dports 137,138 -m state --state NEW -j ACCEPT
# iptables -A INPUT -j DROP
# modprobe nf_conntrack_ftp
# curl http://172.16.72.6
# ftp 172.16.72.6
# smbclient -L 172.16.72.6 -U little
# iptables -R INPUT 3 -s 172.18.0.0/16 -p udp -m multiport --dports 53,137,138 -m state --state NEW -j ACCEPT
# iptables -R INPUT 6 -p tcp -m multiport --dports 22,23 -s 172.18.18.18 -m state --state NEW -j ACCEPT
# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -j DROP
# iptables -I INPUT 2 -s 192.168.100.0/24 -m state --state ESTABLISHED -j ACCEPT
# iptables -I INPUT 3 -s 192.168.100.0/24 -p tcp --dport 80 -m state --state NEW -j ACCEPT
# curl http://172.16.72.6
三、判断下述规则的意义:
# iptables -N clean_in
//新建了一条自定义规则链clean_in
# iptables -A clean_in -d 255.255.255.255 -p icmp -j DROP
//在clean_in链尾部追加一条规则,查看目标IP地址255.255.255.255是否匹配,查看封装协议为icmp是否匹配,默认的规则或最后一条规则拒绝所有主机访问。
# iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP
//在clean_in链尾部追加一条规则,查看目标IP地址172.16.255.255是否匹配,查看封装协议为icmp是否匹配,默认的规则或最后一条规则拒绝所有主机访问。
# iptables -A clean_in -p tcp ! --syn -m state --state NEW -j DROP
//在clean_in链尾部追加一条规则,查看封装协议为tcp是否匹配,对新连接状态进行匹配,默认规则或最后一条规则拒绝所有主机访问
# iptables -A clean_in -p tcp --tcp-flags ALL ALL -j DROP
//在clean_in链尾部追加一条规则,查看封装协议为tcp是否匹配,拒绝TCP标志位全部为1的报文访问本机,默认规则或最后一条规则拒绝所有主机访问
# iptables -A clean_in -p tcp --tcp-flags ALL NONE -j DROP
//在clean_in链尾部追加一条规则,查看封装协议为tcp是否匹配,拒绝TCP标志位全部为1及全部为0的报文访问本机,默认规则或最后一条规则拒绝所有主机访问
# iptables -A clean_in -d 172.16.100.7 -j RETURN
//在clean_in链尾部追加一条规则,查看目的IP地址172.16.100.7是否匹配,返回访问本机
# iptables -A INPUT -d 172.16.100.7 -j clean_in
//追加一条INPUT链,目的IP地址为172.16.100.7,到目标链clean_in
# iptables -A INPUT -i lo -j ACCEPT
//追加一条INPUT链,数据报文入栈接口为lo环回地址,允许访问本机
# iptables -A OUTPUT -o lo -j ACCEPT
//追加一条OUTPUT链,数据报文出栈接口为lo环回地址,允许访问本机
以上是关于防火墙练习的主要内容,如果未能解决你的问题,请参考以下文章