ITセキュリティの考え方の基本

ITセキュリティ対策の基本は、サーバー1台が自分で処理しているたくさんの仕事を、コンピュータの基本構成と言われるOSI参照モデルもしくはTCP/IPモデルの単位(レイヤーとか層とか言います)まで分解して、レイヤーの1つ1つに対してどの様なセキュリティ対策が必要なのか?という対策を練る事から始まり、データが通る道筋すべての暗号化など、多岐にわたります。PCI DSSで定められている定期的な問診票自己調査、侵入テスト、訪問調査など、セキュリティツール導入以外にも沢山ありますが、この記事では基本的なセキュリティツール導入の考え方に的を絞ります。

わかりにくい!という方は、サーバー1台を1つの会社とみなして、東門の扉、総務部、輸送部、営業部、倉庫管理部などがあり、各部署の異なる仕事が組み合わさって1つの会社(サーバー)が運営されている!部署(レイヤー)によってセキュリティ対策の施し方が違う!という考えで読み進めてもらえればと思います。WEBアプリサーバーでも、データベースサーバーでも、スマホアプリのサーバーでも、Linuxサーバーでも、Windowsサーバーでも、サーバーセキュリティの基本的な考え方は同じです。

セキュリティアプリケーション、基本的に何が必要?

  • FW(FireWall)
  • IDS/IPS(Intrusion Detection System/Intrusion Prevention System:侵入検知/侵入防御)
  • WAF(Web Application Firewall)

が基本的に必要です。

IDS/IPSやWAFは動的診断(解析)の部類で、閲覧者のスマホやタブレットやパソコンとサーバーの間に発生する通信データに対するセキュリティです。逆に、サーバー1台の中のあらゆるソースコードを直接スキャンして開発段階から脆弱性を抑える様な手法を静的診断(解析)と言います。

静的診断についても、グローバルなセキュリティベンダー各社がひしめき合っており、静的だけでなく、AI解析も活用され、動的も含めたトータルセキュリティソリューションとして提供している企業も有ります。

セキュリティアプリケーションは何をしている?

FW(Firewall:ファイヤーウォール)

ファイヤーウォールは、Linuxサーバーの中で司令塔(社長や事業部長)としてあらゆる部署を管理しているカーネルという社長室の様な機能中枢と連携している基本的なセキュリティ機能です。iptablesだとかfirewalldなどと呼ばれています。ファイヤーウォールは、カーネルの中で社内各部署間(サーバー内)の連絡通路や社外(サーバー外)との連絡通路で常に検問をしています。猫専用連絡通路である東門の扉に人間が訪ねてきたら通過させない!など、通信プロトコルと呼ばれる通信規格や扉につけられている管理番号(ポート番号)や通行する生物の身元住所(IPアドレス)で通過者(通信データ)を絞り込みます。

原始的な馴染み深いセキュリティ対策です。個人的には、上記の特徴から、セキュリティ対策と言うよりも、ただの通行人(データ)識別の交通整理だと考えています。ファイヤーウォールだけではセキュリティ対策は不十分です。ファイヤーウォール設定技術は必要ですが、お金を払わなくても、iptablesやfirewalldなどはLinuxサーバー1台を立ち上げると同梱されていることも多いです。利用するLinuxディストリビューションなどの種類によります。

IDS/IPS(Intrusion Detection System/Intrusion Prevention System:侵入検知/侵入防御)

