ネットワーク上のマシンの1つが大量のインターネット帯域幅を消費していました。ただし、システムを使用していたユーザーはいませんでした。
SSHを使用してサーバーに接続し、who
を実行したところ、ユーザーが認識できないIPからログインしていることがわかりました。システムでこのユーザーを作成しませんでした。そして/etc/sudoers
ユーザーには無制限のrootアクセスがありました:
test11 ALL = NOPASSWD: ALL
セッションを終了し、ルートパスワードを変更しました。ユーザーも削除しました。
今、私はおそらく安全ですが、なぜこれが起こったのか、そしてユーザーがどのような活動をしたのかを分析する必要があります。
このユーザーによって何が行われたかについての詳細情報を見つけるにはどうすればよいですか? IP、期間、コマンドの実行、インターネットサイトへのアクセスなどに関する詳細情報を取得するのに役立つシステムログファイルはどれですか。
注:これはCentOS 6システムのデフォルトのインストールです。セキュリティまたは監査ソフトウェアをインストールしていません。システム構成も変更しませんでした。デフォルトのインストールから何を抽出できるかを知る必要があります。
システムが危険にさらされているため、そのシステムから取得した情報は信頼できません。信頼できるのは、外部システムにすぐに送信されるログ(リアルタイムのリモートSyslogなど)だけです。つまり、NFS共有への毎晩のログローテーションがある場合、それを信頼することはできません。
ただし、ユーザーが自分のトラックをわざわざカバーしなかった可能性があり、システムで情報をまだ利用できる場合があります。
残念ながら、デフォルトのCentos/RHELインストールでは、非常に最小限のログしか記録されません。基本的に、/var/log
へのアクセスは制限されています。調査する必要があるログは、そのボックスで実行されているサービスによって異なります。しかし、私はsshログから始めます。その後、ルートとして実行されている、またはSudo
アクセス権があるサービスのログを確認します。
運が良ければ、そのtest11
ユーザーがホームディレクトリを持っている可能性があり、.bash_history
ファイルには何が行われたかの履歴が含まれています。
また、未知のユーザーがrootアクセス権を取得できるまでシステムが危険にさらされているため、システムを最初から再構築する必要があります。システムから何も再利用できません。すべてのファイルが危険にさらされていると見なします。また、システムが侵害されたのはどれくらい前かわからないため、バックアップを使用しないことをお勧めします。
ユーザーがrootアクセス権を取得すると、インストールできるバックドアの数に制限はなくなります。システムにアクセスしたのが私だった場合、そのtest11
ユーザーを削除してroot
パスワードを変更しても、速度が低下することはありません。
将来的には、できることがいくつかあります。
前述のように、改ざんされないように信頼できるのは、リアルタイムのリモートロギングだけです。これがあることを確認してください。
システムの重要なコンポーネントを監視および監査するためにインストールおよび使用する必要がある2つのユーティリティがあります。これらは auditd および ossec です。
これら2つのユーティリティは動作が異なりますが、異常なアクティビティを監視することを目的としています。
前述のauditd
ユーティリティと連動して動作する pam_tty_audit
と呼ばれる別の監査ツールがあります。 pam_tty_audit
は、TTY全体のすべての入出力をログに記録する、pamスタックに追加するユーティリティです。つまり、ユーザーがインタラクティブなSSHを介してボックスにアクセスしている場合、ユーザーのアクティビティがログに記録されます。
ただし、このログをすべてのコストで保護することが最も重要であることに注意してください。これは主にパスワードが原因です。プロンプトでパスワードを入力すると、入力されたパスワードが表示されない場合でも、pam_tty_audit
モジュールがそれを表示してログに記録します。機密情報を含むファイルをcat
アウト(または表示)することもできます。これもログに記録されます。したがって、このログは、侵入者が取得できないようにローカルシステムからすぐに出荷するか、暗号化する必要があります(復号化キーをローカルシステムに配置しないでください)。両方を実行し、リモートで出荷し、暗号化することをお勧めします。