ログを確認
KEIROMICHI | IPアドレスから住所検索
http://keiromichi.com/
IPひろば
http://www.iphiroba.jp/
ANSI Whois Gateway
http://whois.ansi.co.jp/
使用中のIPアドレス確認
https://www.cman.jp/network/support/go_access.cgi
■Linux
OSが起動した直後からsyslogが起動するまでのログ。(dmesgコマンドでも確認できる / 起動してからは /var/log/messages に記録される。)
# cat /var/log/dmesg
システム全般に関するログ。ファイヤーウォールのログなども記録される。
# cat /var/log/messages
認証に関するログ。(suやsudoの実行履歴など。rootの操作内容が残るわけではないので、root権限が必要な処理はsudo経由で実行させることが好ましい。)
# cat /var/log/secure
監査に関するログ。(セキュリティに関するイベントが記録される。)
# cat /var/log/audit/audit.log
cronに関するログ。
# cat /var/log/cron
メールに関するログ。
# cat /var/log/maillog
yumによるパッケージ情報操作に関するログ。
# cat /var/log/yum.log
システム起動時に画面に表示されていた内容。
# cat /var/log/boot.log
sudoポリス「誰だ! 本番環境でsudo suしてるのは!」 - Qiita
https://qiita.com/keys/items/ba03b71fd34ebbff4c6e
ログインに成功したログ。(バイナリファイル。内容はlastコマンドで確認する。)
# /var/log/wtmp
ログインに失敗したログ。(バイナリファイル。内容はlastbコマンドで確認する。)
# /var/log/btmp
各ユーザーの最後にログインした日時のログ。(バイナリファイル。内容はlastlogコマンドで確認する。)
# /var/log/lastlog
ログインに成功したログを整形して表示。
# last -n 10 refirio
ログインに成功したログを整形して表示。(ホストを省略せずに最後に表示。)
# last -n 100 refirio -a
ログインに失敗したログを整形して表示。
# last -n 10 refirio
各ユーザーの最後にログインした日時のログを整形して表示。
# lastlog
【last, lastlog】Linuxでログイン履歴を確認するコマンド | UX MILK
https://uxmilk.jp/26163
last、lastb、lastlogの結果にIPアドレスは含まれていないが、
/var/log/messages
を見ればログインしたときのIPアドレスは判る。
コマンド一つ一つの実行者のIPアドレスまでは記録されないようだが、実行中に限れば以下の方法で調べることはできる。
SSHで接続して処理を実行中のユーザーの接続元IPを確認する方法
http://www.lesstep.jp/wiki/index.php?SSH%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%E5%87%A6%E7%90...
■Apache
アクセスログ。
# cat /var/log/httpd/access_log
アクセスログ。(SSLの場合。)
# cat /var/log/httpd/ssl_access_log
エラーログ。
# cat /var/log/httpd/error_log
エラーログ。(SSLの場合。)
# cat /var/log/httpd/ssl_error_log
ログの解析については、後述の
「Apacheのログをコマンドで解析」
も参照。
■nginx
アクセスログ。
# cat /var/log/nginx/access.log
エラーログ。
# cat /var/log/nginx/error.log
■Vsftpd
アクセスログ。(ファイルのアップロード、ダウンロード、削除などが記録される。)
# cat /var/log/xferlog
環境によっては /var/log/xferlog/vsftpd.log などの名前に変更されているかもしれない。
ログの解析については、後述の
「FTPのログを解析」
も参照。
■Postfix
メールに関するログ。
# cat /var/log/maillog
ログの解析については、後述の
「メールのログを解析」
「メールのログをコマンドで解析」
「メールのログをmaillogconvert.plで変換してコマンドで解析」
も参照。
■PHP
アクセスログなし。(Apacheに依存。)
エラーログなし。(Apacheに依存。)
■MySQL
アクセスログなし。(記録していない。)
エラーログ・アプリケーションログ。
# cat /var/log/mysqld.log
専用ログ。
スロークエリログファイル。(slow_query_log_file で設定。)
# cat /var/run/mysqld/mysqld-slow.log
mysql> SELECT * FROM mysql.slow_log;
■Zabbix
Zabbixサーバのログ。
# cat /var/log/zabbix/zabbix_server.log
Zabbixエージェントのログ。
# cat /var/log/zabbix/zabbix_agentd.log
Zabbixプロキシサーバのログ。
# cat /var/log/zabbix/zabbix/_proxy.log
■SFTP
デフォルト設定ではSFTPの操作はログに記録されないが、設定を変更することで記録できる。
主に以下のページを参考に設定。
SFTPの操作をログに残すための設定 #Linux - Qiita
https://qiita.com/Sophick12224/items/b62e5f1af335a29217e0
SFTPサーバーのログ取得設定 - インフォサーカス・インコーポレイテッド - Info Circus, Inc.
https://www.infocircus.jp/2020/08/06/sftp-server-logging-config/
sshd_config内にある設定で「-l INFO」を付与する。
# vi /etc/ssh/sshd_config
「INFO」は、ファイルの転送・許可の変更などに関する情報を記録する。
ログは /var/log/messages に記録される。
一例だが以下の操作を行ったとき、
1. SFTPで /home/ec2-user にアクセス。
2. ディレクトリ test を作成。
3. ファイル test/test.txt を作成。
4. ファイル test/test.txt を test/test1.txt に名前変更。
5. ディレクトリ test を test1 に名前変更。
6. ファイル test1/test1.txt を削除。
7. ディレクトリ test1 を削除。
8. 接続を終了。
/var/log/messages には以下の内容が記録されていた。(実際は空行なし。)
SSH接続の際はIPアドレスは記録されないようだが、SFTP接続の際は記録されている。
Subsystem sftp /usr/libexec/openssh/sftp-server
↓
Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO
# systemctl restart sshd
Dec 5 05:04:51 ip-10-1-0-246 systemd: Started Session 15 of user ec2-user.
Dec 5 05:04:51 ip-10-1-0-246 systemd-logind: New session 15 of user ec2-user.
Dec 5 05:04:51 ip-10-1-0-246 sftp-server[23652]: session opened for local user ec2-user from [203.0.113.1]
Dec 5 05:04:51 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user"
Dec 5 05:04:51 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user"
Dec 5 05:05:00 ip-10-1-0-246 sftp-server[23652]: mkdir name "/home/ec2-user/test" mode 0777
Dec 5 05:05:02 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user"
Dec 5 05:05:02 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user"
Dec 5 05:05:04 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user/test"
Dec 5 05:05:04 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user/test"
Dec 5 05:05:07 ip-10-1-0-246 sftp-server[23696]: session opened for local user ec2-user from [203.0.113.1]
Dec 5 05:05:07 ip-10-1-0-246 sftp-server[23696]: opendir "/home/ec2-user/test"
Dec 5 05:05:07 ip-10-1-0-246 sftp-server[23696]: closedir "/home/ec2-user/test"
Dec 5 05:05:07 ip-10-1-0-246 sftp-server[23696]: open "/home/ec2-user/test/test.txt" flags WRITE,CREATE,TRUNCATE mode 0666
Dec 5 05:05:07 ip-10-1-0-246 sftp-server[23696]: close "/home/ec2-user/test/test.txt" bytes read 0 written 6
Dec 5 05:05:07 ip-10-1-0-246 sftp-server[23696]: opendir "/home/ec2-user/test"
Dec 5 05:05:07 ip-10-1-0-246 sftp-server[23696]: closedir "/home/ec2-user/test"
Dec 5 05:05:39 ip-10-1-0-246 sftp-server[23652]: rename old "/home/ec2-user/test/test.txt" new "/home/ec2-user/test/test1.txt"
Dec 5 05:05:40 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user"
Dec 5 05:05:40 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user"
Dec 5 05:05:59 ip-10-1-0-246 sftp-server[23652]: rename old "/home/ec2-user/test" new "/home/ec2-user/test1"
Dec 5 05:06:07 ip-10-1-0-246 sftp-server[23696]: session closed for local user ec2-user from [203.0.113.1]
Dec 5 05:06:11 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user/test1"
Dec 5 05:06:11 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user/test1"
Dec 5 05:06:14 ip-10-1-0-246 sftp-server[23652]: remove name "/home/ec2-user/test1/test1.txt"
Dec 5 05:06:20 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user"
Dec 5 05:06:20 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user"
Dec 5 05:06:21 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user"
Dec 5 05:06:21 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user"
Dec 5 05:06:23 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user/test1"
Dec 5 05:06:23 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user/test1"
Dec 5 05:06:23 ip-10-1-0-246 sftp-server[23652]: rmdir name "/home/ec2-user/test1"
Dec 5 05:06:23 ip-10-1-0-246 sftp-server[23652]: opendir "/home/ec2-user"
Dec 5 05:06:23 ip-10-1-0-246 sftp-server[23652]: closedir "/home/ec2-user"
Dec 5 05:06:35 ip-10-1-0-246 sftp-server[23652]: session closed for local user ec2-user from [203.0.113.1]
Dec 5 05:06:35 ip-10-1-0-246 systemd-logind: Removed session 15.
■grepの使用例
# tail -n 100 /var/log/secure | grep warning
# tail -n 100 /var/log/secure | grep refuse
# tail -n 100 /var/log/secure | grep fail
# tail -n 100 /var/log/secure | grep error
# tail -n 100 /var/log/messages | grep invalid
# tail -n 100 /var/log/messages | grep fail
# tail -n 100 /var/log/messages | grep error
件数を取得。
# grep ConnectException -c /var/log/httpd/error_log
正規表現で検索。
# cat error_log | grep digest
# cat error_log | grep done
↓
# cat error_log | egrep '(digest|done)'
圧縮されたログを表示。
# zcat /var/log/httpd/access_log
圧縮されたログを検索。
# zgrep XXX /var/log/httpd/access_log
gzのファイルを展開せずにgrepする - Qiita
https://qiita.com/aaaaAAAA1111/items/7b56b2f5c3073f8f6b19
■ファイルの監視
# tail -f /var/log/httpd/access_log … 対象ファイルに変更があれば即座に反映。(「Ctrl+c」で終了。)
# tail -n 5 -f /var/log/httpd/access_log … 対象ファイルに変更があれば即座に反映。(デフォルトで5件まで表示。)
# tail -f /var/log/httpd/access_log | grep /test/ … 対象ファイルから「/test/」を検索。変更があれば即座に反映。
# tail -n 5 -f /var/log/httpd/access_log /var/log/httpd/error_log … 複数ファイルを同時に監視。(ただしmultitailを使う方が良さそう。)
multitailで複数のログを同時に監視
https://rcmdnk.com/blog/2016/03/06/computer-linux-mac/
複数ファイルを tail できる multitail が便利!
http://loumo.jp/wp/archive/20130228202358/
# cd /var/log/httpd
# multitail -f access_log -f error_log … 「-f」が「-F」でいいかは要動作確認。
[Linux]「tail -f」での監視はもう古い!?超絶便利なlessコマンド
http://qiita.com/shuntaro_tamura/items/faaebb3282c37a718b76
tail -fやtailfを使うのはやめてless +Fを使おう
http://qiita.com/LOUIS_rui/items/8d935526571ccfe171ae
エンジニアなら知っておきたい lessコマンドtips 11選
http://qiita.com/ine1127/items/64b5b6cf52471c3fe59c
「tail -f」を使うのは情弱、情強は「less +F」を使う
http://www.softantenna.com/wp/unix/stop-using-tail-f/