世界中に、入口が開いていた
サーバーの「入口」
クラウドのサーバーには、外から入るための「入口」がある。どの入口を開けるか。誰を通すか。それを決める設定がある(AWSなら、セキュリティグループのインバウンドルール)。
いま、私がいちばん力を入れているのが、この設定を含めたクラウドのセキュリティの診断だ。
世界中の、どこからでも
診断で設定を一つずつ見ていくと、こういう行に出会うことがある。
使っていない入口が、「0.0.0.0/0」で開いている。
0.0.0.0/0 は、「世界中の、どこからでも」という意味だ。本当は社内からしか使わない入口や、もう使っていない入口が、世界中に向けて開いたままになっている。
なぜ、開いたままなのか
作った人に、悪気があったわけではないと思う。
作っている途中、うまくつながらない。とりあえず全部開けてみる。動いた。そのまま次の作業に進む。締め切りが迫っていれば、なおさらだ。
そして、誰も閉め忘れに気づかない。開いていても、システムは普通に動くからだ。
以前、ある工場で、ラインが止まっていても動き続けるコンプレッサーを見つけたことがある。空気が余っていても、誰も困らない。だから、誰も止めなかった。
入口も同じだ。開いていても、攻撃されるまでは誰も困らない。
開いている入口は、必ず見つかる
インターネットの上では、開いている入口を自動で探して回るプログラムが、休みなく動いている。
小さな会社だから狙われない、ということはない。探す側は、相手を選んでいないからだ。
診断のあと、やること
診断して終わりではなく、提案して、直すところまでやる。たとえば、こういう順番で進める。
- 使っていない入口を閉じる
- 必要な入口も、通す相手を絞る
- そもそも、サーバーに直接入らなくても運用できるようにする(SSHを使わない運用)
- 入口の手前に、攻撃を止める壁を立てる(WAF)
- 鍵を持ち歩かない認証に切り替える
どれも、特別な技術ではない。知っていれば、できることばかりだ。逆に言えば、知らなければ、開いていることにすら気づけない。
動くことと、安全なことは別
システムは、動けば使える。でも、動くことと安全なことは別だ。
AIのおかげで、システムを作る速さは格段に上がった。動くものは、前よりずっと早くできる。そのぶん、「とりあえず動いた」まま本番に出ていくものも、増えていると思う。
もし自社のシステムがクラウドで動いているなら、担当の方に一度だけ聞いてみてほしい。
「0.0.0.0/0 で開いている入口は、ありますか」
すぐに答えが返ってくれば、安心していい。