zoukankan      html  css  js  c++  java
  • iptables

    网络安全,先来说一下host.allow,host.deny

    这两个文件在大多数linux系统中都存在,其作用是对主机进行访问控制。

    只在如下情况下才用得上这两个文件:

    • xinet管控的服务
    • 调用了libwrap.so的服务

    如何确定一个服务是否调用了libwrap.so

    使用ldd命令,ldd列出程序依赖的共享库

    iptables练习题

    1.1)设定INPUT为ACCEPT
    1.2)设定OUTPUT为ACCEPT
    1.3)设定FORWARD为ACCEPT
    答案:

    1. iptables -P INPUT ACCEPT
    2. iptables -P OUTPUT ACCEPT
    3. iptables -P FORWARD ACCEPT

    2)定制源地址访问策略
    2.1)接收来自192.168.0.3的IP访问
    2.2)拒绝来自192.168.0.0/24网段的访问

    1. iptables -A INPUT -s 192.168.0.3 -j ACCEPT
    2. iptables -A INPUT -s 192.168.0.0/24 -j DROP


    3)目标地址192.168.0.3的访问给予记录,并查看/var/log/message

    1. iptables -A OUTPUT -d 192.168.0.3 -j LOG
      //测试过正确


    4)定制端口访问策略
    4.1)拒绝任何地址访问本机的111端口
    4.2)拒绝192.168.0.0/24网段的1024-65534的源端口访问SSH

    1. iptables -A INPUT -p tcp -dport 111 -j DROP
    2. iptables -A INPUT -p udp -dport 111 -j DROP
    3. iptables -A INPUT -s 192.168.0.0/24 -p tcp --sport 1024:65534 --dport 22 -j DROP


    5)定制CLIENT端的防火墙访问状态
    5.1)清除所有已经存在的规则;
    5.2)设定预设策略,除了INPUT设为DROP,其他为ACCEPT;
    5.3)开放本机的lo可以自由访问;
    5.4)设定有相关的封包状态可以进入本机;

    1. iptables -F
    2. iptables -X
    3. iptables -Z
    4. iptables -t nat -F
    5. iptables -t nat -X
    6. iptables -t nat -Z
    7. iptables -P INPUT DROP
    8. iptables -A INPUT -o lo -j ACCEPT
    9. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


    6)定制防火墙的MAC地址访问策略
    6.1)清除所有已存的规则
    6.2)将INPUT设为DROP
    6.3)将目标计算机的MAC设为ACCEPT

    1. iptables -F
    2. iptables -Z
    3. iptables -X
    4. iptables -t nat -F
    5. iptables -t nat -Z
    6. iptables -t nat -X
    7. iptables -P INPUT DROP
    8. iptables -A INPUT -m MAC --mac-source ee-ee-ee-ee-ee-ee -j ACCEPT
      //这个没有成功


    7)设定ICMP包,状态为8的被DROP掉

    1. iptables -A INPUT -p icmp --icmp-type 8 -j DROP


    8)定制防火墙的NAT访问策略
    8.1)清除所有策略
    8.2)重置ip_forward为1
    8.3)通过MASQUERADE设定来源于192.168.6.0网段的IP通过192.168.6.217转发出去
    8.4)通过iptables观察转发的数据包

    1. iptables -F
    2. iptables -Z
    3. iptables -X
    4. iptables -t nat -F
    5. iptables -t nat -Z
    6. iptables -t nat -X
    7. echo 1 > /proc/sys/net/ipv4/ip_forward
    8. iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE
    9. iptables -nv
      //这个需要记住


    9)定制防火墙的NAT访问策略
    9.1)清除所有NAT策略
    9.2)重置ip_forward为1
    9.3)通过SNAT设定来源于192.168.6.0网段通过eth1转发出去
    9.4)用iptables观察转发的数据包

    1. echo 1 > /proc/sys/net/ipv4/ip_forward
    2. iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.6.217
    3. iptables -L -vn

    10)端口转发访问策略
    10.1)清除所有NAT策略
    10.2)重置ip_forward为1
    10.3)通过DNAT设定为所有访问192.168.6.217的22端口,都访问到192.168.6.191的22端口
    10.4)设定所有到192.168.6.191的22端口的数据包都通过FORWARD转发
    10.5)设定回应数据包,即通过NAT的POSTROUTING设定,使通讯正常

    1. lue
    2. lue
    3. iptables -t nat -A PREROUTING -s 192.168.6.217 -p tcp --sport 22 -j DNAT --to-destination 192.168.6.191:22
    4. iptables -t filter -A FORWARD -d 192.168.6.191 -p tcp --dport 22 -j ACCEPT
    5. iptables -t nat -I POSTROUTING -p tcp --dport 22 -j MASQUERADE
      //这个没有做,不明白什么意思

    来源:

    http://www.centos.bz/2012/08/iptables-exercises/

  • 相关阅读:
    基线 css
    a与a:link、a:visited、a:hover、a:active
    去除iPhone的默认input样式
    iphone 数字字段颜色兼容问题
    javascript高级程序设计
    a标签 打电话 发邮件
    给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。
    先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符
    一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。
    古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
  • 原文地址:https://www.cnblogs.com/silenceli/p/3415871.html
Copyright © 2011-2022 走看看