Ubuntuにデータベースをインストールし、他のサーバーからポート27017でリモート接続します。
このサーバーは、他のサーバーのストレージとしてのみ使用したいと思います。指定された1つのIPを除くすべての接続をブロックするようにホストサポートに要求しました。
彼はそうしました、しかし私はまだ家から接続することができました。彼は、80、25、21などの使い慣れたデフォルトポートで実行されているサービスにすべてのIPがアクセスするのをブロックしたので、27017でも同じことをしたと考えました。
この設定で、データベースが世界に公開されていないことを確認できますか?!ありがとう。
データベースが使用するものをブロックするだけで済みます。
もっと興味深い質問は、それがどのように行われるかということかもしれません。
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