Was this page helpful?

RHEL5 - Samba (四) 防火牆(iptables)

    內容表格
    沒有標頭
    當 作 samba Server 一定需要24小時不斷電的開機,即使是使用在公司內部網路上也是有可能遭受到攻擊,所以有必要設定防火牆,除了有需要的 port 開啟外,其餘就不需要開啟.因為 iptables(firewall) 和 SElinux 都會影響到 Samba 分享目錄的結果.如果是要先測試使用結果建議先關閉 iptables(firewall) 和 SElinux.在Linux下常用的就是 iptables.而在 RHEL5 設定 iptables 也是很簡單.方法如下:

     

    [root@benjr ~]#system-config-securitylevel

    信任服務: 就是只有哪些服務可以透過防火牆(iptables)下的情況還繼續工作.
    只要開啟我們想要開放的 port 即可,基本上要開的 port 也只有 SMB /NMB 而已其他你可以依據需求來開啟.預設是沒有選項可以勾選你可以透過其他連接阜做設定.要開啟的也只有NetBIOS (UDP ports 137 and 138, TCP ports 139) 和 TCP port 445 for SMB file sharing without NetBIOS.

    如果你是透過遠端的 SSH 這邊還有一個可以在 Text mode 下執行的.

    [root@benjr ~]#system-config-securitylevel-tui

    因為設定方式差不多,所以這裡就不多加以說明了.而設定檔會存放在 /etc/sysconfig/iptables

    [root@benjr ~]# cat /etc/sysconfig/iptables
    # Firewall configuration written by system-config-securitylevel
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :RH-Firewall-1-INPUT - [0:0]
    -A INPUT -j RH-Firewall-1-INPUT
    -A FORWARD -j RH-Firewall-1-INPUT
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT
    -A RH-Firewall-1-INPUT -i ppp0 -j ACCEPT
    -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
    -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
    -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
    -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    說明:
    下面是有關於 samba 的要開啟的 port.
    -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
    如果要開機時就啟動 iptables ,使用下面這個指令,就會在每次開機時啟動 iptables .

    [root@benjr ~]#chkconfig iptables on

    當然我不希望現在再重開機所以直接用下面的指令將 iptables 打開.

    [root@benjr ~]#service iptables start
    Starting httpd [OK]

    將目前的 iptables 設定儲存下來

    [root@benjr ~]#/sbin/service iptables save
    #會將設定檔儲存在 /etc/sysconfig/iptables

    完整版內容請看 : http://benjr.tw/?q=node/444

    Was this page helpful?
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core