马哥教育网络第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

相关推荐

  • Linux系统启动流程简介

    centos系统启动流程 本篇仅仅讲解centos5和6 centos7并不适用 Linux系统的组成部分:内核+根文件系统 内核功能: 进程管理 内存管理 网络管理 驱动程序 文件系统 安全功能 有以下目录结构的文件系统可以被识别为根文件系统,但根文件系统本身不存在 rootfs:/bin/ /sbin /etc/ /sys/…

    Linux干货 2016-09-10
  • 网络26期 第一周作业

    1、描述计算机的组成及其功能。 计算机由cpu、存储器(内存)、输入设备(Input)、输出设备(Output),其中cpu中的运算器和控制器是必要的,这拥有以上五个部件就可以组成一个能正常工作的计算机,但是内存无法永久保存数据于是还需要一个硬盘来永久保存数据,硬盘也是存储器的一种但是它却是一个io设备,即至少是输入或者输出设备中的一种.所以我将其分开来说了…

    Linux干货 2017-01-18
  • vim编辑器进阶

    1、vim介绍    vim(Visual Interface Improved)是一款异常强大的文本编辑器,如果大家对它的认识还停留在编辑文件,再退出的阶段的话,那就太对不起vim了,反倒不如用nano来的爽快。不过学习vim刚开始的阶段必然是痛苦的,如果想要一蹴而就,那就是你想多了。所以还需大家结合实际情况,勤加练习,认真揣摩。这里是…

    Linux干货 2016-08-11
  • Shell脚本编程基础

    1编程基础 程序:指令+数据 程序编程分格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 Shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级:编译:高级语言->编译器->目标代码 编译性语言编写的程序通常是需要通过编译器去转换成计算机可以识别的二进制文件,…

    2017-11-27
  • Shell脚本基础练习

    脚本编程能力是作为运维工程师不可或缺的一项基本技能,各种系统的运维,如果完全靠命令行一条一条命令来执行,工作效率可想而知,而脚本却可以将完成一定功能的各个命令依据一定的流程控制,逻辑判断去完成某种功能,提升工作效率。学习shell脚本,光学习理论是远远不够的,所以在学习中要多多练习,下面就看一些关于shell脚本基础的练习 (1) 编写脚本/root/bin…

    2017-08-05
  • linux中rpm命令的妙用

    linux中rpm命令的妙用 CentOS系统上使用rpm命令管理程序包: 安装、卸载、升级、查询、校验、数据库维护 安装:         rpm {-i|–install} [install-options] PACKAGE_FILE…    …

    Linux干货 2016-08-24

评论列表(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