2016-05-07 4 views
-2

編集:今は賢明なことですが、この質問はあまり意味がありません。残念ながら、私はそれを削除することはできません。iptablesとPostgreSQL

+0

IMHOより一般的な使用例は、PostgreSQLが外部からは見えないが、内部からだけ、あるいは時にはフロントエンドやDMZからだけである。 pg_hba.confを使用すると、ネットマスクレベルで設定することができます(たとえば、DMZからのスーパーユーザー接続はありませんが、アプリケーションログインは許可されていますが、データベースxyzなど)。BTW:外部接続を許可しない理由の1つDOS攻撃を避けることです。これは、ファイアウォール/ iptablesレベルで行う必要があります。 – wildplasser

答えて

4

これはリンゴ栽培であり、多分です。

iptablesは、ローカルネットワークから不要なトラフィックを守るためにファイアウォールとして使用されます。pg_hba.confは、サーバー上のデータベースシステムに誰が接続できるかだけでなく、どのような接続(データベースへのユーザー)認証された。

一般的な設定では、iptablesはインターネット接続だけをフィルタリングし、pg_hba.confはデータベースシステムへの接続を試みているすべてのトラフィック、特に内部ネットワークのトラフィックに適用されます。だから、実際には、そうです、あなたはそれらを組み合わせるでしょうが、彼らはラリーではなく、どちらか一方のオプションの利点を重視すべきではありません。

+0

PostgreSQLはトラフィックがサーバに到達するのを止めません。データベースへのアクセスを制限します。 'iptables'のようなファイアウォールがなければ、誰かがあなたのサーバーをハックし、' pg_hba.conf'を変更し、スーパーユーザーとしてPGにアクセスします。彼らはあなたが両方を持つべきであるので、彼らは異なったことをしますが、 'iptables'は通常悪意のある外部トラフィックから内部ネットワークを保護するために、ネットワークアクセスポイントとしてのみ機能するサーバ上で実行されます。 – Patrick