多くのユーザー(クライアント)を持つLANがあります。それぞれにプライベートSamba共有フォルダがあります。
(同じネットワーク内で)誰かが他のアカウントを無差別に代入してハッキングするのを防ぐ方法(他の人のデータにアクセスできるようにする)は何ですか?
Google検索には、「Samba共有がパブリックインターネットに表示されてはいけません」というメッセージのみが表示されます。しかし、私はローカルネットワークにいます。
多くの管理者がこのような「問題」を抱えていると思います(会社や大学管理者など)。
それでは、1分間に3回のログイン試行のみを許可するか、3回の試行後にクライアントのIPをブラックリストに追加する方法はありますか?それともこの問題に対する他の解決策はありますか? Fail2banを試しましたが、ログファイルにホストIPアドレスがありません。
追加情報:
- ほとんどのクライアントはWindows 7以降です。
- Ubuntu 16.04のSamba現在のバージョン
答え1
まず、できないことを認めなければなりません。100%安全。
LANからSambaを保護する唯一のオプションは、誰かが間違ったパスワードを何度も試みないようにするためにiptablesにいくつかのルールを設定することです。 - ヒット回数は好きなように選択してください。 2~3個をお勧めします。
ここでは、iptablesで設定されたいくつかの簡単なルールを見ることができます。以下のコマンドはIPアドレスを使用しませんが、IPアドレスとCIDR番号を設定する方が安全です。
$ iptables -A INPUT -i eth0 -p udp --dport 137 -m state --state NEW -m recent --set --name netbios-ns
$ iptables -A INPUT -i eth0 -p udp --dport 137 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-ns -j DROP
$ iptables -A INPUT -i eth0 -p udp --dport 138 -m state --state NEW -m recent --set --name netbios-dgm
$ iptables -A INPUT -i eth0 -p udp --dport 138 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-dgm -j DROP
$ iptables -A INPUT -i eth0 -p tcp --dport 139 -m state --state NEW -m recent --set --name netbios-ssn
$ iptables -A INPUT -i eth0 -p tcp --dport 139 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-ssn -j DROP
$ iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW -m recent --set --name microsoft-ds
$ iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name microsoft-ds -j DROP