こんにちは、皆さん!:-)。
iptables の設定について、(いくつか?) アドバイスをいただきたいです。iptables についてはまだ初心者で、iptables のみをファイアウォールとしてサーバーを構成するのは今回が初めてです (事前に「本当の」ファイアウォールを設定するためのお金も時間もありません)。
specific.location.com からのみ SSH 経由でサーバーに接続したいと思います。
そのため、 INPUT に次のルールを設定しました。
target in out source destination
ACCEPT lo any localhost anywhere
ACCEPT any any specific.location.com myserver.local tcp dpt:ssh
私のデフォルトのポリシーは次のとおりです:
INPUT DROP
FORWARD DROP
OUTPUT ACCEPT
この最初の構成では、サーバーに接続できましたが、外部 (google.com など) にはアクセスできず、接続が非常に遅くなりました。
私のファイアウォールには、パケットからの「ESTABLISHED」状態を含むルールがないことがわかりました。確かに、パケットは外に出ることはできたものの、戻ってくることは許可されなかったのだと思います...
そこで私はこのルールを追加しました:
target in out source destination
ACCEPT any any anywhere anywhere state ESTABLISHED
今はすべてうまく機能し、サーバーから外部にアクセスできます。接続は以前と同じように非常に高速で、specific.location.com からのみ SSH でサーバーにアクセスできます。
私の唯一の質問は、あなたのアドバイスが必要なことです。これはクリーンな構成ですか? インターネットでこのような例が見つからないので、とても不思議に思っています...
それとも、私は重大なセキュリティ上の欠陥を犯したのでしょうか?
皆さん、助けてくれてありがとう :-)
答え1
厳密に言えば、ESTABLISHEDルールは実際にはRELATED,ESTABLISHEDです。ただし、SSHやHTTP(S)には影響しません。違いは、RELATEDには以下のものも含まれることです。技術的に新しい接続ではなく、FTP データ チャネル通信や ICMP エコー応答などの既存の接続に関連する接続です。
全体的に、ここで行ったことは問題ありません。