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
下一篇 2017-05-15

相关推荐

  • 从“黑掉Github”学Web安全开发

    Egor Homakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bug,他在他的这篇blog——《How I hacked Github again》(墙)说明了这5个安全bug以及他把github…

    Linux干货 2016-08-15
  • 日志收集工具EFK之fluent部署手稿

    Edit EFK fluent部署安装 1. 环境介绍 Centos 6.5 64bit 2. 安装 td-agent介绍 fluent 考虑到灵活可扩展性,使用Ruby编写,部分功能考虑性能使用C语言编写。普通用户安装操作Ruby daemon还是有一定难度的。考虑到flunt的上手难度, fluent专门发布了稳定发布包,就也是所谓的td-agent. …

    Linux干货 2016-03-24
  • shell脚本语言中的选择执行

    shell脚本语言中的选择执行 概述 程序执行过程分为顺序执行、选择执行和循环执行。顺序执行是指程序按照步骤一步一步地运行。选择执行是指程序根据特定条件选择两项或者多项中的一项运行。循环执行是指程序根据特定条件重复执行直到某个节点结束,继续运行其他步骤。本篇文章从判断条件和条件判断式简要说明shell脚本语言中程序选择执行的用法。 shell脚本中的判断条件…

    Linux干货 2017-04-17
  • cp、chmod、chown、grep及正则表达式练习

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。   编辑/etc/group文件,添加组hadoop。使用vim指令编辑/etc/group文件,进入末行模式(输入冒号),然后输入$回车,将光标跳至末行,然后按下o(小写)在最后一行下面输入新的组:hadoop:x:…

    Linux干货 2016-11-21
  • 一切皆文件——Linux基本命令(1)

    1.一切皆文件 在dev下有很多硬件的文件 sr0是光驱 console是终端,也划为一个文件   2.查看终端   3.两个终端发信 首先右键选择Clone Session,新客隆了一个centos6 分别使用tty命令查看终端名。 分别为0和1 通过命令:echo “想发送的信息“ > 终端名 即可发送 在0中输入命令: 在1中…

    Linux干货 2017-07-13
  • 推荐-LVS原理详解

    LVS原理详解 LVS原理详解 LVS简介 LVS结构与工作原理 一.LVS的结构 二.LVS内核模型 三.LVS的包转发模型 1.NAT模型: 2.DR模型: 3.TUN模型: 四.LVS的调度算法 LVS的调度算法分为静态与动态两类。 1.静态算法(4种):只根据算法进行调度 而不考虑后端服务器的实际连接情况和负载情况 2.动态算法(6种):前端的调度器…

    Linux干货 2016-03-27

评论列表(1条)

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

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