2014年07月24日

個人サイトの不正アクセス・改竄対策(こだわりのある管理者向け)

 最近は久々に、FTP転送に老舗ソフトFFFTPを使ってみている。原作者のSotaこと曽田純氏が2011年に開発終了を宣言して以来、有志の方々の手によりSourceForge.JP上で開発が続けられているが、原作者の方針を受け継ぎつつ、セキュリティも随分と向上してきている。(下記のリンク参照)

 私の場合、現在はサイトを自作CMS化したり、64bitパソコンでSSHやTelnetによりサーバーを直接ゴソゴソといじったりしているため、いまだ32bitパソコンでの動作のほうが快適だと感じられるFFFTPはサブ転送ソフトとして使っているにすぎないが、やはりこういった老舗ソフトは、時々は触るようにしていると楽しく懐かしいし、かなり勉強になる。

(2016年10月4日 追記: 以来、徐々に64bitパソコンにも対応し、現在は完全に対応済みです。追記終わり。)

 それに、SSL/TLSの実装にOpenSSLが使用されており、当然4月に起きたOpenSSLのハートブリード問題などの影響は受けるので、いずれにせよ時々は触り、アップデートを続けなければならない。そうは言っても、日本でハートブリード被害で実害を受けたのは、三菱UFJニコスなど数社で、個人サイトに対する不正侵入・改竄などは考えられないレベルではある。

 Linux系のFTPクライアントでは、相変わらずgFTPが最も簡易で便利だが、意外に最近はWindows用のFTPクライアントが充実してきているのが頼もしい。

 私のサイトのアクセス解析を見てみると、相変わらず中国からのXSSアタックやブルートフォースアタックが多く見られ、今のところ無事に跳ね返しているが、こういう点は、わざわざ既存のCMSの使用を避け、自作・手入力したHTML・PHPソースを直接サーバーにFTPやSSHなどで放り込んでいるサイトの強みだとは思う。
(私のサイトのように完全に自作されたサイトは、ソースコードが世界で唯一無二であるため、それだけでも不正攻撃を受けにくい。)

 それでも、特定少数しか辿り着かない個人サイトでさえ、仕掛けられた不正攻撃・マルウェア攻撃の回数自体はこんな有り様だから、既存CMSを使用した企業サイトやTwitter・mixi・FacebookなどのSNSが受けている攻撃は計り知れず・・・。

 一時期は安全と言われたWordPressやMovable TypeなどのCMSも、それら自体に重大な欠陥が発見され続けているし、XSS問題やハートブリード問題以降も改竄・遠隔操作などが確認されており、風潮に乗ってどんどん配布したり簡易インストール機能を設けてきたレンタルサーバー事業者も、緊急の警告を出す事態になっている。そのうち、WordPressブームにも終わりが来る気がする。

 今では、おそらく全世界の半数以上のサイト(日本でも、官公庁や企業サイトのほとんど)が出来合いのCMSで作られていて、当然のようにサイト制作・開発者とサイト管理・更新担当者が全く別になっている。大企業の公式サイトでさえ、個人サイトでも流行しているWordPressやMovable Typeで作られていること自体が信じられない、と思うのは、私だけではないと思うものの、少数派であることもまた確かなのだ。

 その管理・更新担当者の管理・更新権限を保証するアカウント自体の管理が杜撰である企業が多いと感じる。企業サイトであればあるほど、不正攻撃の撃退に失敗したときの代償は大きい。

 それはつまり、サイトの更新がいわゆるTwitterでのつぶやきやブログの更新と同じ要領でできる時代になったからだし、それ自体は「サイトの構造と内容とを分ける」という原理や思想があって初めて可能なものであるわけだが、それによってかえって、今回のベネッセのケースのように羅列的な個人情報やデータベースの持ち出しがほんの数回のクリックだけで容易に可能な世の中になってしまった。

 話がずれてきたが、最近流行のサイト改竄対策のために、個人サイトでできることと言えば、以下のようなことだろう。私のサイトも、一応はこれらに当てはまるようにしている。個人サイトであれば、この程度をやっておけば十分すぎるくらいだとは思うが・・・。

●サイトコンテンツのみならず、構造部分も自分で記述。(XHMTL、HTML、CSS、PHPなど)
●WordPressやMovable Typeなど、構造的に欠陥・バグのあるCMSや大多数の営利企業が導入しているCMS(一度の不正攻撃を受けるだけで莫大な損害を生み出す可能性のあるCMS)は使わない。
●なるべくSSHやTelnetで接続。FTPは試験的に使う。ただし、最近のFFFTPは高機能でセキュリティも強固であるため、ほぼ問題なし。
●構造(ソースコード)と内容(コンテンツ)とを完全に切り分けることで管理・更新を楽にするのではなく、共通部分を隠しPHPファイルとしてインクルードすることなどで管理・更新を楽にする。
【参考ブログ記事】
HTMLファイルのままで共通部分(メニュー・プラグイン)などをPHPで引き込む方法
http://iwasaki-j-ict.sblo.jp/article/81835082.html
●必ずしもSQLなどのデータベース言語に頼らない。PHPとSmartyの併用など工夫次第で十分に軽快な管理・更新が可能。

FFFTPの元開発者 曽田純氏
http://www2.biglobe.ne.jp/~sota/ffftp.html
SourceForge.JP上のFFFTPのページ
http://sourceforge.jp/projects/ffftp/
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/101933145

この記事へのトラックバック