net25-第14周作业

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

~]# iptables -P INPUT DROP
~]# iptables -P OUTPUT DROP

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

~]#iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
~]#iptables -A INPUT -p tcp -m time --weekdays 1 -j DROP
~]#iptables -A INPUT -p tcp -m string --algo bm --string 'admin' -j DROP
~]#iptables -A INPUT -p tcp -m state --state NEW -m limit --limit 100/second --limit-burst 100 -j ACCEPT
~]#iptables -A OUTPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

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

~]#modprode nf_contract_ftp
~]#iptables -A INPUT -p tcp -m state --state ESTABLISHED,REVALTED  -j ACCEPT
~]#iptables -A INPUT -P tcp -s 172.16.0.0/16 --dport 21 -m state --state NEW -j ACCEPT
~]#iptables -A OUTPUT -p tcp -m state --state ESTABLISHED -m limit --rate 5/minute -j ACCEPT

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

~]#iptables -A INPUT -p tcp -m state --state ESHABLISHED -j ACCEPT
~]#iptables -A INPUT -p tcp -m iprange --src-range 172.16.10.1-172.16.10.100 --dport 22 -m limit --rate 2/minute -m state --state NEW -j ACCEPT
~]#iptables -A OUTPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

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

~]#iptables -I  INPUT -p tcp --tcp-flags ALL ALL --tcp-flags ALL NONE -j DROP

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

~]#iptables -A INPUT -p icmp --icmp-type 8 -j DROP
~]#iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
~]#iptables -A OUTPUT -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
拒绝icmp的广播包
- iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP
拒绝172.16.0.0网段的广播包
- iptables -A clean_in -p tcp ! --syn -m state --state NEW -j DROP
拒绝不是syn第一次请求的new状态的请求
- iptables -A clean_in -p tcp --tcp-flags ALL ALL -j DROP
拒绝tcp-flags都是1的异常包
- iptables -A clean_in -p tcp --tcp-flags ALL NONE -j DROP
拒绝tcp-flags都是0的异常包
- iptables -A clean_in -d 172.16.100.7 -j RETURN
返回调用链


- iptables -A INPUT -d 172.16.100.7 -j clean_in
到达172.16.100.7这台主机的报文都跳到clean_in中进行检查
- iptables -A INPUT  -i lo -j ACCEPT
允许从loopback接口进入的报文
- iptables -A OUTPUT -o lo -j ACCEPT
允许从loopback接口出去的报文

- iptables -A INPUT  -i eth0 -m multiport -p tcp --dports 53,113,135,137,139,445 -j DROP
拒绝从eth0接口进入到53,113,135,137,139,445端口的tcp报文
- iptables -A INPUT  -i eth0 -m multiport -p udp --dports 53,113,135,137,139,445 -j DROP
拒绝从eth0进入的到53,113,135,137,139,445端口的udp报文
- iptables -A INPUT  -i eth0 -p udp --dport 1026 -j DROP
拒绝从eth0进入到1026的udp报文
- iptables -A INPUT  -i eth0 -m multiport -p tcp --dports 1433,4899 -j DROP
拒绝从eth0进入到1433,4899端口的tcp报文

- iptables -A INPUT  -p icmp -m limit --limit 10/second -j ACCEPT
限制icmp报文每秒10个

7、通过tcp_wrapper控制vsftpd仅允许172.16.0.0/255.255.0.0网络中的主机访问,但172.16.100.3除外;对所被被拒绝的访问尝试都记录在/var/log/tcp_wrapper.log日志文件中;

cat /etc/hosts.allow
vsftpd:172.16.EXCEPT 172.16.100.3
cat /etc/hosts.deny
vsftpd:172.16.100.3:spwan echo "`date`,Login attempt from %c to %s" >> /var/log/tcp_wrapper.log

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

(0)
N25_随心N25_随心
上一篇 2017-05-15 15:00
下一篇 2017-05-15 15:01

相关推荐

  • 正则表达式与扩展正则表达式

    基本正则表达式 字符匹配:.:匹配任意单个字符[]:匹配指定范围内的任意单个字符[^]:匹配指定范围外的任意单个字符[-]:匹配[]中指定范围内的任意一个字符,要写成递增POSIX字符类:[:digit:]:匹配任意一个数字字符[:lower:]:匹配小写字母[:upper:]:匹配大写字母[:alpha:]:匹配任意一个字母字符(包括大小写字母)[:aln…

    2017-09-10
  • 用户,组和权限管理 基础命令整理

    安全3A任何一个安全策略都应该有Authentication(认证)、Authentication(授权)、Accouting|Audition(审计)这三个措施。 用户(User)Linux用户是安全3A中的Authentication(认证)措施。用户在登录时,系统会检查用户输入的用户名和密码。如果用户输入的用户名和密码匹配,会根据用户信息给用户分配一个…

    Linux干货 2017-03-16
  • 初识mysql:基本原理和使用

    一、 数据库的出现      1. 数据库是什么: 数据库简单来说,就是存储数据的地方(废话),对于用户认证这个过程来说,当用户登录服务器时, 系统需要把用户的输入的用户认证信息和存储的用户认证信息进行比对,这一过程就需要事先把所有用户的信息存储在一个数据库中,然后逐条进行比对。早起最传统的数据库当然就是文本…

    Linux干货 2015-06-04
  • LVS介绍及工作原理图解

    一、LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,官方站点是:http://www.linuxvirtualserver.org。现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须重新编译内核以支持LVS功能模块,但是从Linux2.…

    2017-12-06
  • Python函数式编程指南(二):函数

    这是此系列的第二篇,试图说明在Python中如何更好地使用函数并引导诸位使用函数式的思维进行思考。掌握并应用这些内容,就已经是至少形似的函数式风格的代码了,至于思维么,这个真靠自己。 作者水平有限,如有错漏之处还请指出;转载请注明原作者和原地址:) 2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: def add(x, y): return…

    Linux干货 2015-03-11
  • 认识shell

    一、认识shell 什么是shell?shell为单词外壳的意思。那么这是谁的外壳?我们知道一个系统中实际工作的是那些硬件,cpu、内存、磁盘等。我们如何调用这些硬件为我们工作?实际上,硬件是由内核kernel控制的。我们可以通过kernel控制硬件,但我们不能直接和内核kernel交流。我们需要一个外壳,这个外壳就是shell来沟通kernel。何为she…

    Linux干货 2015-09-22

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 10:16

    写的很好,复制命令的时候就不要把】#复制进来了