web-dev-qa-db-ja.com

sshdロギングは、秘密鍵なしでログインを試みます

Debian 7を実行している私のVPSでは、デフォルトのポート22でsshが有効になっており、秘密鍵認証のみが有効になっています。他のすべてのポートはiptablesでフィルタリングされています。 「plesk」や「r00t」などの偽のユーザー名で中国からログインが頻繁に試行され、/ var/log /auth.logに表示されます。

唯一の問題は、秘密鍵を提示せず、有効なユーザー名でログインを試みる認証試行の場合です。ログに表示される唯一の行は次のとおりです。

sshd [4364]:接続は123.45.67.89によって閉じられました[事前認証]

SshdログレベルがVERBOSEに設定されている場合、ユーザーが接続したこととユーザーが接続したポートを示す追加の行が出力されます。

秘密鍵がないためにユーザーを切断したことをsshdログに記録する方法はありますか?

6
KaelanDuck

「チート」を使用できます。authセクションの/etc/pam.d/ssh(d)で、pam_unixまたは@include common-authステートメントの前にログステートメント(pam_log)を追加できます。このステートメントがヒットした場合、パスワード認証が試行されています。

1
Konrads

あなたの質問への答えはいいえです。少なくとも、いくつかの賢明な代替手段よりもはるかに難しい英雄的な手段(たとえば、DEBUGレベルを実行してスクリプトで処理する)を実行しない限りではありません。同じ[preauth]キーがないか、キーが無効な場合、エラーが報告されます。

一方、実際に接続している場合は、ログに明示的に表示されます

Jul  7 15:59:38 ws6 sshd[9578]: Accepted password for robohacker...

または

Jul  7 15:59:38 ws6 sshd[9578]: Accepted publickey for robohacker...

便利にできることは、構成をさらに強化することです。すでにキーが必要です。AllowUsersおよびAllowGroupsコマンドを使用して、特別に許可されていない人による接続を防ぐこともできます。

個人的には、DenyHostsを常にインストールしていますが、最近の更新はないようです。 Fail2Banも良いと聞きました

1
nortally

詳細モードの場合、sshdは実際に切断ステートメントをすでにログに記録します。

より多くの情報が必要な場合は、究極のDEBUGロギングモードを使用することもできますが、適切なログローテーションポリシーがないとログが急速に増加するため、これには十分注意してください;-)

0
Dr I

Sshdが実行できるロギングは、man sshd_configに文書化されます。それを「ログ」で検索してみてください。しかし、そこに特定の情報はありません。主にLogLevelとSyslogFacilityだけですが、MaxAuthTriesが役立つかもしれません。

0
Andrew Schulman