_/var/log/auth.log
_を尾行しているときに、ユーザー「foo」の分単位で複数のエントリが(即座に)入力されていることに気付きました。 _auth.log
_(以下のログサンプル)を調整している間、私は個人的にユーザー「root_bar」として1つの接続のみを開いていました。ご覧のとおり、この着信SSH接続のIP情報はありません。着信SSH接続のIPアドレスをトレースする最良の方法は何ですか?
_Aug 10 14:30:04 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:04 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:06 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:06 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:08 ps2000 CRON[16879]: (pam_unix) session closed for user root_bar
Aug 10 14:30:14 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:14 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:16 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:16 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:27 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:27 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:39 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:39 ps2000 suexec: (pam_unix) session closed for user root_bar
_
免責事項:サーバー名、およびすべてのユーザー情報はセキュリティ上の理由から変更されました。
修正:質問「トレース着信SSH接続」は、以下の投稿者によって適切に回答されました。メッセージsuexec(pam_unix)sessionは、@ aseqによって明確にされたsshd
アクティビティを必ずしも示していません。私は無知のため、これをsshd質問として投稿しました。元の質問とその回答は参考になるので、最も役立つ回答を受け入れます。トレースsuexec: (pam_unix) session
は別の質問の候補だと思います。
最終更新:上記のメッセージがsshdに関係していることを発見しました。 /etc/pam.d/common-authでいくつかの調整を行った後、次のような行が表示され始めました。
_Aug 10 16:45:23 candy_bass sshd[427]: (pam_unix) session opened for user summer_flag by (uid=0)
Aug 10 16:45:23 candy_bass sshd[427]: PAM pam_parse: expecting return value; [...sucess=1 default=ignore]
Aug 10 16:45:23 candy_bass sshd[427]: PAM pam_parse: expecting return value; [...sucess=1 default=ignore]
Aug 10 16:45:23 candy_bass sshd[427]: Accepted publickey for summer_flag from xxx.zzz.yyy.abc port 35964 ssh2
Aug 10 16:45:23 candy_bass sshd[427]: (pam_unix) session opened for user summer_flag by (uid=0)
Aug 10 16:45:23 candy_bass pam_limits[427]: setrlimit limit #11 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
Aug 10 16:45:23 candy_bass pam_limits[427]: setrlimit limit #12 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
Aug 10 16:45:23 candy_bass sshd[427]: (pam_unix) session closed for user summer_flag
_
したがって、これはsshdに関連しています。ただし、これはトークン認証ベンダー(その名前はプライバシーのために開示しない)に固有であるため、これはベンダーによって解決される可能性が高いと思います。
それらのログエントリはどのように見えますか?
Sshサーバーは、デフォルトで/var/log/auth.logおよびその他のログファイルにIPアドレスを記録する必要があります。
Aug 1 12:21:30 example.Host sshd[1174]: Failed password for invalid user example from 192.0.2.1 port 9460 ssh2
Aug 1 12:21:32 example.Host sshd[1176]: Invalid user root from 192.0.2.10
質問しているログエントリに文字列「sshd」が含まれていない場合、それらが実際にsshサーバーからのものであるとは思えないため、他の場所を探す必要があります。ホスト名の後に続く文字列を見てください。どのプログラムがログを書き込んでいたかがわかります。
/ etc/ssh/sshd_configをチェックして、ログレベルが正しいかどうかを確認することもできます。squeezeのデフォルトは次のとおりです。
# Logging
SyslogFacility AUTH
LogLevel INFO
おそらく、詳細度を上げると、より多くの情報が明らかになる可能性があります。質問に追加したログエントリの前には、上記で貼り付けたログエントリが必要です。
誰かが正常にログインしたかどうかに関係なく、接続が確立されるたびにSSHの接続が開いたり閉じたりします。
Sshを介したログイン試行の成功と失敗に関する詳細を表示するには、/var/log/secure
または/var/log/messages
を参照してください。
***場所はLinuxのディストリビューションやホスティングプロバイダーによって異なる場合があることに注意してください。*
サーバー上のrootユーザーにアクセスできる場合は、iptablesを利用して、tcpポート22のすべての新しい接続に対して「LOG」ステートメントを実装できます。これにより、/ var/log/messagesファイルに接続の開始を示す情報が追加されます。サーバーへのインバウンド。
IPv6を実行している場合、そのためのファイアウォールはiptables6になると思います。
auth.log
のChallengeResponseAuthentication
とUsePAM
の設定をコメントアウトすることで、/etc/ssh/sshd_config
の問題のセッションの開始と終了の急増を解決しました。
ChallengeResponseAuthentication yes
UsePAM yes
に
#ChallengeResponseAuthentication yes
#UsePAM yes
つまり、ベンダーに正しい設定を見つけている間、PAMモジュールを一時的に無効にしました。