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

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

  iptables -P INPUT DROP
  iptables -P OUTPUT DROP

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

  iptables -A INPUT -d 192.168.2.16 -p tcp --dport 80 -m time --weekdays Mon  -m limit --limit 100/second
   -m string --algo bm --string "admin" -j DROP
  iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT

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

  iptables -A INPUT -s 172.16.0.0/16 -d 192.168.2.16 -p tcp --dport 21 -m time --timestart 08:30 --timest
  op 18:00 --weekdays Mon,Tue,Wed,Thu,Fri -m limit --limit 5/m --limit-burst 5 -j ACCEPT
  iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT

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

  iptables -A INPUT -d 192.168.2.16 -p tcp --dport 22 -m iprange --src-range 172.16.0.1-172.16.0.100 -m l
  imit --limit 2/m --limit-burst 2 -j ACCEPT
  iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT

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

  iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
  iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

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

  iptables -A OUTPUT -s 192.168.2.16 -p icmp --icmp-type 8 -j ACCEPT
  iptables -A INPUT -d 192.168.2.16 -p icmp --icmp-type 0 -j ACCEPT

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
  丢弃172.16网络广播报文

  # 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
  丢弃标志位全1的报文

  # iptables -A clean_in -p tcp --tcp-flags ALL NONE -j DROP
  丢弃标志位全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
  允许报文从回环口进入

  # 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
  丢弃从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
  丢弃从eth0口进入,udp协议目标端口为:1026 报文

  # iptables -A INPUT  -i eth0 -m multiport -p tcp --dports 1433,4899 -j DROP
  丢弃从eth0口进入,udp协议目标端口为:1433,4899 报文

  # iptables -A INPUT  -p icmp -m limit --limit 10/second -j ACCEPT
  允许速率为每秒10次icmp报文进入本机

7、通过tcp_wrapper控制vsftpd仅允许172.16.0.0/255.255.0.0网络中的主机访问,但172.16.100.3除外;对所被被拒绝的访问尝试都记录在/var/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

原创文章,作者:N22_上海_长清,如若转载,请注明出处:http://www.178linux.com/61853

(0)
N22_上海_长清N22_上海_长清
上一篇 2016-12-05 14:03
下一篇 2016-12-05 14:14

相关推荐

  • 初识Linux基础

    一:计算机的组成及其基本功能 计算机主要由五大基础部件组成:控制器,运算器,存储器,输入设备,输出设备。 1、控制器:计算机的核心组件,协调各程序的运行,对计算机的各项资源进行控制分配; 2、运算器:计算机实现算术运算以及逻辑运算的部件; 3、存储器:计算机用来存放数据和程序的基本部件,存储器由若干存储单元组成,每个存储单元都有一个             …

    Linux干货 2018-03-04
  • N22-第九周作业

    第九周    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;    #!/bin/bash    #    decl…

    Linux干货 2016-10-24
  • 马哥教育网络班20期+第二周课程练习

    linux 中一切皆文件,我们所做的一切都是和文件打交道。   文件分为两部分:元数据和数据           元数据: 即真实数据的属性。可用 stat  命令查看       &nbs…

    Linux干货 2016-06-23
  • 在CentOS中获取命令帮助

    在CentOS中获取命令帮助    在使用和学习CentOS系统中,当我们遇上不熟悉的命令却又需要了解它的详细用法的时候,我们需要获取帮助。除了借助他人和搜索引擎之外,自己通过查看系统帮助文档来解决问题是很重要的。下面就来介绍如何获取帮助以及简单的解决思路:    一、如何获取命令帮助 Linux提供多层次的命令帮助:…

    Linux干货 2016-07-27
  • RPM的使用

    概述 RPM 是 Red Hat PackageManager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用; RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和W…

    Linux干货 2016-02-14
  • 用户和组的管理

    前言 服务器最主要的工作是提供可靠的服务,提供服务就必须对外开放自己的网络,可靠就需要一定的机制来保证了。Linux中有一个3A的机制,首先是认证,就是我们经常听到的一句话,怎么证明你就是你;其次是授权,管理一个服务器,每个管理员都有自己的职责,那么我们就只分配对应的权限给特定的人,这样就可以明确事故的责任,从源头甩锅;最后是审计,总有一些黑客可以通过各种手…

    Linux干货 2016-10-22

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-07 23:01

    前面事列最好能有一个列子做为演示,这样才能知道具体为什么。