fragiler’s Security blog

会社のセキュリティ担当になって早3年。最初は仕事のつもりがいろ面白くなって半分趣味みたいになってきました。まだまだ勉強中の身ですが、遊びがてら発見したセキュリティ関連の内容を書いていこうと思います。

Webサイトの構築(これくらいはやってて欲しいOS設定編)

どこの企業も一般の方々向けのWebサイトを立ち上げるのは当たり前の時代です。

Webサイト立ち上げのツールや、安い料金でサイトを立ち上げてくれるサイト構築ベンダなど、いまや簡単にサイトの構築ができます。

 

でもセキュリティ担当やっていると一抹の不安も…

 「ちゃんとセキュリティ対策してもらえているのかだろうか…」

 

ということで「最低限これくらいやっててくれていればいいのではないか?」と思う対策をまとめてみました。

 

まず基本的なOS部分について…

ファイアウォールでインターネット側に開放するポートを適切に設定する

ただの商品紹介したいだけなら、とりあえず80番ポートだけ開放でいいと思うんです。SSHでリモートからメンテナンスしたいなら、追加で22番ポートも開ければいいと思うんです。

「何も通信できない状態」から「必要なポートを開放していく」という考え方にしたほうがよいと思うんです。よく分からないから「何も設定しない(=全ポート開放状態)」はマズイんです…

 

②管理者用ログインアカウントの設定を不正アクセスされにくいもににする

「root」とか「admin」とか「user」とか「test」とか、ある程度誰でも想像できるアカウントは使わないほういいです。何せリスト化されてますから…

またパスワードも同様で「password」とか「qwerty」とか「password1!」とか使わないほうがいいと思うんです。きっとリスト化されてますから。

 

③root権限アカウントの直接ログインを禁止する

上記②で『「root」は使わないほうがよい』と書いておりますが、作業時には「root」が必要な時もあると思います。なので、「root」などはログインアカウントとして使えなくし、別アカウントでログインした後「su」コマンドで利用できるようにしたほうがよいです。

これは万が一「root権限で不正ログインされる」=「サーバーを一発で乗っ取られる」ということを防ぐため

 

SSHでリモート接続が必要な場合は、IPアドレスの接続元制限を行う

SSHはほぼ毎日のように不正アクセスする人たちがドアをノックする感覚でログインしようとしてきます。なので、SSHで接続できる接続元IPをファイアウォールで制限かけるべきと思います。

 

⑤日々の運用でログイン履歴を確認する

毎日1回とか定期的にOSへのログイン記録を見る習慣があったほうが良いと思います。Webサイトであれば、メンテナンスでもしない限りOSへのログインは発生しないはず。予期せぬ時間帯のログインや、メンテナンスでもないのにログインされたりしていないか?などなど。

 

他にもいろいろと対策はあるし、強化すべきポイントもあると思います。

ただ自分でWebサーバを立ち上げて日々観察してるなかでは、最低限上記くらいやっておけばお遊びで不正ログインしようとする輩からサーバを守れるのでは?と思いました。

 

ということでOS設定についてはここまで。そのうちWebサーバー系の部分の書こうと思います。