web-dev-qa-db-ja.com

開いているポートを「閉じる」方法は?

数日前、自分のデータセキュリティについて多くのことを気にし始めたので、nmapingを次のように実行しました:nmap 127.0.0.1

驚き、驚き、たくさんのアクティブなサービスがlocalhostをリッスンしています:

$ nmap 127.0.0.1
Starting Nmap 5.21 ( http://nmap.org ) at 2013-05-05 00:19 WEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00025s latency).
Not shown: 993 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
53/tcp  open  domain
111/tcp open  rpcbind
139/tcp open  netbios-ssn
445/tcp open  Microsoft-ds
631/tcp open  ipp

Nmap done: 1 IP address (1 Host up) scanned in 0.05 seconds

私がmightを使用するのはsshだけです(おそらく適切に構成されていませんが、この問題は別の質問に書き留めておきます)。

私の知る限り、CUPSはippプロトコルを使用してプリンターを共有しています。共有する必要はなく、サーバーからプリンターにアクセスするだけです。

これは、rootユーザーによるnetstat -lntupの出力で、localhostアドレスを削除しています。

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      497/sshd        
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2217/dropbox    
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      892/smbd        
tcp        0      0 0.0.0.0:50022           0.0.0.0:*               LISTEN      1021/rpc.statd  
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      892/smbd        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      906/rpcbind     
tcp6       0      0 :::22                   :::*                    LISTEN      497/sshd        
tcp6       0      0 :::42712                :::*                    LISTEN      1021/rpc.statd  
tcp6       0      0 :::445                  :::*                    LISTEN      892/smbd        
tcp6       0      0 :::139                  :::*                    LISTEN      892/smbd        
tcp6       0      0 :::111                  :::*                    LISTEN      906/rpcbind     
udp        0      0 0.0.0.0:51566           0.0.0.0:*                           615/avahi-daemon: r
udp        0      0 0.0.0.0:68              0.0.0.0:*                           7362/dhclient   
udp        0      0 0.0.0.0:111             0.0.0.0:*                           906/rpcbind     
udp        0      0 192.168.1.255:137       0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.67:137        0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:137             0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.255:138       0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.67:138        0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:138             0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:655             0.0.0.0:*                           906/rpcbind     
udp        0      0 0.0.0.0:17500           0.0.0.0:*                           2217/dropbox    
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           615/avahi-daemon: r
udp        0      0 0.0.0.0:34805           0.0.0.0:*                           1021/rpc.statd  
udp6       0      0 :::40192                :::*                                1021/rpc.statd  
udp6       0      0 :::111                  :::*                                906/rpcbind     
udp6       0      0 :::655                  :::*                                906/rpcbind     
udp6       0      0 :::5353                 :::*                                615/avahi-daemon: r
udp6       0      0 :::42629                :::*                                615/avahi-daemon: r

これらのサービスをどのように構成すれば、実際に使用しているときにのみ外部の世界をリッスンできますか?

22
RSFalcon7

127.0.0.1は「外の世界」ではなく、家の中を見回しています。

ファイアウォールの設定(今日のLinuxのiptables)を確認してください。ほとんどの場合、ファイアウォールからはアクセスできません。

不要なサービスを実行しないでください。不要なソフトウェアをすべてアンインストールします。

passwords をより強力に変更します。システムの使用状況を確認し、興味深いWebサイトをランダムに追跡しないでください。ブラウザのフィッシング対策、スクリプト対策などの設定を確認してください。 SSHおよびsu/Sudoの使用法を修正します。

しかし、何よりも、過度のパラノイアは逆効果です。 テクノロジーのきらめき にとらわれないでください。

12
vonbrand

個々のサービスを「シャットダウン」することはできますが、ファイアウォールを設定する方が簡単かもしれません。ほとんどすべての一般的なディストリビューション(Ubuntu、Debian、Centosなど)は、組み込みのiptablesをサポートしています。

開始するための単純なルールセット:(コマンドプロンプトでこれらを入力するだけで、起動スクリプトに永続的に追加したり、使用しているディストリビューションを指定したりできます。Centosの例:system-config -firewallはiptablesルールを構成するための優れたUIです)

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

基本的に-sshインバウンドを許可します。他のすべてを落とします。

INPUTチェーンは次のようになります。

  • パケットが「ssh」のために私のコンピュータに入ってくる場合-それを許可します
  • パケットが前のルールのいずれにも一致しなかった場合-破棄してください。

その後、後日、 'samba'(Windowsファイル共有)を許可する場合は、次のように実行します。

iptables -I INPUT-p tcp --dport 465 -j ACCEPT

-Iリストの先頭に追加してルールを設定します。 -Aはルールを追加します。チェーンは次のようになります。

  • パケットが「samba」のために私のコンピュータに入ってくる場合-許可する
  • パケットが「ssh」のために私のコンピュータに入ってくる場合-それを許可します
  • パケットが前のルールのいずれにも一致しなかった場合-破棄してください。

INPUTチェーンは、システムを宛先とするパケットを指します。他のチェーンは、インターネットからのコンピューターからのパケットの場合はOUTPUTであり、コンピューターを介してルーティングされるパケット(つまり、空港のトランジットエリアなど、コンピューターを「通過する」パケットの場合はFORWARDです。それはあなたのコンピュータに入っていないのでINPUTではありません。

パーティングノートとして:127.0.0.1をnmapすることはあまり役に立ちません。多くのサービスは127.0.0.1からのみアクセス可能で、他のアドレスからはアクセスできません。別のマシンがない場合は、nmapを実行できます。GibsonResearchのShields UPを使用してみてください。 ( https://www.grc.com/shieldsup )-これは無料のオンラインnmap-liteです。または、IP /電子メールにコメントを追加してください。私はあなたをnmapします:)

3
Grynn