web-dev-qa-db-ja.com

特定のIP以外のすべての接続を拒否する

Ubuntuにデータベースをインストールし、他のサーバーからポート27017でリモート接続します。

このサーバーは、他のサーバーのストレージとしてのみ使用したいと思います。指定された1つのIPを除くすべての接続をブロックするようにホストサポートに要求しました。

彼はそうしました、しかし私はまだ家から接続することができました。彼は、80、25、21などの使い慣れたデフォルトポートで実行されているサービスにすべてのIPがアクセスするのをブロックしたので、27017でも同じことをしたと考えました。

この設定で、データベースが世界に公開されていないことを確認できますか?!ありがとう。

1
Blendester

データベースが使用するものをブロックするだけで済みます。

もっと興味深い質問は、それがどのように行われるかということかもしれません。

iptables -F INPUT # deletes all rules
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
: maybe allow other services here
iptables -A INPUT -s $allowed_source_address -p tcp --dport 27017 -j ACCEPT
iptables -A INPUT -j DROP

これにより、許可されたIPからデータベースへの接続を除くすべての新しい着信接続がブロックされます。

データベースのみをブロックする

iptables -F INPUT # deletes all rules
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -s $allowed_source_address -p tcp --dport 27017 -j ACCEPT
iptables -A INPUT -p tcp --dport 27017 -j DROP
2
Hauke Laging