サイト改ざん被害が多数出ています!ご注意を

ここ最近、大変たくさんの方から、自社のWEBサイトが改ざんされているようだというお問い合わせをたくさんいただいております。
皆様ご注意下さい。

改ざん被害の多くはFTPパスワードが盗まれることによる被害

当社に寄せられるサイトデータ改ざんによる被害を調査していきますと、その大多数が、FTPに正当にログインを行い直接改ざんしたWEBデータをアップロードするアタックが多かったように見受けられます。
FTPというツールは、平文のパスワードで認証を行うため、ハッキングされやすいプロトコルであることは周知の事実です。
何の手も施していない場合、パスワード総当たりアタック(0,1,2,00,01と、順番にパスワード認証を行うアタック)でいつかパスワードが的中し接続されてしまうことでサイトを改ざんされてしまうアタックです。
長年、パスワードを変更せずかつ、簡単なパスワードで桁が少ないものほど被害に遭いやすいものです。
ここ最近、このFTPを狙ったアタックが非常に多いようです。

最近のアタック事情

最近のアタック事情は簡単にまとめると以下の二つです。

FTPのパスワードを盗み、サイトのデータの改ざん

この改ざん被害は表面上の見た目ではわからないことが多いです。
従来あったWEBサイトのデータはそのままで、裏でプログラムを動かし、SPAM配信を行ったり他サーバーのアタックを行ったりします。
サイトに誰かがアクセスするために上記のようなアタック行為がなされるため、アクセスの多いサイトなどが改ざん被害に遭うと、大変大きな問題になります。
実際、日本の各県警、国家公安委員会、インターポールなどが動き始めています。国内中で被害が拡大しているようで、警察当局もどこで取り扱って事件化するか悩んでいるようです。

サーバーに接続出来たらこっそりばらまくよう気づかれないようにいろいろ設置していく

いくつかの被害者の方でみられたのはこのアタックです。
何らかの方法でサーバーにログインができたら、まずはrootパスワードを盗みます。(ログインできる一般アカウントがあれば後は中でrootパスワード総当たりで一晩もあれば盗めます)もしくは、一般ユーザでもcronを実行できる権限が与えられていたらrootすら盗まず仕込んでいきます。
何を仕込むのかというと、気づかれないように、アタック用のプログラムファイルを仕込むCronを掛けていきます。
例えば、私が気づいて、アタックプログラムを削除しても、数分~数日後にはまた同じようなプログラムファイルが出来上がります。
消しても消しても気づいたら現れる。。。そんなゾンビのような仕込みを行っていきます。
気づかなければ、サーバーの電源を落とさない限り永遠に続くアタックです。
ここ最近はこのアタックも増えています。

FTPをどう守っていくのか、サーバー管理者のセキュリティポリシーを考える

FTP自身を強化しようとしても、その使用は旧来から平文で行うものとなっているため、サーバー側がセキュリティを強化してしまうとクライアント側(PC側)のソフトが対応できなくなるため、新しい規格へと作り変えにくいものとなってしまいました。
そのためセキュリティ強化と言ってもパスワードの桁数を増やすこと、大文字小文字英数字に記号を交えて、総当たりアタックを行われた場合もパスワードが合致するまで膨大な時間がかかるようにするしか方法はありません。もっと別のセキュリティポリシーを持つしかないのです。

Fail2banなどでBanポリシーを持つ

Fail2banというソフトがあります。
このソフトは、パスワード認証が必要なデーモン単位で設定ができ、ポリシーに従って、そのポリシー以内にログインできなかったIPアドレスを一定時間接続不能にする機能を持ったソフトです。
例えば、FTPプロトコルに採用した場合、標準的な設定では、10分間で、3回以上ログインができなかった場合、10分間Ban(接続不能にする)されるように設定ができます。
こうすることで、パスワード総当たりアタックをしようとした悪意のあるクライアントは一定時間接続ができなくなる(解除されてもまた数回でBanされてしまう)ため、一般的なアタッカーであれば途中であきらめてしまいます。
また、Fail2banには、記録を残し、一定時間の中で数回以上Banされた場合、さらに長期間Banをする機能も備えられているため、悪質なIPは、長時間のBanを行うことも可能となっており、より悪意のあるアタッカーの排除が可能です。

.ftpaccessを利用して必要なIP以外からの接続を排除する

最もシンプルで原始的な方法ですが、FTP接続を許可するIPアドレスを指定してしまえば、それ以外のIPからは接続できなくなります。
ファイアウォールでそのような設定を行うことももちろん可能ですが、共用サーバーなどでファイアウォールをいじる権限がない場合に、.ftpaccessを利用して、必要なIP(IPブロック)だけを接続許可することが可能です。また、ftpaccessでは、どのIPアドレスはどのディレクトリを閲覧、操作することが可能かなど、ディレクトリ単位での制限も可能となりますので、WEBサイトを複数のデザイナーやプログラマーで作り上げていく際に、このディレクトリ以下はあのデザイナーには閲覧させたくない。。。などの制限をかけることも可能になります。

