zoukankan      html  css  js  c++  java
  • 防火墙 firewall iptables

    firewalld


     

     FirewallD 使用服务service 和区域zone来代替 iptables 的规则rule和链chain,默认情况下,有以下的区域zone可用:

    1. drop – 丢弃所有传入的网络数据包并且无回应,只有传出网络连接可用。
    2. block — 拒绝所有传入网络数据包并回应一条主机禁止的 ICMP 消息,只有传出网络连接可用。
    3. public — 只接受被选择的传入网络连接,用于公共区域。
    4. external — 用于启用了地址伪装的外部网络,只接受选定的传入网络连接。
    5. dmz — DMZ 隔离区,外部受限地访问内部网络,只接受选定的传入网络连接。
    6. work — 对于处在你工作区域内的计算机,只接受被选择的传入网络连接。
    7. home — 对于处在你家庭区域内的计算机,只接受被选择的传入网络连接。
    8. internal — 对于处在你内部网络的计算机,只接受被选择的传入网络连接。
    9. trusted — 所有网络连接都接受。

       列出默认的区

    firewall-cmd --get-default-zone
    public
    

      改变默认的区

     firewall-cmd --set-default-zone=dmz

       为 dmz 区添加持久性的 HTTP 和 HTTPS 规则:

     firewall-cmd --zone=dmz --add-service=http --permanent

    firewall-cmd --zone=dmz --add-service=https --permanent

      为 dmz 区添加持久性的 HTTP 和 HTTPS 规则:

    firewall-cmd --zone=dmz --add-service=http --permanent
    
    firewall-cmd --zone=dmz --add-service=https --permanent  

      开启端口 25 (SMTP) 和端口 465 (SMTPS) :

    firewall-cmd --zone=dmz --add-service=smtp --permanent

    firewall-cmd --zone=dmz --add-service=smtps --permanent

      开启 IMAP、IMAPS、POP3 和 POP3S 端口:

    firewall-cmd --zone=dmz --add-service=imap --permanent
    firewall-cmd --zone=dmz --add-service=imaps --permanent
    firewall-cmd --zone=dmz --add-service=pop3 --permanent
    firewall-cmd --zone=dmz --add-service=pop3s --permanent
    

      因为将 SSH 端口改到了 7022,所以要移除 ssh 服务(端口 22),开启端口 7022:

    firewall-cmd --remove-service=ssh --permanent
    firewall-cmd --add-port=7022/tcp --permanent

      重新加载防火墙,列出规则

    firewall-cmd --reload
    
    firewall-cmd –list-all

    Via :  CentOS 7 上的 FirewallD 简明指南

    iptables


     

    用如下命令备份及恢复配置文件:

    /sbin/iptables-save > /root/iptables-works-`date +%F`

    /sbin/iptables-restore < /root/iptables-works-2018-09-11

    ln s /root/iptables-works-`date +%F` /root/iptables-works-latest

     

    免在策略顶部使用如下的一些通用规则:

    iptables -A INPUT -p tcp --dport 22 s 10.0.0.0/8 d 192.168.100.101 -j DROP

     

    这是一个有效地避免封锁自己的设置,在策略规则顶部将你的 IP 列入白名单:

    iptables -I INPUT -s <your IP> -j ACCEPT

    限制 IP 地址范围:

    iptables -A OUTPUT -p tcp -i eth0 o eth1 d 31.13.64.0/18 -j DROP 

    按时间规定做限制 - 场景1

    iptables A OUTPUT -p tcp -mmultiport --dport http,https -i eth0 -o eth1 -m time --timestart 12:00 timestop 13:00 d 31.13.64.0/18 -j ACCEPT

    按时间规定做限制 - 场景

    iptables -A INPUT -p tcp -m time --timestart 02:00 --timestop 03:00 -j DROP
    iptables -A INPUT -p udp -m time --timestart 02:00 --timestop 03:00 -j DROP

    限制连接数量

    iptables A INPUT p tcp syn -m multiport -–dport http,https m connlimit -–connlimit-above 20 j REJECT -–reject-with-tcp-reset

     查看规则被访问了多少次:

    iptables -L -v -n line-numbers

    删除不必要的规则

    iptables -nvL | grep -v "0     0"    #注意:两个数字 0 之间不是 Tab 键,而是 5 个空格 

     

    将用户完成工作所需的最少量服务设置为允许:

    # Set a default policy of DROP
    *filter
    :INPUT DROP [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT DROP [0:0]
    # Accept any related or established connections
    -I INPUT  1 -m state --state RELATED,ESTABLISHED -j ACCEPT
    -I OUTPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
    # Allow all traffic on the loopback interface
    -A INPUT -i lo -j ACCEPT
    -A OUTPUT -o lo -j ACCEPT
    # Allow outbound DHCP request
    -A OUTPUT –o eth0 -p udp --dport 67:68 --sport 67:68 -j ACCEPT
    # Allow inbound SSH
    -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW  -j ACCEPT
    # Allow outbound email
    -A OUTPUT -i eth0 -p tcp -m tcp --dport 25 -m state --state NEW  -j ACCEPT
    # Outbound DNS lookups
    -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
    # Outbound PING requests
    -A OUTPUT –o eth0 -p icmp -j ACCEPT
    # Outbound Network Time Protocol (NTP) requests
    -A OUTPUT –o eth0 -p udp --dport 123 --sport 123 -j ACCEPT
    # Outbound HTTP
    -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
    -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
    COMMIT

     

    via:系统管理员需知的 16 个 iptables 使用技巧

    https://www.yisu.com/zixun/23513.html


    PS:

    iptables 四表五链

    CentOS7 防火墙(firewall)的操作命令

  • 相关阅读:
    linux 还能这么来
    JS还能这么来
    FFmpeg常用命令
    golang gin框架默认打印日志写入到文件 (http请求打印写入到文件而不是控制台)
    社保、新农合介绍以及报销比例介绍
    Lightroom 快捷键集合
    golang map基础使用-初始化
    SOLID
    java dump
    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
  • 原文地址:https://www.cnblogs.com/firewalld/p/12253500.html
Copyright © 2011-2022 走看看