马哥教育网络班第22期+第14周作业

week14:
系统的INPUT和OUTPUT默认策略为DROP;
1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;
web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;
2、在工作时间,即周一到周五的8:30-18:00,开放本机的ftp服务给172.16.0.0网络中的主机访问;
数据下载请求的次数每分钟不得超过5个;
3、开放本机的ssh服务给172.16.x.1-172.16.x.100中的主机,x为你的座位号,新请求建立的速率一分钟不得超过2个;
仅允许响应报文通过其服务端口离开本机;
4、拒绝TCP标志位全部为1及全部为0的报文访问本机;
5、允许本机ping别的主机;但不开放别的主机ping本机;
6、判断下述规则的意义:
  # iptables -N 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
  # iptables -A clean_in -p tcp ! --syn -m state --state NEW -j DROP
  # iptables -A clean_in -p tcp --tcp-flags ALL ALL -j DROP
  # iptables -A clean_in -p tcp --tcp-flags ALL NONE -j DROP
  # iptables -A clean_in -d 172.16.100.7 -j RETURN 
  # iptables -A INPUT -d 172.16.100.7 -j clean_in
  # iptables -A INPUT  -i lo -j ACCEPT
  # iptables -A OUTPUT -o lo -j ACCEPT
  # iptables -A INPUT  -i eth0 -m multiport -p tcp --dports 53,113,135,137,139,445 -j DROP
  # iptables -A INPUT  -i eth0 -m multiport -p udp --dports 53,113,135,137,139,445 -j DROP
  # iptables -A INPUT  -i eth0 -p udp --dport 1026 -j DROP
  # iptables -A INPUT  -i eth0 -m multiport -p tcp --dports 1433,4899 -j DROP
  # iptables -A INPUT  -p icmp -m limit --limit 10/second -j ACCEPT
7、通过tcp_wrapper控制vsftpd仅允许172.16.0.0/255.255.0.0网络中的主机访问,但172.16.100.3除外;
对所被被拒绝的访问尝试都记录在/var/log/tcp_wrapper.log日志文件中;

题目1
环境:
    # iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    # iptables -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    # iptables -p INPUT DROP
    # iptables -p OUTPUT DROP
    # iptables -A INPUT  -i eth0 -p tcp --dport 80 -m time --weekdays Mon  -m limit --limit 100/second  
    -m string --algo bm --string "admin" -j DROP
    # iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT

题目2:
    # iptables -A INPUT -s 172.16.0.0 -p tcp -m multiport --dports 20,21 -m time --weekdays 1,2,3,4,5 
    --timestart 08:30:00 --timestop 18:00:00 -m limit --limit-burst 5 -m state --state NEW -j ACCEPT

题目3:
    # iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 172.16.0.1-172.16.0.100 -m limit 
    --limit 2/minute -m state --state NEW -j ACCEPT
    # iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state RELATED -j ACCEPT

题目4:
    # iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
    # iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

题目5:
    # iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
    # iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

题目6:
    (1)新建一条自定义链:clean_in;
    (2)添加规则:丢弃广播包;
    (3)添加规则:丢弃对于172.16.255.255地址的icmp包;
    
    (4)添加规则:丢弃syn标志位不为1的新建立的tcp包;
    (5)添加规则:丢弃tcp标志位全为1的包;
    (6)添加规则:丢弃tcp标志位全为0的包;
    (7)添加规则:对于目的地址为172.16.100.7的包返回到默认规则链;
    
    (8)添加规则:INPUT链中对于目的地址为172.16.100.7的包交由clean_in链进行处理;
    
    (9)添加规则:在INPUT链中允许对于目的地址为回环口的报文;
    (10)添加规则:在OUTPUT链中允许对于来自于回环口的报文;
    
    (11)添加规则:在INPUT链中,流入接口为eth0的tcp报文中拒绝对于53,113,135,137,139,445端口的访问;
    (12)添加规则:在INPUT链中,流入接口为eth0的udp报文中拒绝对于53,113,135,137,139,445端口的访问;
    (13)添加规则:在INPUT链中,流入接口为eth0的udp报文中拒绝对于1026端口的访问;
    (14)添加规则:在INPUT链中,流入接口为eth0的tcp报文中拒绝对于1433,4899端口的访问;
    
    (15)添加规则:在INPUT链中,接收每秒不超过10次的icmp报文请求;

题目7:
    在/etc/hosts.allow文件中,添加:
    vsftpd:172.16.0.0/255.255.0.0 EXCEPT 172.16.100.3
    在/etc/hosts.deny文件中,添加:
    vsftpd:ALL:spawn /bin/echo "`date`: %c try to login %s %d" >> /var/log/tcp_wrapper.log

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

(0)
devondevon
上一篇 2016-12-12
下一篇 2016-12-12

相关推荐

  • Linux基础小模块

    1.基础知识小块:shell 由shell程序的自带命令:即为内置命令(builtin) 独立的可执行程序文件、文件名 :即为外部命令  [root@localhost~]#ls      ~用户当前所在目录  #:命令提示符(管理员帐号root)  $:普通用户   &nbsp…

    Linux干货 2016-08-10
  • N25-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 1.  [root@jizo etc]# ls –d skel 2.  skel 3.  [root@jizo etc]# cd /home 4.  [root@jizo …

    Linux干货 2016-12-26
  • 2016/10/14日作业

    ##操作类: 1、设置自己的终端提示符,要求字符终端登录时: a> 需要带颜色 b> 需要显示当前执行到了第几条命令 c> 显示当前登录终端,主机名和当前时间 a>export  PS1='[\e[034m\u @\h \w \#]\$ \e[0m'  b>export PS1=&#039…

    Linux干货 2016-10-20
  • kickstart 的使用!

    简介 1.什么是kickstart KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,…

    Linux干货 2016-11-03
  • lvs负载集群实验(实现wordpress)

    项目要求: (1) lvs 调度两台 nginx+php-fpmreal-server,采用 dr 模型,调度算法为 rr (2) mariadb 为 real-server 提供数据库,nfs 挂载至 2 台 real-server 提供文件服务 (3) 由于实验环境地址冲突将VIP替换为172.18.60.60 实施步骤: 一、配置NFS+mariadb…

    2017-05-10
  • centos7或centos6中如何编译安装源码程序包

    yum仓库配置、程序的编译安装

    2017-12-02

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-14 10:12

    博客完成的非常好,答案是不是放错了呢?细心,加油!