ログを確認
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/