ファイアウォールサンバ

ファイアウォールサンバ

現在、私はLinuxファイルサーバーにファイアウォールを実装しようとしています。 Sambaサーバーを除くすべてが期待どおりに機能します。インターネットで検索しましたが、解決策はありません。ファイアウォールが無効になっていると、Sambaは正常に動作します。 Sambaルールを追加すると、Windows経由でサーバーにアクセスできなくなります。私にとって何が問題ですか?

ありがとう、ジョニー

# 1. Delete all existing rules
iptables -F

# 2. Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Allow traffic on loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#dhcp
iptables -I INPUT -i eth0 -p udp --dport 67:68 --sport 67:68 -j ACCEPT

#samba server
iptables -A INPUT -i eth0 -s 192.168.178.0/24 -p udp --dport 137:138 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.178.0/24 -p udp --sport 137:138 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.178.0/24 -p tcp --dport 139 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.178.0/24 -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -d 192.168.178.0/24 -p tcp --dport 445 -m state --state ESTABLISHED -j ACCEPT

#ntp date
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp --sport 123 -j ACCEPT

#apt get and wget
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

#incoming ssh 
iptables -A INPUT -i eth0 -p tcp --dport 50555 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 50555 -m state --state ESTABLISHED -j ACCEPT

#outgoing ssh
iptables -A OUTPUT -o eth0 -p tcp --dport 22  -d 192.168.178.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

#Allow Incoming HTTP and HTTPS
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

#Allow Ping from Inside to Outside
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

#Allow outgoing dns
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

#Logging
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
iptables -A LOGGING -j DROP

答え1

ルール5を削除します。それが必要です:

iptables -A INPUT -i eth0 -s 192.168.178.0/24 -p tcp --dport 445 -m state --state NEW,ESTABLISHED -j ACCEPT

および関連リンク(新しいルール)

iptables -A OUTPUT -o eth0 -d 192.168.178.0/24 -p udp --sport 445 -m state --state ESTABLISHED -j ACCEPT

また、長いルールのリストを避けるために、すでに設定されている各ルールのセッションに基づいてルールを作成する必要がないように、デフォルトのポリシーをOUTPUT設定できます。時間が経つにつれて、ルールをすばやく作成できます。ACCEPTINPUT

自分が知らないように過度のトラフィック出力を生成できるサービスがない場合、これはやや過剰です。または、関連トラフィックを出力する特定のルールを作成します。

iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT

関連情報