Debian 9 - 特定のIPのみがMongoDBにアクセスできるようにする

Debian 9 - 特定のIPのみがMongoDBにアクセスできるようにする

Mongoを特定のIPにのみアクセスできるようにするにはどうすればよいですか?

私はiptablesを試しました

iptables -A INPUT -s 192.168.2.111 -p tcp --destination-port 27016 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 192.168.2.111 -p tcp --source-port 27016 -m state --state ESTABLISHED -j ACCEPT
.

しかし、何正確にうん?どうやってできるか否定的な他のすべてのIP? 「未登録」を許可してブロックし続けるには、IPを追加するためにiptablesをどのように編集できますか?このiptables設定を永久に作成するにはどうすればよいですか?

英語で話すように頑張ります。

ベストアンサー1

しかし、これが正確に何をするのでしょうか?

これは2つの別々のルールに過ぎず、何の意味もありません。

他のすべてのIPを拒否する方法は?

2つの方法があります。最初拒否ポリシーの設定:

iptables -P INPUT DROP
iptables -P OUTPUT DROP

ただし、すべてのルールをリセットするとサーバーが切断されるため、これは最善の方法ではありません。使用第二方法:

「すべて許可」ポリシーとすべてのトラフィックを拒否するチェーンの最後の規則が必要です。

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

some rule...
some rule...
some rule...

iptables -A INPUT --destination $host --jump DROP
iptables -A OUTPUT --source $host --jump DROP

ここで$host- ホストのIPアドレスです。

「未登録」を許可してブロックし続けるには、IPを追加するためにiptablesをどのように編集できますか?

単一のルールに複数のアドレスまたはIPサブネットを追加できます。たとえば、

iptables -A INPUT --source 192.168.2.111,192.168.2.1,192.168.56.0/24 --destination $host --protocol tcp --dport 27016 --jump ACCEPT

このiptables設定を永久に作成するにはどうすればよいですか?

そしてiptables-persistent


気づく:すべての入出力トラフィックを拒否または削除する場合は、サーバーに正しく接続するための承認ルールを定義する必要があります。

のためssh

iptables -A INPUT --source 192.168.2.111 --protocol tcp --dport 22 --jump ACCEPT
iptables -A OUTPUT --match conntrack --ctstate ESTABLISHED,RELATED --jump ACCEPT

特にリモートサーバーでiptablesを慎重に使用してください。問題が発生すると、そのサーバーに直接アクセスできません。

おすすめ記事