サイトのセキュリティ対策

Webサイトを公開する場合、すべからく考慮が必要なセキュリティ対策について考えてみました。サーバーを自宅PCで構築する場合です。レンタルサーバーの場合は契約内容をご覧ください

公開サーバーのセキュリティ対策

Webサイトを、CentOS7や8で構築する場合のキュリティについて考えます。

ネットワーク構成

自宅サーバーで、サーバーを設置する場所を考慮する必要が有ります。一般的に自宅でWebサイトを公開する場合は、ネット接続業者の設置したルーターの、LAN側の直下に設置すると思います。

一方、自宅内にはクライアントPCが1台以上あるとすると、サーバーの設置場所のネットワークと、クライアントPCの設置場所は、別のネットワークに分離するのが安全です。

新しく別の一台のルーターを追加し、追加したルーターは、ネット接続業者のルーターのLAN側に、追加したルーターの、WAN側をつなぎ、クライアントPCはこの追加ルーターのLAN側に設置することで、セキュリティは格段に上がる事になります。

下図に概念図を示します!

ファイアウォールとSELINUX

CentOS7や8をインストールすると、まず、ファイアウォール(Firewalld)とSELINUXが一緒にインストールされると思います。これらのセキュリティ機能は、OSとOS上で動作するサービスやファイル・フォルダ及びサーバーと外部との通信動作に対して働きます。

これらのセキュリティ機能はベーシックな機能ですが、サイトのセキュリティ上、設定は基本に忠実に行うことがベストです。

SSH接続

次に考慮する必要があるのは、サーバーにリモートで接続し、メンテナンスを行ったり、データ管理を行う場合に、SSH(Secure Shell)機能を使う必要があります。

本サイトでは、SSH接続については、1)rootでのログインを禁止、2)ログイン方法での接続を禁止、3)公開鍵方式での接続のみ許可する・・・対策をとっています。従って、まず秘密鍵を使って、一般ユーザーでログインした後、必要に応じてrootユーザーに切り替えて作業をしています

WAF(Web Application Firewall)

インターネットに、サイトを公開する事は、色々なセキュリティ対策を施す必要があります。そういうオーナーも、セキュリティリスクについて詳しいものでは有りませんが・・・

一番良くネットで話題になっているのが、SQLインジェクション攻撃と、 クロスサイトスクリプティング(XSS)攻撃が挙げられています。

SQLインジェクション(SQL Injection)とは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性の事です。

又、クロスサイトスクリプティング(XSS)攻撃とは、攻撃者の作成したスクリプトを脆弱性のある標的サイトのドメインの権限において閲覧者のブラウザで実行させる攻撃一般を指します。(Wikiより)

WAFでは、これらのセキュリティ攻撃以外にも多数の攻撃のケースがあり、これらを防御するシステムがWAFです。当サイトではサーバーにインストールして構築する、オープンソフトのModSecurityについて説明しています。

Dosdetector

DoS攻撃(ドスこうげき)(Denial of Service attack)は、情報セキュリティにおける可用性を侵害する攻撃手法のひとつ。ウェブサービスを稼働しているサーバやネットワークなどのリソース(資源)に意図的に過剰な負荷をかけたり脆弱性をついたりする事でサービスを妨害する。

DoS攻撃には2種類の類型があり、第一の類型はウェブサービスに大量のリクエストや巨大なデータを送りつけるなどしてサービスを利用不能にするフラッド攻撃(Flood=「洪水」)であり、第二の類型はサービスの脆弱性を利用する事でサービスに例外処理をさせるなどしてサービスを利用不能にする攻撃である。(ここまでWikiより)

サーバーをインターネットに公開すると、これらの攻撃を受ける可能性を考えておく必要が有るわけです。WebサーバーのApacheではこれらの対策として、mod_dosdetectorという機能が公開されています。この機能をインストールして動作させる方法を検討します。

タイトルとURLをコピーしました