■目次
・
テスト全般
・
Qualys SSL LabsでSSLの設定状況や信頼性を確認
・
OWASP ZAPで脆弱性テスト
・
OpenVASで脆弱性テスト
・
Nessusで脆弱性テスト
・
ネットワーク速度計測
・
その他ツール
■テスト全般
■脆弱性テスト
SEが気づきにくいWebサイトの脆弱性の見つけ方 | イー・アルゴリズム
http://web.archive.org/web/20190809115933/https://e-algorithm.xyz/vulnerability/
■負荷テスト
負荷試験ガイド - withgod's blog
https://withgod.hatenablog.com/entry/2020/11/09/131930
abツールやec2-benchなど、負荷テストに関しては「Tuning.txt」も参考にする
■Qualys SSL LabsでSSLの設定状況や信頼性を確認
SSL Server Test (Powered by Qualys SSL Labs)
https://www.ssllabs.com/ssltest/
Let's EncryptでHTTPSサーバを建てたついでにSSL LabsでA+評価をめざす - sonickun.log
http://sonickun.hatenablog.com/entry/2015/12/19/212517
■OWASP ZAPで脆弱性テスト
※Windowsアプリケーションをインストールすることで、GUIな画面で脆弱性テストを行える OWASP ZAPで開発中にセキュリティ診断!
https://codezine.jp/article/detail/9504
脆弱性診断ツール OWASP ZAP vs 脆弱性だらけのWebアプリケーションEasyBuggy - Qiita
https://qiita.com/tamura__246/items/9c70ddc1c03cf623cf8d
SEが気づきにくいWebサイトの脆弱性の見つけ方 | イー・アルゴリズム
https://e-algorithm.xyz/vulnerability/
https://github.com/zaproxy/zaproxy/wiki/Downloads
からダウンロード&インストールすると、はじめから日本語になっていた 使い方は要勉強
■操作メモ
https://codezine.jp/article/detail/9504?p=2
プロテクトモードにし、
https://codezine.jp/article/detail/9504?p=3
プロキシポートの設定を行い、Firefoxなどブラウザ側でそのプロキシポートを使うように設定し、
https://codezine.jp/article/detail/9504?p=4
ブラウザで対象サイトにアクセスし、スキャン対象として登録してからスキャンを行う スキャンが完了すると、アラートのタブに診断結果が表示された わざと脆弱性のあるページを作って、XSS脆弱性などを検出できるか試したい
■OpenVASで脆弱性テスト
※現状動作させられていない ※過去にあった脆弱性データベースの内容をもとにテストを行える CentOS 7に脆弱性スキャンツール「OpenVAS」をインストールする
https://orebibou.com/2016/08/centos-7%E3%81%AB%E8%84%86%E5%BC%B1%E6%80%A7%E3%82%B9%E3%82%AD%E3%83%A3...
脆弱性スキャナ「OpenVAS」でのセキュリティチェック
http://knowledge.sakura.ad.jp/tech/342/
”OpenVAS”のインストールと初期設定手順
http://tech.lecume.net/linux/openvas-install
# yum -y install bzip2
… bzip2が必要なのでインストール
# wget -q -O -
http://www.atomicorp.com/installers/atomic
|sh
… リポジトリを追加
# yum -y install openvas
… OpenVASをインストール
# openvas-setup
… OpenVASをセットアップ(時間がかかる)
パスワード qazwsxedc
https://<IP>:9392
https://192.168.33.10:9392/
Vagrant環境ならインストールできたが、何故かログインできない。原因不明 【OpenVAS】CentOS6.5へのインストールと使い方
http://www.fwoabw.info/entry/2014/03/13/173637
- - - - - - - - - - AWSでは Error: Unable to determine distribution type. Please send the contents of /etc/os-release to support@atomicrocketturtle.com のエラーが表示されてリポジトリを追加できない。原因不明 - - - - - - - - - - さくらVPSでは エラー: パッケージ: openvas-smb-1.0.1-1.el6.art.x86_64 (atomic) 要求: libgssapi.so.3(HEIMDAL_GSS_2.0)(64bit) などのエラーが表示されてインストールできない。原因不明 以下、色々試したが駄目だった # yum --enablerepo=atomic install openvas # yum install epel-release # yum install openvas-cli openvas-gsa openvas-scanner openvas-manager
■Nessusで脆弱性テスト
※マルチプラットフォーム対応の脆弱性スキャナ「Nessus」で、ポートスキャンなどができる Windowsでも使える脆弱性スキャナ「Nessus」を使う
http://knowledge.sakura.ad.jp/tech/356/
Nessus Home
http://www.tenable.com/products/nessus-home
Download Nessus
http://www.tenable.com/products/nessus/select-your-operating-system
インストールして以下からアクセスする
http://localhost:8834/WelcomeToNessus-Install/welcome
https://localhost:8834/nessus6.html#/
ログイン後、 New Scan → Advanced Scan を選択してスキャン対象の名前とアドレスを登録する Name: refirio.net Targets: 203.0.113.0 スキャンが完了したら結果を一覧表示できるので、必要に応じて対処する
■ネットワーク速度計測
※2台のサーバにiperf(アイパーフ)をインストールして計測できる ※未検証 # sudo yum install iperf --enablerepo=epel
… iperfをインストール
iperfの通信で使用するポートを開ける。(デフォルトでは5001番) TCP 5001 from:203.0.113.0/32
… 設定例。お互いの通信を許可する
TCP 5001 from:203.0.113.1/32 # iperf -s
… 一方をサーバモードにして待機する
------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ # iperf -c 203.0.113.0 -t 60
… もう一方をクライアントモードにして計測する
------------------------------------------------------------ Client connecting to 203.0.113.0, TCP port 5001 TCP window size: 95.2 KByte (default) ------------------------------------------------------------ [ 3] local 203.0.113.1 port 50948 connected with 203.0.113.0 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.18 GBytes 1.01 Gbits/sec # iperf -s
… サーバ側にも結果が表示される
------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 32853 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 16.8 GBytes 14.5 Gbits/sec その後、サーバとクライアントを逆にして再度計測する EC2 でネットワークスループットを計測
http://lapped-lapped.blogspot.jp/2014/01/ec2.html
EC2でiperfを使ってネットワークスループットを計測してみた。
http://dev.classmethod.jp/etc/ec2-iperf/
Iperfでネットワークのスループットを測定しよう!
http://qiita.com/tossh/items/6f6abea54b30551622a5
■結果の例(Web1とWeb2はAWS。ExternalはさくらVPS)
以下を前提とする ・サーバとしてWeb1とWeb2を使用する ・一気に600〜1200くらいが見に来ても大丈夫かどうかを調べたい ・ページの容量は2MByteとする 以下が調査結果 ※矢印はデータの送信方向 条件:Web1 → Web2 結果:1回目 441Mbps 2回目 461Mbps 3回目 459Mbps 条件:Web2 → Web1 結果:1回目 156Mbps 2回目 173Mbps 3回目 165Mbps 条件:Web1 → External 結果:1回目 87.1Mbps 2回目 90.1Mbps 3回目 85.1Mbps 条件:Web2 → External 結果:1回目 80.1Mbps 2回目 90.2Mbps 3回目 92.7Mbps 条件:External → Web1 結果:1回目 96.6Mbps 2回目 94.1Mbps 3回目 92.3Mbps 条件:External → Web2 結果:1回目 86.6Mbps 2回目 94.4Mbps 3回目 92.2Mbps 以下所見 web1 → External の結果から、Outgoingとして85〜90Mbps出ている つまり1秒間に85Mbit転送できているので、Outgoingは1秒間に11Mbyte 前提条件より、1分間に1200PVを捌くとしたら、1秒間に20PV捌く必要がある。 計測結果より、2Mbyteのページを表示するなら、1秒間に5PV程度までとなる。 20÷5 で、アクセスを捌ききるまで4秒程度かかるので、通信により最大4秒程度のウェイトがかかることになる よって、サーバは同時に5人以上を捌けるスペックである必要がある ※AWS内のインフラでは、各インスタンス間のデータ通信量に制限はない模様 一方、AWS外のインフラへの入出力には帯域制限が掛かっている模様 (とは言え、90Mbps前後は出ているので十分ではある)
■その他ツール
以下も試したい 手軽にウェブサイトを脆弱性診断 - nikto
http://lab.tricorn.co.jp/kicco/1138
OWASP ZAPの基本的な使い方(手動診断編)
http://securitymemo.blogspot.jp/2014/12/owasp-zap.html
LOAD IMPACT
https://loadimpact.com/
EC2でサーバーに負荷を発生させる stress ツールを使ってみる
http://dev.classmethod.jp/server-side/server/use-stress-tool-on-ec2/
ELBの負荷テストを行う場合の注意
http://qiita.com/takudo/items/1e4dac976cfbd3c775d2