web-dev-qa-db-ja.com

AWSで開いているポートで必要な最小プロセス?

最近、パブリックWebサイトで使用するAWSボックスを開始しましたが、次のポートが開いているようです...実際にはないものをシャットダウンして、ボックスの攻撃対象領域を最小限に抑えることをお勧めします。必要ですが、これらのプロセスのうち、AWSマシンから削除しても安全なものについてのドキュメントを見つけるのに苦労しています。 AWSの内部のモニタリング/コンソール/ APIに対応する必要のあるものがいくつかあると思いますが、それらすべてではないでしょうか? (編集された実際の住所)

[ec2-user@ip-172-xxx-xx-xxx conf]$ Sudo lsof -i -n -P
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhclient   2028     root    5u  IPv4   9031      0t0  UDP *:68 
dhclient   2134     root    4u  IPv6   9256      0t0  UDP [fe80::xxx:xxx:xxx:xxx]:546 
rpcbind    2242      rpc    6u  IPv4   9823      0t0  UDP *:111 
rpcbind    2242      rpc    7u  IPv4   9824      0t0  UDP *:721 
rpcbind    2242      rpc    8u  IPv4   9825      0t0  TCP *:111 (LISTEN)
rpcbind    2242      rpc    9u  IPv6   9826      0t0  UDP *:111 
rpcbind    2242      rpc   10u  IPv6   9827      0t0  UDP *:721 
rpcbind    2242      rpc   11u  IPv6   9828      0t0  TCP *:111 (LISTEN)
rpc.statd  2263  rpcuser    5u  IPv4   9900      0t0  UDP 127.0.0.1:743 
rpc.statd  2263  rpcuser    8u  IPv4   9903      0t0  UDP *:45443 
rpc.statd  2263  rpcuser    9u  IPv4   9906      0t0  TCP *:34732 (LISTEN)
rpc.statd  2263  rpcuser   10u  IPv6   9909      0t0  UDP *:36988 
rpc.statd  2263  rpcuser   11u  IPv6   9912      0t0  TCP *:36559 (LISTEN)
ntpd       2434      ntp   16u  IPv4  10406      0t0  UDP *:123 
ntpd       2434      ntp   17u  IPv4  10410      0t0  UDP 127.0.0.1:123 
ntpd       2434      ntp   18u  IPv4  10411      0t0  UDP 172.xx.xxx.xx:123 
sendmail   2454     root    4u  IPv4  10476      0t0  TCP 127.0.0.1:25 (LISTEN)
sshd      22860     root    3u  IPv4  32220      0t0  TCP *:22 (LISTEN)
sshd      22860     root    4u  IPv6  32222      0t0  TCP *:22 (LISTEN)
  • sshd-明らかにこれが欲しい、
  • ntp-ローカルのAmazonサーバーと通信しているようですが、*おそらく構成でそれを削減します...
  • sendmail-ローカルでのみリッスンしていますが、Webサイトから送信されるメールは実際のメールサーバーを使用する必要があるため、オフにすることができます。
  • rpcbind、rpc.statd-みんなの言うことを聞いているので、Amazonがそれを必要としない限り、私はそれが好きではありません。
  • dhclient-おそらく残っている必要がありますか?ボックスには現在IPが設定されているはずなので、理論的にはdhcpは不要になる可能性があります(ただし、AZの動作方法は明確ではありません)。

Amazonコンソールのセキュリティグループについてすべて知っていることに注意してくださいなので、外部からのアクセスを制御できることはすでに知っていますレベルですが、これらのインスタンスはAWS内部ネットワークにも存在します。マルウェアやクラッカーがそのネットワーク上の他のボックスやAZのネットワークハードウェアを侵害した場合、このボックスを攻撃するためのオプションを少なくしたいと思います。

だから問題は、何を削除しても安全ですかAWS環境の場合

4
Gus

正解です。AWSEC-2のlsofは、ボックスから外部からアクセスできるものの良いイメージを実際には提供していません。すでに質問で引用しているように、AWSはより高いレベルで追加のファイアウォールを提供します(ユーザーコンソールから編集できます)。したがって、あなたの唯一の懸念はlocal networkに対するntpおよびrpcbindです。

AWSは/etc/rc.localに行を追加することでマシンの構成を変更します(または少なくとも、そこにある私のDebianでは機能します)。rpcは使用しません。

ほとんどすべてを無効にできると主張しますが、これは次のとおりです。

dhclient   2028     root    5u  IPv4   9031      0t0  UDP *:68

これは、新しいDHCPによって、またはリース時間が終了したときに、マシンがローカルIPを再割り当てする方法です。 (546にあるDHCPクライアントのIPv6バージョンはあなた次第です。あなたは確かにそれを残すことができますが、偏執狂であればそれを閉じることができます。IPv6がなくても、数年以上問題になることはありません。)

残りの部分はすべてあなた次第です。しかし、いくつかのことは賢いかもしれません:

  • 確かにSSHが必要ですが、ポート22で実行する必要はありません。非標準ポートでSSHを実行することは、一般的な強化プラクティスです。 (警告:最初にこれをテストすることを忘れないでください!ファイアウォールが接続を許可しないポートでSSHを実行したくないです。)
  • ntpは便利で、十分にテストされたソフトウェアです。時間の同期を気にしてもしなくてもかまいません。
  • rpcbindを使用する理由がわからない場合は、必要ありません。 rpcサービスが使用される最も一般的なものは、ネットワークマウント(ネットワークファイルシステム)です。サーバーがスタンドアロンの場合、その必要はありません。 (AWSディスクはマウントにrpcを使用しません。仮想化レベルでマウントします。)
  • sendmail(おそらくpostfix実際には、お使いのマシンはDebianのように見えます)は、localhost上ですでに実行されています。
  • Webサイトの場合、ポート80と443を開くことになりますが、それは明らかです。
3
grochmal

さらに、プライベートIPスペースを定義するVPC内で実行している場合は、EC2インスタンスを静的IPで構成し、DHCPをオフにすることもできます。

さらに偏執的である場合は、AWSが持っていた最後のCVEが同じ物理マシン上のゲストが相互にアクセスできるようにするXenのバグだったため、専用マシンを利用してください。

1
Shackledtodesk