社内(サーバー内)の営業部(Apache)とか、輸送部(メール)とか、倉庫管理部(データーベース)とか、社屋の建屋の基礎(OS)とか、社内の各部署の中に指名手配犯(怪しい通信データ)が入り込んでいないか?シグネチャと呼ばれるセキュリティ脆弱性のブラックリストを元にして見張り、見つけた際にメール通知などを行ってくれるのがIDS(侵入検知)、防御してくれるのがIPS(侵入防御)です。指名手配情報であるセキュリティ脆弱性情報は、JVNNVDなどの様な脆弱性情報の収集団体が世界中に存在し、CVEと言われるセキュリティ脆弱性の世界共通の識別番号を付けて、重複しない様に管理されています。ですが、毎日、新たな脆弱性が数多く世界中で生まれ続けているため、どこのベンダーのシグネチャも「パーフェクト防御リストだぜ!」とは言い切れず、脆弱性情報の収集元や収集方法も異なり千差万別です。未知のセキュリティ脆弱性の被害者、世界第1号は人柱であり、人柱は大切なシグネチャの情報源です。そのため、シグネチャ登録されていなくても、過去の経験やノウハウから、『怪しい通信』を駆除するアノマリ(振る舞い)検知と言われる機能などもほとんどのベンダーで導入されています。動的診断の部類です。

シグネチャの精度検出率の高さやサーバーへの処理負担の軽さが競われ、シグネチャは、比較や世間の採用数からカスペルスキーが強いと感じています。

WAF(Web Application Firewall)

WordPressやEC-CUBEやMauticなどのCMS、CakephpやSymfonyやLaravelなどのphp系フレームワーク、Ruby on RailsなどのRubyフレームワーク、の様にまさにWEBアプリケーションに対するファイヤーウォールです。ちょっと難しくなりますが、お問合せフォームやログイン画面の入力窓に対するSQLインジェクション(データベースに対する攻撃)、怪しいjavascriptを送り付けられて情報漏えいなどを起こすクロスサイトスクリプティング(XSS)、httpヘッダインジェクションなど、主にWEBサイトを見る人のブラウザとWEBサーバーの間の通信の警備です。通信種別としては、httpやhttpsが該当します。WAFにもIDS/IPSと同じ様にシグネチャやアノマリ(振る舞い)検知があり、全く反対の考え方として、社長だけ(特定の通信データ)通行を許可して、他は全部通さない様なホワイトリスト方式も組み合わせて使われたりします。動的診断の部類です。

第1層、レイヤー1、物理層はサーバー会社やクラウド会社が一番いい

セコムや冷却や非常電源など、普通の会社でサーバールームを作って管理するのはかなり費用がかかります。物理層はどう考えてもグローバルメジャークラウド各社のデータセンターをはじめ、サーバー会社(クラウド会社)が一番いいです。中小零細企業のサーバールーム、24h365日、警備員は立っていますか?24h365日ネットワーク監視を行っている人はいますか?そんな人件費ありますか?頑強で冷却設備の整ったサーバー専用の建物ですか?サーバーのパーツ(消耗品)が壊れたら部品交換する技術者はいますか?東日本のデータセンターが地震で止まったら、シンガポールや西日本のデータセンターに自動でシステム移行引継ぎできますか?全部クラウドならできます。

セキュリティツールの金額と選び方

基本的にサーバー選びの段階で、IDS/IPSとWAFの付随有無、付随している場合、それぞれのベンダー名や商品プランまで確認して、セキュリティベンダーのWEBサイトをチェックする事をお勧めします。お得感が高いケースは、サーバー会社側でセキュリティベンダーの独自ドメイン数無制限プランなどにまとめてドーンと入っているケースで、WAFもIPS/IDSも含まれているプランです。

FW(Firewall:ファイヤーウォール)

ファイヤーウォールは、Linuxであれば、iptablesやfirewalldとなります。クラウドであればAWSならセキュリティグループ(とネットワークACL)となります。レンタル共有サーバーの場合は、あまり柔軟性がなく、サーバー会社が提供するどちらかと言うと簡易的なファイヤーウォールになります。VPSやクラウドを使う場合、ネットワークも絡んでくるので、専門業者に仮想マシンの構築からプライベートネットワークのVPNなどは専門のエンジニアに任せた方が賢明です。毎月のサーバー代さえ払っていれば、ファイヤーウォールの費用は不要な事が一般的です。

