数日前、私は私のデータのセキュリティについて非常に心配しましたnmap
。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
私の一つだけ可能useは次のとおりですssh
(うまく構成されていない可能性がありますが、これについては別の質問として残しておきます)。
私が知る限り、ipp
CUPSプロトコルは私のプリンタを共有するために使用され、共有する必要はなく、サーバーからプリンタにアクセスするだけです。
netstat -lntup
以下は、localhostアドレスが削除されたrootユーザーの出力です。
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
実際に使用しているときにのみ外部の世界の音を聞くようにこれらのサービスを設定するにはどうすればよいですか?
ベストアンサー1
露出決定
コマンドの出力から、netstat
多くのサービスが実際には非常に短いリストであるように見えます。
$ netstat -lntup | awk '{print $6 $7}'|sed 's/LISTEN//'| cut -d"/" -f2|sort|uniq|grep -v Foreign
avahi-daemon:r
dhclient
dropbox
nmbd
rpcbind
rpc.statd
smbd
sshd
状況を理解する
このリストを見ると、私が扱いたくないサービスがいくつかあります。
- dhクライアント
- IPアドレスの取得を担当するDHCPサーバーデーモンにはこの情報が必要です。
- セーフティボックス
- 当然、Dropboxが必要です。
削減の開始 - Sambaの無効化
今すぐSambaを無効にすることができます。 Sambaは上記のサービスの2つを占めており、nmbd
実際にsmbd
ローカルホストまたはIPに接続されているネットワークでラップトップでそれを実行する必要があるかどうか疑問です。
実行中であることを確認するには、次のコマンドを使用できますstatus
。
$ status nmbd
nmbd start/running, process 19457
$ status smbd
smbd start/running, process 19423
サービスを終了すると、upstart、/etc/rc.d、およびビジネスのすべての変更が混乱する可能性があるため、どのサービスがどのスキルを使用しているのかを把握するのは困難です。 Samba の場合、次のservice
コマンドを使用できます。
$ sudo service nmbd stop
nmbd stop/waiting
$ sudo service smbd stop
smbd stop/waiting
今彼らは消えました:
$ status nmbd
nmbd stop/waiting
$ status smbd
smbd stop/waiting
遠くに…永久に
この問題を回避するために、私はこのツールを使用してsysv-rc-conf
コンソールでサービスを管理してきましたが、ほとんどのサービスよりも機能します。これにより、実行するサービスとサービスを開始/停止する必要がある実行レベルを確認できます。
$ sudo apt-get install sysv-rc-conf
残りの不要なコンテンツを無効にする
これでSambaが終了したので、次のことが残ります。
- ハバヒデーモン
- Zeroconf(プラグアンドプレイ)の一部、オフ
- rpcバインディング
- NFSが必要 - オフ
- rpc.statd
- NFSが必要 - オフ
残りの3つについては、Sambaと同じことをしてドラッグすることもできます。
カップ?
CUPSをオフにするには(実際にCUPSは必要ありません)、同じ手順に従ってサービスをオフにしてから開始から無効にすることができます。印刷するには、システムの各プリンタを個別に設定する必要があります。system-config-printer
GUIを介してこれを行うことができます。
これらのサービスは要求に応じて提供されますか?
これは実際には問題の中心ですが、これらのサービスを常に実行するのではなく、使用時に実行されるように「スマート」にする万能の解決策はありません。
#1 - systemdとスタートアップこれは部分的に現在の分裂によって引き起こされます。システムそして突然現れる。 2つの競争技術の良い概要ここ。
どちらの技術も少し違うことをしようとしているようです。機能セットを考慮すると、systemdはサーバーに適しており、upstartはデスクトップボリュームに適しています。この問題は時間の経過とともに自然に解決され、IMOでは両方のサービスが信頼性が高く機能が豊富になります。
最終的に、両方のサービスが管理するすべてのサービスに包括的なオンデマンドの起動と停止機能を提供します。たとえば、このような機能はStopWhenUnneeded=yes
すでに存在してsystemd
いるため、具体化されるのは時間の問題に過ぎません。
一部のサービスは停止/開始をまったくサポートしていません。このようなサービスがsshd
必要に応じて実行されることは妥当ではないように見えるかもしれません。特に使用量が多い場合にはさらにそうです。また、一部のサービス(Apacheなど)は、独自の管理のためにより多くのリスナーを起動するメカニズムも提供します。したがって、このタイプのサービスがどのようにオンデマンドサービスを提供するのかsystemd
、upstart
これらのサービスとどのように統合されるのかは不明です。
これは本当に必要ですか?
これはあまりにも、あるいはミニマリストのアプローチをとり、必ず必要なものだけをインストールしなければならないという言葉を両側から聞くことになるだろうが、それは事実個人の選択だ。これらのサービスが存在し、どのような役割を果たしているかを理解することは本当に重要です。最終的に、コンピュータは単なるツールであり、Unixシステムを使用することで、あなたは喜んでステージの後ろを覗き、コンピュータがどのように機能するかを理解したいと考えました。
私はこの種の質問がコンピュータとUnixを扱うときに努力すべき考え方だと言いたいと思います。