冷や汗、ハッキング(不正侵入)って意外と簡単にできるのね
多くのエンジニアがそうだと思うのですが、私も、
なので、アプリ開発の勉強優先で、セキュリティの知識は、
- 情報処理技術者試験の勉強
- コンピュータウィルスや情報漏えい事件などの記事を読む
などで、なんとなく身につけたもの、そんな程度です。
とはいえ、アプリ開発やサーバ構築する際には、
- この実装だと、こういう操作をされた場合に不正にデータを更新できちゃうから、入力チェックを入れておこう
- まっさらのサーバ構築する時には、不要なポートをふさいで、あれして、これして…
とやってきたので、
「まぁ、ガチガチには防御してないけど、ある程度の対策してるから大丈夫っしょ!」
と思っていました。
ところが、Udemyのセキュリティ講座を受けたら、その自信がガラガラと崩れ落ちました。
「えぇぇーーーー!?こんなかんたんに侵入できんの?やばいやん!!」と。
そんなわけで今回はサーバーセキュリティについて学んだことを紹介します。
学んだ内容
受講したのは【サイバーセキュリティ完全攻略】ホワイトハッカー養成講座(ハッキングツール、Webアプリ攻略、不正侵入検知)です。
ホワイトハッカーというのはかんたんにはいうとコンピュータを悪意ある攻撃者(クラッカー)から守る人のことです。
守りを固めるためには、攻撃者の手口を知らなければなりません。
そこで、この講座では
- ポートスキャン
- パケットキャプチャ
- ブルートフォースによるパスワードアタック
- ローカルプロキシ
- ディレクトリトラバーサル
- SQLインジェクション(Blind)
- ファイルアップロード攻撃
- バックドア
- ネットワークセキュリティ・モニタリング
などの手法を学び、実際に演習します。
VirtualBoxというPCを仮想化するツールを使って、PC上に、
- Kali Linux(ハッキングツール満載のLinuxパッケージ)
- metasploitable2(セキュリティ設定が甘いサーバ、攻撃されるサーバ役)
- Ubuntu(Nessusという脆弱性診断ツールを使える)
- SecurityOnion(ネットワークセキュリティ・モニタリング機能搭載のLinuxパッケージ)
上記4つのLinuxOSをインストールして、
- Kali Linux → metasploitable2へ攻撃
- Ubuntu → metasploitable2へ脆弱性診断
- SecurityOnionでKali Linuxとmetasploitable2の間で行われるネットワーク通信を監視
をします。
そして、
- 脆弱性診断して脆弱性を検出する
- 検出された脆弱性をついて攻撃を実施し、侵入成功することを確認する
- 攻撃される側のサーバ設定を変更して脆弱性をなくし、再度同じ攻撃をして、侵入失敗することを確認する
この全手順が示されます。
実際に手を動かしながら、サーバに攻撃を仕掛け、侵入し、セキュリティを強化(サーバの設定を修正)した後に、侵入できなくなったことを体験できました。攻撃と守備、両方を体感した結果、
「改めてセキュリティ対策ちゃんとしなきゃな!」
と心から思いました。
演習で行ったのは、わざとセキュリティ設定を甘くしたサーバに対する攻撃なので、実運用してるサーバがここまでかんたんに乗っ取られることはないでしょうけれど、正直、背筋がゾクッとしました。
サーバに侵入する手順の一例
- nmapというポートスキャンツールで開いてるポートと動作しているソフトウェアのバージョンを検出
- 検出されたソフトウェアが例えばvsftpd 2.3だった場合、msfconsoleでコマンド「search vsftpd」をして、対応するエクスプロイト(脆弱性を攻撃するツール)を検索する
- 見つかったエクスプロイトとペイロード(攻撃内容)、攻撃先サーバのIPアドレスを設定して攻撃を実施する
- 侵入に成功し、cat /etc/passwdと入力すると、なんとパスワードファイルが表示される
こんな簡単に侵入できるなんて、怖すぎる…………衝撃的でした。
自分が開発するWebアプリケーションにいくらセキュリティ対策をしていても、vsftpdのようなFTPサーバに脆弱性(この例ではバックドア)があれば、かんたんに侵入されてしまうわけです。身が引き締まりますね。
「ん、待てよ、この手順でセキュリティの甘いサーバにいろいろいたずらできるんじゃないか」って?
悪用厳禁、私たちはジェダイの騎士
講座内でも説明されていますが、これらのツールを使ったサーバへの侵入は不正アクセス禁止法違反であり犯罪です。
やっていいのは、自分が管理しているサーバや、セキュリティ脆弱性診断を許可されたサーバに対してのみです。
講座の最後では、
ハッキング技術はスターウォーズのフォースのように、良いことにも悪いことにも使えます。
暗黒面に堕ちてダースベイダーにならないように注意しましょう!
と締められています。
- ホワイトハッカー = ジェダイの騎士
- クラッカー = ダースベイダー
って考えると断然ホワイトハッカーになりたいですよね。
とてもおもしろく、実践的な講座でした。興味が湧いた方はぜひ見てみて下さい。すごく勉強になるはずです!