ただ、ネットワークを組んで複数のサーバーを構築し、ファイヤーウォールを多層展開するなどを行うと、特にオンプレミスと言われる自社の社屋内に物理サーバーを置いて多層ファイヤーウォールで管理する場合、かなりの初期投資のお金が必要です。

※クラウドを使うと、物理サーバーの購入費、選別検討費、消耗パーツの修理作業代、消耗パーツ代、物理セットアップ費用などの大きな出費が無くなります。

IDS/IPS(Intrusion Detection System/Intrusion Prevention System:侵入検知/侵入防御)

サーバーを立ち上げたら勝手についてくるものではないです。金額もピンからキリまであります。見張りを行う社内(サーバー内)部署間の仕切り扉の数(監視ポート数)、通信データのボリューム、1秒単位のピーク時トラフィック、WAFとセットで販売されているなど、ベンダー各社で料金や販売プランはまちまちです。月5,000円など生やさしい金額ではない事が多い。

攻撃される脆弱性パターンリストの盾として、シグネチャの更新精度を見極めたり、設定や管理の手間なども見極める必要が有ります。IDS/IPSベンダーが採用しているシグネチャの会社特定までは比較的に簡単ですが、シグネチャ自体の更新手法や脆弱性情報の収集方法などは簡単に比較できません。また、システム環境によっては、WAFとIDS/IPS一体型のクラウド型商品を導入出来ない!などのケースもあり、選定はセキュリティに長けたサーバー業者など、経験豊富な専門家に相談する事をお勧めします。サーバーセキュリティだけではなく、プログラム側のセキュリティも把握している知識と経験が多い専門家がオススメです。

無料OSSで自分でIDS/IPSサーバーを立ち上げて頑張る!というツワモノさんには、Snort、OSSEC、Suricataなどがあります。

WAF(Web Application Firewall)

サーバーを立ち上げたら勝手についてくるものではないです。数多くのベンダーがありますが、突き詰めていくと基準こそ違えども、似たり寄ったりな価格が見えてくる事も有ります。価格基準に用いられる項目は、IDS/IPSと同じ項目以外に、WEBサイトのページ数(URL数)などが基準となるベンダーもあります。50ページ未満のWEBサイトであればSiteLockなどで安い商品もあります。

クラウド型WAF、アプライアンス型と言われる物理サーバー設置のWAF、ソフトウェア型と言われる既存サーバーにインストールするWAFなど、色々な種類も存在します。既存サーバーインストール型WAF等を選ぶと、サーバーへの負荷が大きくなり、表示速度が遅くなるなどの影響もあり、最近の主流はWAFサーバーの管理も不要で、本丸のWEBサーバーなどへの負荷が少ないクラウド型WAFです。

セキュリティと利便性はトレードオフで紙一重という事も有り、価格だけにとらわれず、WEBサイトの将来の見込PV、規模成長性、ツールとしての機能面、カスタマーサポートの対応、シグネチャの更新、導入のやりやすさ、対応可能な脆弱性攻撃の幅、DDOS攻撃対応、など自社のシステム運用環境に見合ったものを慎重に選択する事が大切です。

個人的には、『URLページ数縛り』や『1秒間のピークトラフィックボリューム縛り』などは、価格基準として仕方がないことですが、商品選択を難しくする要素だと感じています。尚、OWASP Top 10 2017のAWS WAFテンプレートを使う事で、無料ルールセットにより、お得なWAF運用を行う事が出来ます。

無料OSSで自分でWAFサーバーを立ち上げて頑張る!というツワモノさんには、ModSecurityなどがあります。

セキュリティツールのベンダー各社に確認すべきこと

シグネチャの収集方法や収集元を聞いて精度を比較する

シグネチャの蓄積手法や活用方法は非常に大切です。セキュリティアプリケーションベンダー各社の実力と言っても過言ではない。NVDやJVNだけではカバーしきれません。たとえば、WatchguardなどはLastlineとカスペルスキーから提供を受けているものと、Watchguard自社のTDR(Threat Detection and Response)に蓄積した情報などからシグネチャの脆弱性情報を得ています。主要なシグネチャ収集先を教えてくれることもあると思います。ゼロデイ脆弱性についての対応などについては、セキュリティツールに頼れないケースもあるので、冗長化、レプリケーション、バックアップ、ロールバックなどの仕組みを開発環境で検証し、本番環境に実装する必要があります。

