[セキュリティ] 個人サーバーの放置に注意

インターネットセキュリティ セキュリティ

自宅サーバーやレンタルサーバーなどでWebサイトを公開しているが、最近めっきり更新しなくなり、ずっと放置気味……みたいな方、もしかしたらそのサイト、いつの間にか何者かに侵入されて悪さされてるかもしれない。特に古いバージョンのWordPressやMovable TypeなどのCMSを放置している場合は要注意だろう。

かくいう私のWebサイト(つまり、ココ)も、先日、なぜか突然アクセスできなくなっていた。サーバーを確認してみると、.htaccess の内容が書き換えられおり 403 Forbidden が表示されるようになっていた。レンタルサーバーのサポートに問い合わせてみると、私のサイトで非常に多くの通信が発生していたので、管理者側でアクセス不可に書き換えたのだという。要は、アクセスできなくなったこと自体はレンタルサーバーの管理者の操作によるものだったのだが、問題は、なぜか非常に多くの通信が発生していたということだ。

はて、私のWebサイトのPVなんて、1日10件もない場末も場末のサイトなはずだ。まずアクセスがそんなにいっぱい発生することは考えられない。そして、そのサーバー上で何か処理をするようなこともしてないはず。全くもって身に覚えがないのだが……。

と、そこで気付いた。これはやられてるなと。

ターミナルでログインしてみると、今はほぼ更新していない Movable Type (以下、MT)のディレクトリの下に、あやしいファイルがいくつもつくられていた。大体ランダムなアルファベットに拡張子 php がついたようなファイル(XsqawPs.php とか pcSazdrrs.php など、そのファイル名は言葉として意味をなしていない)が大量に。あと、サブディレクトリの下に accesson.php といういかにもな名前の php ファイルが仕込まれていた。こんなもの私はつくった覚えはないし、MTのファイルでもなさそうだ。つまり、何者かがこのサーバーに侵入してつくったものということだ。

ちょっと調べてみると、これは Backdoor:PHP/Webshell 系統のバックドア型マルウェア絡みのファイルらしいことがわかった。MTディレクトリの下にあったことから、おそらく古いMTの脆弱性をついてきたものと予想される。ただ、最早それ以上はよくわからんし、MTはほぼ使ってなかったので、この際MTごと削除してやった。

しかし、サーバーをちゃんと管理してないと、こうして知らない間に何者かがサーバーに侵入して、何か悪さされることがあるのだということを実感したので、どうにかそれをチェックできないかと思って少し調べたことを、備忘として以下に書き留めておく。

サーバー上のファイルが1時間以内に作成されたり更新されたりしていないかは、下記のコマンドで確認できる。

find ~/ -mmin -60

これでヒットしたら、そのファイルは1時間以内に何者かによって作成されたり更新されたということになる。このパラメータの -60 は 60分前ということ。例えば、2時間に更新されたファイルをチェックする場合は -120 にすれば良い。もう少し長く、1日以内の更新ファイルの確認は

find ~/ -mtime -1

のように min を time にすれば日単位で期間を指定できる。

ただ、サーバーのアクセスログなどを取っている場合は、そうしたファイルも対象になるので、grep コマンドなどで除外すると良い。

find ~/ -mtime -1 | grep -v log

次に、1時間以内にアクセスされたファイルをチェックする場合は

find ~/ -amin -60

とやれば良い。1日以内で確認する場合は

find ~/ -atime -1

特定のディレクトリの下のみ確認したい場合は

find ~/www/ -atime -1

という感じ。この例は www/ というディレクトリの下についてアクセスを確認している。

ちなみに、ルートからチェックしたい場合は ホームの指定である ~(チルダ)を除去すれば良いが、ルート下はユーザー権限でアクセスできないファイルもあるので、そうしたものを除外して表示するには、エラーを /dev/null に送ればスッキリみられる。

find / -mtime -1 2>/dev/null

ただ、レンタルサーバーの場合は、大抵ホームディレクトリ下(~/)をチェックすれば良いと思う。

とりあえずこれで、自分でつくったり更新したりしていないファイルを見つけたり、誰もアクセスしないはずのファイルがアクセスされてたりすると、これは何かやられてるかもしれない!と気付ける。

タイトルとURLをコピーしました