常用的安全政策

    政策的初始規則

    範例一:阻擋所有進入/外出的網路

    # iptables -P INPUT DROP
    # iptables -P OUTPUT DROP
    # iptables -P FORWARD DROP
    # iptables -L -v -n
    #### you will not able to connect anywhere as all traffic is dropped ###
    

    範例二:只阻擋進入的網路

    # iptables -P INPUT DROP
    # iptables -P FORWARD DROP
    # iptables -P OUTPUT ACCEPT
    # iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
    # iptables -L -v -n
    ### *** now ping and wget should work *** ###
    

    限制內部網路上網

    # iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP
    # iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
    

    來源網路格式:
    10.0.0.0/8 -j (A)
    172.16.0.0/12 (B)
    192.168.0.0/16 (C)
    224.0.0.0/4 (MULTICAST D)
    240.0.0.0/5 (E)
    127.0.0.0/8 (LOOPBACK)

    阻擋惡意的 IP 來源

    # iptables -A INPUT -s 1.2.3.4 -j DROP
    # iptables -A INPUT -s 192.168.0.0/24 -j DROP
    

    阻擋外部網路的 Port

    阻擋所有網路存取 80 port
    # iptables -A INPUT -p tcp --dport 80 -j DROP
    # iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
    
    阻擋 IP 1.2.3.4 存取 port 80
    # iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
    # iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP
    

    限制內網存取外部位址

    限制內網存取外網 IP 75.126.153.206
    # iptables -A OUTPUT -d 75.126.153.206 -j DROP
    
    限制內網存取指定的外網網段
    # iptables -A OUTPUT -d 192.168.1.0/24 -j DROP
    # iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -j DROP
    

    ICMP Ping Request

    Type the following command to block ICMP ping requests:
    # iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    # iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP
    Ping responses can also be limited to certain networks or hosts:
    # iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT
    The following only accepts limited type of ICMP requests:
    ### ** assumed that default INPUT policy set to DROP ** #############
    iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
    iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
    iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
    ## ** all our server to respond to pings ** ##
    iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
    

    開放一組連續的多個 Port

    Use the following syntax to open a range of ports:
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT
    
    Open Range of IP Addresses
    Use the following syntax to open a range of IP address:
    ## only accept connection to tcp port 80 (Apache) if ip is between 192.168.1.100 and 192.168.1.200 ##
    iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
    
    ## nat example ##
    iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25
    

    常用 Port 的規則

    The following shows syntax for opening and closing common TCP and UDP ports:

    Replace ACCEPT with DROP to block port:
    ## open port ssh tcp port 22 ##
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
     
    ## open cups (printing service) udp/tcp port 631 for LAN users ##
    iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT
     
    ## allow time sync via NTP for lan users (open udp port 123) ##
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT
     
    ## open tcp port 25 (smtp) for all ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
     
    # open dns server ports for all ##
    iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
    iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
     
    ## open http/https (Apache) server port to all ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
     
    ## open tcp port 110 (pop3) for all ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT
     
    ## open tcp port 143 (imap) for all ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT
     
    ## open access to Samba file server for lan users only ##
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT
     
    ## open access to proxy server for lan users only ##
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT
     
    ## open access to mysql server for lan users only ##
    iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core