暗号化防御

PCI DSSを読むと果てしない作業にうんざりしますが、データ通信には必ず暗号化が付いてまわります。基本的に、暗号化は、ファイルやリクエストのパケットなどの情報漏えいが起きてもクラッカー(ハッカー)にファイルを開封させない為に行います。各社が採用している暗号化を具体的に聞いて、強度を比較するべきです。SSL/TLSの話でよく出てきますが、通信の暗号化アルゴリズムと鍵交換アルゴリズムの組合せなど、暗号化スイートについていろいろと具体的に教えてもらうようにしましょう。

yum updateやwindows update

yum updateはLinuxサーバーの中の各種ソフトウェア更新作業の事を指します。オンプレミスで自社物理運用する場合、管理するマシンの台数によってはかなり大変な仕事になります。ベンダー提供のオンプレミス機器ではない場合、検証環境を含めた複数環境費用の毎月の予算があるかどうか?なども考えておきましょう。また、再起動が必要な場合もあるため、毎月1回メンテナンス停止を顧客に告知するなど、運営面の工夫が必要となります。

課金軸は何か?

1秒間のピークトラフィックなのか?URLのページ数なのか?月間リクエスト数なのか?今の世の中、従量課金がほとんどだと思います。何を課金軸に設定しているか?必ず確認し、自社のシステム運用との相性を考えましょう。

セキュリティアプリケーション導入してないと何が起こる?

大変なことがいっぱい起きます。情報漏えいで、さらっと株価が1000億円下がっている企業などもあります。よろしくない事でマスコミから注目を浴びる事になります。理解出来ない経営者は、生き残れなくなります。経営部門にCISO(Chief Security Officer)の確保が急務な時代です。

脆弱性検知ツールVuls(VULnerability Scanner)

サーバーのミドルウェア向け脆弱性スキャンツールです。誇らしき日本製です!ウイルス対策ソフトは、インストールされているパソコン自分自身のスキャンですが、Vulsは様々なサーバーの脆弱性スキャンを行います。すごいところは、セキュリティ脆弱性リストをNVDやJVNから取得してきて最新の脆弱性と突合できる点です。ありそうでなかった、かなりすごいセキュリティチェックツールです。

静的診断はトリアージ結果の精度とボリュームコントロールが重要

ソースコードを直接チェックする静的診断についてです。静的診断は、誤検出によるトリアージ結果のボリューム過多などの課題があるため、IBMのIntelligent Finding Analytics (IFA) の様にAIを活用し、トリアージの精度を高めている製品などもあります。開発段階からコンパイル前後を含めて言語を問わずに使えます。静的診断は、ソースコードの開発段階でトリアージできるため、リスク低減などに寄与します。ソースコード診断です。

セキュリティ対策の基本はシフトレフト

このページではOSI参照の階層をドンドン下に進みながらセキュリティ対策を施すとなります。シフトレフトは大雑把にいくとどんどん根元を押さえてセキュリティ対策を行っていこう!という感じです。ただし、アプリケーションのソースコードについては精密に見ていく必要が有り、シフトレフトを行っているから何もしなくてよい!という事ではなく、WAFやIDS/IPSなどのセキュリティツールを導入することは必要です。

これだけやってもメール着弾マルウェアは防げない!侵入前提の多層防御が現代のセキュリティ

マルウェアは、そもそもセキュリティ守備エリアがサーバー1台と異なります。メールセキュリティ、見抜けないなりすましメールと危険拡張子とhtmlメールのリスク!を参照ください。Microsoftですらマルウェア侵入されています。メールセキュリティの難易度は別格でさらに高く、基本的にマルウェア侵入対策は難しいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください