私は現在、DebianがインストールされたRackspaceクラウドサーバーにデプロイしています。
さまざまなサービスを開始し、一般的にサーバーを追跡するために、すべてのサーバーと通信するリモートコーディネーターを使用するアプリケーションがあります。
本番環境を保護する必要があり、セキュリティが組み込まれていない特定のサービス(Couchbase/MembaseおよびElasticSearch)を使用しているため、すべてのサーバーにファイアウォールを実装する必要があります。コーディネーターは、サーバーが実装するファイアウォールルールを提供するように変更できますが、Debianでファイアウォール設定をプログラムで変更する方法がわかりません。少しきつくロックするためだけにポートを指定できるようにしたいと思います。
誰かがこれを達成する方法について何かアドバイスがあるか、私が何か間違ったことをしているのを見ることができるなら、私に知らせてください。
これは通常、ファイルからiptablesルールをロードするだけのiptables-restoreツールを使用して実現されると思います。次に、コーディネーターは新しいバージョンのルールファイル(通常は/etc/iptables.rules
)そしてiptables-restoreを呼び出してロードします。
http://wiki.debian.org/iptables で説明されているように、if-pre-up.dスクリプトを作成して、起動時にファイアウォールをロードすることも忘れないでください。
一般に、ローカルホスト(lo)インターフェースでのみリッスンし、パブリックにルーティングされたインターフェース(eth0)ではリッスンしないようにサービスを構成することから始める必要があります。ただし、ファイアウォールルールを設定することは依然として良い考えです。
場合によっては、構成されたサービスがパブリックにルーティングされたインターフェイス(eth0など)でリッスンできるようにしたいが、リモートコーディネーターなどの特定のマシンからの接続のみを許可したい場合があります。プログラムでIPアドレスを使用してこれを行うこともできますが、どこかで新しいインスタンスを起動すると不便になる可能性があります。
IPベースのファイアウォールルールを維持する煩わしさを処理する代わりに、 fwknop:シングルパケット認証とポートノッキング でファイアウォールルールを制御できます。デフォルトのドロップパケットフィルタリングはオーバーヘッドが少なく、ポートノッキングシステムが少ないという複雑さを伴わずに非常に簡単に機能します。 Debian用にインストールするには:
Sudo apt-get install fwknop-server fwknop-client
サーバー上でShorewall-liteを実行し、 Shorewall を実行している中央サーバーからファイアウォール構成を制御することを検討してください。どちらも標準ディストリビューションのDebianパッケージとして入手できます。
Shorewall構成は、共有構成に共通ファイルを使用するようにセットアップできます。これは、サーバー間で一貫した構成を取得するのに役立ちます。