ウイルス&ポートを調べる
Erubyに感染したか調べる方法
以下コマンドを実行します
$ ssh -G 2>&1 | grep -e illegal -e unknown > /dev/null && echo “System clean” || echo “System infected”
もし、”System infected”と表示されたら感染の疑いありです
感染指定なければ”System clean”と表示されます
別な方法
以下コマンドを実行してパーミッション666や600でメモリを3MB以上使ってるか
$ ipcs -m
感染している場合は以下のような実行結果になるそうです
# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch
0x00000000 0 peter 644 393216 2
0x00000000 32769 paul 644 393216 2
0x000006e0 65538 root 600 3283128 0
もし感染していたら・・・
残念ながら感染の疑いがあった場合はどうしたら良いのでしょう
調べた限りではクリーンインストールが最良(かつ最終)手段のようです
プロセス監視とか
vmstat
システム全体のメモリ使用状況、CPU使用率とかかが分かる
sar
基本はvmstatと一緒だが、
1日分のシステム情報を10分間隔(デフォルト)で取得している情報を表示
top
プロセス毎のシステム情報を表示
ps
プロセス毎のシステム情報を表示
<例>
・全プロセスの情報を表示
$ ps u -e
・postgreSQLのプロセスをツリー上で表示
$ ps alxf | head -1 && ps alxf | grep post
ipcs
プロセス毎の共有メモリ使用状況、セフォマ量を表示
<例>
・共有メモリの情報表示
ちなみにこれで出てくるstatus欄での「dest」は、メモリー・セグメントが破棄予定であるということ
$ ipcs -m
・共有メモリを使用しているユーザの表示
$ ipcs -mp
・セフォマ表示
$ ipcs -s
free
メモリの使用状況表示
df
ファイルシステム毎のディスク使用状況表示
baobab
ファイルシステム毎のディスク使用率をグラフィカルに表示
du
ディレクトリ・ファイル毎の容量表示
<例>
・カレントディレクトリの大きさをMB単位で表示
$ du -sm ./
繋がるか調べる(ポート番号)
・ポートスキャン対象の機器でファイアウォールが有効になっていませんか?
(iptables、firewalld等)
・ルーターのポートは開いていますか?
・ファイアウォール機器のポートは開いていますか?
・ポートスキャン対策ソフトが導入されていませんか?
サーバー側からポートが開いているか調べる
sudo netstat -nap
外からポートが開いているか調べる
telnet IPアドレス ポート番号
telnet 192.168.0.123 110
外部からポートがどのポートが開いているか確認する(nmapコマンド)
sudo nmap 150.XXX.XXX.XXX
nmap -sT -pポート番号 IPアドレス
nmap -sT -p110 192.168.0.123
プロセスが使用しているポートを一覧表示するには、lsofコマンドにオプション「-i」を付けて実行します
sudo lsof -i
特定のポート番号を使用しているプロセスを確認する
sudo lsof -i:80
接続待ちをしているポートを確認する
TCPポートのみを表示
sudo ss -atn
sudo netstat -atn
UDPポートのみを表示
sudo ss -anu
sudo netstat -anu
TCP、UDPポート両方表示
sudo ss -atnu
sudo netstat -atnu
通信が確立しているポートを表示
sudo ss -t
sudo netstat -t