防火墙练习

简介:

一、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环回地址,允许访问本机





     本文转自little_ding 51CTO博客,原文链接:http://blog.51cto.com/12496428/1969318,如需转载请自行联系原作者





相关文章
|
安全 网络协议 Shell
防火墙练习实验
防火墙练习实验
防火墙练习实验
|
Shell 网络安全
防火墙练习实验
防火墙练习实验
防火墙练习实验
|
网络协议 Shell 网络安全
防火墙原理讲解——练习实验
防火墙原理讲解——练习实验
防火墙原理讲解——练习实验
|
4月前
|
运维 网络协议 安全
小白带你学习linux的防火墙
小白带你学习linux的防火墙
149 1
|
6月前
|
安全 Linux 网络安全
Linux一些防火墙实战知识
本文介绍了如何在Linux中设置防火墙和开放端口,以提高服务器的安全性。首先,使用firewalld作为防火墙软件包,并确保firewalld服务正在运行。然后,通过添加服务来定义允许的服务端口,可以使用firewall-cmd命令查看当前已定义的服务,并使用firewall-cmd命令添加服务。添加规则后,需要重新加载firewalld配置以使更改生效。在某些情况下,需要打开特定的端口,例如HTTP端口80和HTTPS端口443。可以使用firewall-cmd命令打开端口,并将规则添加到相应的区域。。。确实都是工作中日常中会用到的一些命令
|
6月前
|
安全 Linux 网络安全
百度搜索:蓝易云【linux iptables安全技术与防火墙】
请注意,iptables的具体使用方法和配置选项可能会有所不同,取决于Linux发行版和版本。管理员应该参考相关文档和资源,以了解适用于其特定环境的最佳实践和配置方法。
467 0
百度搜索:蓝易云【linux iptables安全技术与防火墙】
|
1月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
138 0
|
2天前
|
Linux 网络安全 数据安全/隐私保护
Linux 如何关闭防火墙(开启管理员权限)
Linux 如何关闭防火墙(开启管理员权限)
6 0
|
10天前
|
Linux 网络安全
linux如何关闭防火墙
记住,关闭防火墙可能会降低系统安全性,请在真正需要的情况下关闭,并确保你在网络环境中采取其他安全措施。
16 0