马哥教育网络第21期-第十四周课程练习

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

iptables -P INPUT DROP
iptables -P OUTPUT DROP

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

[root@node3 ~]# iptables -A INPUT -d 192.168.1.116 -p tcp --dport 80 -m time --weekdays Mon -m limit --limit 100/second
 -m string --algo kmp --string 'admin' -j DROP
[root@node3 ~]# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
[root@node3 ~]# iptables -L -v
Chain INPUT (policy ACCEPT 56 packets, 3716 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       tcp  --  any    any     anywhere             node3               tcp dpt:http TIME on Mon limit: avg 100/sec burst 5 STRING match "admin" ALGO name kmp TO 65535 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   31  2728 ACCEPT     all  --  any    any     anywhere             anywhere            state ESTABLISHED 
[root@node3 ~]# 

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

[root@node3 ~]# iptables -A INPUT -d 172.16.0.0 -p tcp -m multiport --dports 20,21 -m time --weekdays 1,2,3,4,5 --timestart 
8:30 --timestop 18:30 -m limit --limit 5/minute -j ACCEPT
[root@node3 ~]# iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
[root@node3 ~]# iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       tcp  --  any    any     anywhere             node3               tcp dpt:http TIME on Mon limit: avg 100/sec burst 5 STRING match "admin" ALGO name kmp TO 65535 
    0     0 ACCEPT     tcp  --  any    any     anywhere             172.16.0.0          multiport dports ftp-data,ftp TIME from 08:30:00 to 18:30:00 on Mon,Tue,Wed,Thu,Fri limit: avg 5/min burst 5 
   18  1260 ACCEPT     all  --  any    any     anywhere             anywhere            state ESTABLISHED 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  721 75904 ACCEPT     all  --  any    any     anywhere             anywhere            state ESTABLISHED 
[root@node3 ~]# 

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

[root@node3 ~]# iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 172.16.1.1-172.16.1.100 -m limit --limit
 2/minute -j ACCEPT
[root@node3 ~]# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT

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

[root@node3 ~]# iptables -A INPUT -d 192.168.1.116 -p tcp --tcp-flags ALL ALL -j DROP
[root@node3 ~]# iptables -A INPUT -d 192.168.1.116 -p tcp --tcp-flags ALL NONE -j DROP

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

[root@node3 ~]# iptables -A INPUT -d 192.168.1.116 -p icmp --icmp-type 0 -j ACCEPT
[root@node3 ~]# iptables -A INPUT -s 192.168.1.116 -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.255.255的包
  # iptables -A clean_in -p tcp ! --syn -m state --state NEW -j DROP
  添加新规则,丢弃新的规则链上syn标志位为1的包
  # iptables -A clean_in -p tcp --tcp-flags ALL ALL -j DROP
  添加新规则,丢弃tcp协议标志位全为1的包
  # iptables -A clean_in -p tcp --tcp-flags ALL NONE -j DROP
  添加新规则,丢弃tcp协议标志位全为0的包
  # iptables -A clean_in -d 172.16.100.7 -j RETURN 
  添加新规则,将来自172.16.100.7的包返回到主链

  # iptables -A INPUT -d 172.16.100.7 -j clean_in
  添加新规则,将172.16.100.7的包交给clean_in处理
    
  # iptables -A INPUT  -i lo -j ACCEPT
  添加新规则,指定流入报文接口为lo
  # iptables -A OUTPUT -o lo -j ACCEPT
  添加新规则,指定流出报文接口为lo


  # iptables -A INPUT  -i eth0 -m multiport -p tcp --dports 53,113,135,137,139,445 -j DROP
  丢弃流入报文接口为eth0,协议为tcp,端口号为53,113,135,137,139,445的包
  # iptables -A INPUT  -i eth0 -m multiport -p udp --dports 53,113,135,137,139,445 -j DROP
  丢弃流入报文接口为eth0,协议为udp,端口号为53,113,135,137,139,445的包
  # iptables -A INPUT  -i eth0 -p udp --dport 1026 -j DROP
  丢弃流入报文接口为eht0,协议为udp,端口号为1026的包
  # iptables -A INPUT  -i eth0 -m multiport -p tcp --dports 1433,4899 -j DROP
    丢弃流入报文接口为eth0,协议为tcp,端口号为1433,4899的包
  # iptables -A INPUT  -p icmp -m limit --limit 10/second -j ACCEPT
  允许ping命令速率为每秒10次
7、通过tcp_wrapper控制vsftpd仅允许172.16.0.0/255.255.0.0网络中的主机访问,但172.16.100.3除外;对所被被拒绝的访问尝试都记录在/va
r/log/tcp_wrapper.log日志文件中;

vim /etc/hosts.allow
vsftpd:172.16.0.0/255.255.0.0 EXCEPT 172.16.100.3
vim /etc/hosts.deny
vsftpd:ALL :spawn /bin/echo `date` login attempt from %c to %s, %d >> /var/log/tcp_wrapper.log

以上

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

(0)
N21_619463772N21_619463772
上一篇 2016-12-26 10:32
下一篇 2016-12-26 10:32

相关推荐

  • corosync+pacemaker+pcs 使用ansible配置高可用LAMP构架

    前言: 这篇博客的实验主要是配置两个节点基于corosync + pacemaker的高考用lamp, 是我搞得最痛苦的一次,并且结果还不稳定。主要问题是corosync 1.x + pacemaker 时,如果把pacemaker当成插件使用,尝试很多次都不成功,后来把pacemaker当成半独立的服务进行配置。 但是如此一来crm就没办法进行资源配置,只…

    Linux干货 2016-01-27
  • 文件查找工具locate和find的使用分析

    文件查找工具locate和find的使用分析 不管是在windows系统中还是在Linux系统中,我们经常会一些文件进行搜索查找,而在Linux系统中经常用到的搜索工具有locate和find,这两种搜索工具的工具原理和用法都不相同,一下将这对这两种搜索工具的使用进行分析。 1、locate工具的工作原理是对/var/lib/mlocate/mlocat.d…

    Linux干货 2016-08-18
  • 软件包管理(rpm篇)

    软件包管理(rpm篇)静态和动态链接    链接主要作用是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确地衔接,分为静态链接和动态链接    静态链接        把程序对应的依赖库复制一份到包&nbsp…

    Linux干货 2017-04-24
  • 任务计划

                          Linux任务计划 一、任务计划     (1)未来的某一个时间点执行一次某任务:at、batch     (2)周期性运行某…

    2017-05-14
  • grep与正则表达式

    文本处理中比较强悍的三个工具是:grep、sed、awk。 其中grep主要作用是对于用户给出“模式”对文本逐行进行匹配检查,然后进行打印。   模式:由正则表达式字符及文本字符编写的过滤条件 格式:grep [选项] [正则表达式字符]  文件  常用的选项:     -v:反向查找,显示没有被匹配的的行 …

    Linux干货 2016-08-08
  • 在centos6.9上实现软RAID

    在centos6.9上实现软RAID 什么是RAID?     RAID,全称Redundant Arrays of Inexpensive(Independent)Disks。简单翻译叫磁盘阵列。    通俗一点讲就是多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提…

    Linux干货 2017-08-12

评论列表(1条)

  • Nelda
    Nelda 2017-04-24 03:57

    My Mandarin is limited to about 10 wohdr/psrases. I have a personal assistant and that spoils me! It’s a fascinating place, full of lots of places to see… the winter was AWFUL and almost did me in, but the sun came out a few days ago and the flowers are blooming and life is semi back to normal