at_ito
2018年2月28日 17時27分
Armadilloでは、標準のソフトウェアの状態ではWebサーバー等のサーバーが動作しています。最終的にシステムを作る際には、セキュリティ上の観点から、可能な限り不要なTCP/UDPポートは使用しないようにしておくのが良いです。
そのため、ここではArmadillo上でどのTCP/UDPポートが接続待ちをしているかを確認する方法を紹介します。
開いているポートの確認
以下のようにnetstatコマンドを使用して、開いているポートを確認することができます。
[armadillo ~]# netstat -antu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
udp 0 0 0.0.0.0:33404 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:18738 0.0.0.0:*
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp6 0 0 :::11127 :::*
udp6 0 0 :::36313 :::*
udp6 0 0 :::5353 :::*
上記結果では、80, 22, 25ポートが開いている状態であることが確認できます。
該当のポートをどのプロセスが開いているか確認
該当のポートをどのプロセスが開いているかはlsofコマンドにて確認できます。
Armadilloには標準でインストールされていませんので、まずは以下のコマンドでインストールしてください。
[armadillo ~]# apt-get install lsof
例として80番ポートを使用しているプロセスを確認する場合は、以下のようになります。
[armadillo ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
lighttpd 530 www-data 4u IPv4 8713 0t0 TCP *:http (LISTEN)
lighttpd 530 www-data 5u IPv6 8714 0t0 TCP *:http (LISTEN)
上記コマンド結果からlighttpdが80番ポートを開いていることが確認できます。