马哥教育网络班21期+第14周课程练习

系统的INPUT和OUTPUT默认策略为DROP;

1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;

INPUT链

# iptables -I INPUT 1 -p tcp --dport 80 -m connlimit ! --connlimit-above 100 -m time ! --weekdays Mon -j ACCEPT

OUTPUT链

# iptables  -I OUTPUT 1 -p tcp --sport 80 -m string --string "admin" --algo kmp -j REJECT

#iptables -I OUTPUT 2 -m state --state ESTABLISHED,RELATED -j ACCEPT

2、在工作时间,即周一到周五的8:30-18:00,开放本机的ftp服务给172.16.0.0网络中的主机访问;数据下载请求的次数每分钟不得超过5个;

INPUT链

# iptables -I INPUT 1 -s 172.16.0.0/16 -p tcp --dport 21 -m connlimit ! --connlimit-above 5 -j ACCEPT

OUTPUT链

# iptables -I OUTPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

3、开放本机的ssh服务给172.16.x.1-172.16.x.100中的主机,x为你的座位号,新请求建立的速率一分钟不得超过2个;仅允许响应报文通过其服务器端口离开本机;

INPUT链

# iptables -I INPUT 1 -p tcp --dport 22 -m iprange --src-range 172.16.53.1-172.16.53.100 -mlimit --limit 2/minute -j ACCEPT

OUTPUT链

# iptables -I OUTPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

4、拒绝tcp标志位全部为1及全部为0的报文访问本机;

INPUT链

# iptables -I INPUT 1 -p tcp --tcp-flags ALL ALL -j DROP
# iptables -I INPUT 2 -p tcp --tcp-flags ALL -j DROP

5、允许本机ping别的主机;但不开放别的主机ping本机;

INPUT链

# iptables -I INPUT 1 -p icmp --icmp-type 0 -j ACCEPT

OUTPUT链

# iptables -I OUTPUT 1 -p icmp --icmp--type 8 -j ACCEPT

6、判断下列规则的意义:

# iptables -N clean_in
新建一条自定义链“clean_in”
# iptables -A clean_in -d 255.255.255.255 -p icmp -j DROP
# iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP 
丢弃所有同一物理网段或子网及172.16网络的icmp

# iptables -A clean_in -p tcp ! --syn -m state --state NEW -j DROP 
丢弃tcp标记除syn以外所有连接状态为新建的数据包
# iptables -A clean_in -p tcp --tcp-flags ALL ALL -j DROP
# iptables -A clean_in -p tcp --tcp-flags ALL NONE -j DROP
防止tcp NULL扫描
# iptables -A clean_in -d 172.16.100.7 -j RETURN
停止执行当前链中目标地址为172.16.100.7的后续Rules,并返回到调用链中

原创文章,作者:Jeason,如若转载,请注明出处:http://www.178linux.com/58302

赞 (0)
JeasonJeason
上一篇 2016-11-14 08:28
下一篇 2016-11-14 08:28

相关推荐

  • gawk基础

    gawk程序是Unix中原始awk程序的GNU版本。gawk程序让流编辑器迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令。在gawk编程语言中,可以完成下面的事情: (1)定义变量来保存数据; (2)使用算数和字符串操作符来处理数据; (3)使用结构化编程概念(比如if-then语句和循环)来为数据处理增加处理逻辑; (4)通过提取数据文件中的数…

    Linux干货 2017-05-22
  • 第一天,学习

    好好学习,天天向上

    Linux干货 2016-08-08
  • SELinux介绍

    SELinux介绍 SELinux: Secure Enhanced Linux, 是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的 Linux的一个强制访问控制的安全模块。 2000年以GNU GPL发布, Linux内核2.6版本后集成在内核中D…

    Linux干货 2016-10-08
  • 26期全程班-第一周博客作业

    1、描述计算机的组成与功能。 计算机由以下五大单元组成: 一:CPU的算法计算和逻辑判断单元; 二:CPU的控制单元;协调各设备协同工作。 三:内存:RAM(random accace memory)随机读取内存;数据处理的必经路段。 四:输入设备:键盘、鼠标等;负责数据的输入。 五:输出设备:屏幕、终端、文件、硬盘等;负责数据的输出 2、按系列罗列Linu…

    Linux干货 2016-12-30
  • 学习宣言

    努力不只是为了更好的生活,更是为了证明自己! 只有逼自己一把,才能知道自己是可以做到的! 路漫漫其修远兮,吾将上下而求索。

    Linux干货 2016-12-26
  • Linux网络管理&脚本编程之执行流程、循环

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥(Bridge):是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switc…

    Linux干货 2016-11-14

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-16 15:48

    写的很好, 期待你以后的佳作