syslog-ng に入れ替えてから、 /var/log/secure にログが残っていなかったので調べてみた。
SSH の接続ログが成功・失敗の両方ともに /var/log/secure に残らないので問題発覚。
/var/log/messages を確認すると、SSH への接続を試した時点で、以下のエラーっぽいログが残ってる。
Number of allowed concurrent connections exceeded; num='10', max='10'
このログメッセージでググってみたら、どうも syslog-ng 内部の max-connections デフォルト値が小さすぎるためらしい。
- http://bbs.archlinux.org/viewtopic.php?id=34594
- http://stijn.tintel.eu/blog/2007/07/10/syslog-ng-number-of-allowed-concurrent-connections-exceeded/
- https://bugzilla.redhat.com/show_bug.cgi?id=241528
なので、以下のように syslog-ng.conf の設定を変更し、接続枠を増やしてみたところ /var/log/secure にログが残るようになりました。
/etc/syslog-ng.conf -unix-stream ("/dev/log"); +unix-stream ("/dev/log" max-connections(64));
これでとりあえずは問題解決。
こちらの設定も参考になるかもしれない。
http://d.hatena.ne.jp/lamanotrama/20081124/1227519559