FTPSを利用する

パスワード総当たりアタック自身には有効ではありませんが、通信中にパスワードを読み取られる。。。通信内容の傍受に関しての対策としてはFTPにSSLを実装したFTPSは有効です。
ただし、先述の通り、パスワード総当たりアタックには有効ではありませんので、Fail2banなどと併用することがおすすめです。

FTPサーバーの利用をやめSFTPを使う。

FTPサーバーというのはパスワード認証機能しか持っていない、また、FTPというかなり昔から存在するプロトコルであるため、仕様の変更はクライアントソフトの大幅な変更が必要になることもあり、今現状の認証機能をセキュリティアップデート行うことが現実的に不可能なプロトコルになっています。そういうこともあり、近年はFTP自身を利用することをやめセキュリティの強化を行いやすいSSHを利用したファイル転送を主とするサーバーも増えてきました。
SSHを利用したファイル転送機能をSFTPと呼び、SSHという機能を使い、サーバーと接続し、そのうえでファイル転送を行う仕組みです。
このSFTPは、SSHサーバーの仕様に合わせた認証機能をもつため、現在強固だと言われている鍵認証に対応できます。
また、FileZillaなど、著名なFTPソフトには、SFTPによる接続(鍵認証にも対応)に対応したクライアントソフトも出回るようになり、セキュリティ管理を細かくできないサーバー管理者が好んで使うことが増えました。

FTPに限らず、セキュリティポリシーをしっかりもちサーバーを管理することが必要になってきます。

セキュリティに関する意識の向上

よくお客様は、『当社のこんな小さい、個人情報も扱っていないサーバーをアタックしてもいいことないんじゃない?』と、言われますが、クラッカーにしてみればそれこそ格好の対象です。
ほとんど動いていないかつ、セキュリティが甘いマシンをあさり、それらを踏み台に、国防総省などのマシンにアタックを仕掛けます。
単純にアタック元をあなたのサーバーにし、足がつかないようにすることができるのでむしろありがたいのです。
小さいサーバーで放置されがちなマシンほど危険なわけです。それを踏まえてセキュリティ意識を高めていかないと、軒並みアタックされます。

まず、不必要なものは閉じるポリシーが重要

例えば、SSHという遠隔操作を可能にしたSSHというプロトコルです。
普段使わない時は閉じておくことで、根本的に接続できなくなります。
このSSHに、一般ユーザでもログインされてしまえば、あとは内部でRootパスワードを総当たりで当てればそのサーバーは好き放題できるようになるわけです。これが最も危険です。
ひんぱんに使わないのであればファイアウォールでそもそもポートを閉じてしまえば接続不能になりますし、ひんぱんに使うようなら最低限鍵に認証設定を行うべきです。これ一つでもずいぶんクラックされなくなります。
同様にFTPも、エンドユーザさんに提供していないのであれば自分が使わない時はファイアウォールでポートを閉じるだけでずいぶんセキュリティ的にはレベルが上がります。

fail2banなどで不正なアタックを検知、排除

先項で、fail2banに触れましたが、これは、FTPに限らず様々なプロトコル単位で制限を書けることができます。
SSH、FTP、メール、Plesk、WordPressなど、パスワード認証が存在するアプリで制限を書けることができます。
ある一定時間(設定可能)にある回数(設定可能)ログイン認証で失敗した場合一定時間(設定可能)該当サーバーに接続できなくすることができます。
これにより、連続して総当たりアタックができなくなるため、クラッカーにしてみたら、面倒くさいサーバーということになり、よりアタックしやすいサーバーに流れていきます。
かなり有効な手段の一つですので、採用する価値があると思います。

クラッカーは、こちらがセキュリティに対する意識を持っているか持っていないか見極めようとしている

サーバーと言われるマシンはこのインターネットの世界に無数に存在しています。
その中で、接続されていることに意識のないセキュリティポリシー0のマシンを探しています。
なぜかというと、セキュリティポリシーが0のマシン(管理者)は、アタックされたことにももちろん気づかないため、長時間乗っ取られたままの状態でいることができます。
ようは、踏み台にされている時間が長くなり、好き放題できるのです。
なので、ほんの少しでもセキュリティに対する意識があることを示すだけでもクラッカーはあきらめたりします。
要は少しでも排除できるツールを使って排除できるようにすることこそ、セキュリティを高め大きな問題にならずに済みます。

ぜひ皆様も意識をもってセキュリティ対応してみてください。