数人のSSHユーザーが問題を引き起こしているため、私のサーバーでいくつかのセキュリティ問題が発生しました。
だから私はしたい:
Sshデーモンsshd
には、この多くが組み込まれ、有効になっています。これが私のマシンの/var/log/secure
からのいくつかのサンプル行です(名前とIPアドレスが変更されました):
Sep 7 08:34:25 myhost sshd[6127]: Failed password for illegal user root from 62.75.999.999 port 52663 ssh2
Sep 7 08:34:26 myhost sshd[7253]: User root not allowed because listed in DenyUsers
Sep 7 08:34:28 myhost sshd[7253]: Failed password for illegal user root from 62.75.999.999 port 53393 ssh2
Sep 7 11:55:18 myhost sshd[11672]: Accepted password for gooduser from 98.999.26.41 port 43104 ssh2
Sep 7 23:01:28 myhost sshd[22438]: Did not receive identification string from 999.56.32.999
Sep 8 06:31:30 myhost sshd[21814]: Accepted password for gooduser from 98.999.26.41 port 5978 ssh2
この例は、誰かがこのマシンにrootとしてsshしようとする試みをいくつか示しています。rootが禁止されているため、両方とも拒否されました。また、「gooduser」という名前のユーザーによるログインの成功も示しています。
whatが表示され、どのファイルで表示されるかを微調整するには、 sshd_config マニュアルページ-特にLogLevelとSyslogFacilityのオプション。
Doug Harrisが回答した内容をフォローアップし(そしてあなたの質問の一部にのみ対処します-これは私の仕事のやり方のようです)、LogwatchパッケージはSSHdログを含む多くのサーバーログの要約を毎日メールで送信します。 SSH経由で正常にログインしたユーザー、回数、場所、ログインに失敗したIPの種類、それらが使用した資格情報の概要が表示されます。パスワード認証を許可しているホストに対して誰かがブルートフォースSSH攻撃を試みると、時間がかかります(代わりに、RSAキーを優先して、それを回避しようとしますが、顧客は常に正しく、公開キー認証を常に理解しているわけではありませんとにかく。)
UbuntuにLogwatch(基本的にはさまざまなログ形式をダイジェストするための単なるPerlフィルターのコレクション)をインストールするには、apt-get install logwatch
を使用して/etc/cron.daily/00logwatch
を編集し、--output mail
を--mailto [email protected]
に置き換えます。あなたは1日1つを取得します。 Logwatchが実際に読み取るログを調整するために、フラグをさらに追加できます。
ユーザーを追跡する非常に完全な方法の1つは、 auditd を使用することです。これは、監査する必要があるものをすべて追跡するカーネルレベルの方法です。 Ubuntu Serverにバンドルされている必要があり、まだ実行されていない場合は、Sudo service auditd start
で起動できる必要があります。
/ usr/share/doc/auditd /またはそれに類似したものの下に、その構成例がたくさんあります。もちろん、Googleでauditdチュートリアルを行う場合は、多くの、多くのチュートリアルで報われました。
Auditdによって生成されたレポートは、/ var/log/audit /ディレクトリに保存されます。また、aureportやausearchなどのツールを使用して、より人間が読みやすい形式に解析することもできます。これらもUbuntuサーバーにバンドルされているはずです。 。
特にディストリビューショングループタイプの人々には、sshアカウントを提供しません。
ここにいくつかのことがあります:
From 履歴ファイルをbashで統合できますか?
Insert the command shopt -s histappend in your .bashrc.
This will append to the history file instead of overwriting it.
Also in your .bashrc, insert
Prompt_COMMAND="$Prompt_COMMAND;history -a; history -n"
and the history file will be re-written and re-read each time
bash shows the Prompt.