[サーバー管理] Login状況のログを確認する。

2016年10月27日

Tips サーバー テクノロジー 日記

サーバーの動作がおかしい時にどういう調査しますか? まずはapacheやnginxなどのアクセス状況を調べますよね。 もちろん、上位ネットワーク機器のトラフィックやセッション状況などを調べることで、アクセス状況は分かるんですが、できれば単体サーバーでの調査をもれなく行いたい時に、「不正ログイン」を疑う時もあります。 そんな時にどういう調査をしたらいいかをメモしておくことにします。

ログイン履歴の調査#コマンド

last

ログインしたユーザーを日時ソートで表示 サーバーのよく使うコマンドメモ| last

lastlog

サーバーに登録されているユーザーの最終ログイン日時などの情報を取得 サーバーのよく使うコマンドメモ| lastlog

who

現在ログインしているユーザーを表示。 攻撃されている最中での確認を行うことができます。 ※類似コマンドで「w」というシンプルなものもある。

ps

ユーザー別に起動しているプロセスの表示を確認できる。 $ ps auxf grepでユーザーを絞り込むことで想定外ユーザーや、実行予定でないプロセスなどを調査することが可能。

ログイン履歴の調査#ログデータ

/var/log/wtmp

誰がいつログインしたかという履歴をロギングしているファイル。 $ who /var/log/wtmp vagrant pts/0 2016-10-02 17:47 (10.0.2.2) vagrant pts/1 2016-10-02 17:51 (10.0.2.2) vagrant pts/2 2016-10-04 00:59 (10.0.2.2) vagrant pts/0 2016-10-08 23:49 (10.0.2.2) vagrant pts/1 2016-10-23 06:46 (10.0.2.2)

/var/run/utmp

ログインユーザーの行動ログデータ $ who /var/run/utmp vagrant pts/1 2016-10-23 06:46 (10.0.2.2)

不正ログインの対処方法

サーバー管理の重要な役割として「セキュリティ対策」がある。 構成設計や、高負荷対応だけでなく、セキュアなサーバーを構築、運用することもサーバー管理者には求められる。 サーバー管理者は常に先を読んで設計、構築、予測、実行、対応ができなければいけないのだ!

ログインパスワード変更

企業では3ヶ月に一度各種ログインパスワードの変更を行う運用がある。 ベタな方法だが、パスワードが漏洩する可能性がある場合は必須な運用かもしれない。

ポート制御

sshアクセスの22番ポートを別ポートに変更して運用するだけでも、セキュリティレベルはかなり上昇できます。

アクセスIPアドレス制限

sshの22番に対して、特定の固定IPアドレスからしかアクセスできないようにすれば、ほぼ外部からの侵入は防げます。 ただし、内部からの不正アクセスには意味がない。

rootユーザーでのダイレクトログイン防止

rootログインができてしまうと、サーバーのシステムコントロールがワンラインコマンドで実行できてしまう。 運用において、面倒くさい踏み台アクセスなどを行っていると作業スピードも落ちるしバッチ作成も少しややこしくなる。 しかし、セキュリティとは、面倒くさい事と考えることも重要かもしれない。

効率のいい運用

上記のどれか一つだけ対応するのではなく、いくつかの実行できる組み合わせを行うことで不正アクセスを限りなく減らすことが可能です。 サーバーを踏み台にされると、法的な刑罰が発生する事もあるので、公開サーバーを運用しているという事はそういった事に巻き込まれる可能性もあるという事なので、今一度自己防衛の意味でセキュリティ対策を行い、ログ確認できるスキルを身に着けましょう。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。