トップ ITインフラ セキュリティ 公開サーバーのセキュリティ

公開サーバーのセキュリティ―脆弱性診断ツールやOSやApache、ルータなど対策観点

脆弱性診断ツールやOSやApache、ルータなど対策観点など。公開サーバーのセキュリティについてまとめています。

▲記事トップへ

目次

この記事の目次です。ツール、OSやミドルウェア、ルータなどネットワーク機器の順にまとめていきます。

1. ツール
2. OS
3. Web・APサーバ
4. 定期的なログの確認
5. ルータ

参考
Apacheのセキュリティチェックに使えるツールについて

更新履歴

1. ツール

エンジニアの観点やパターンファイルは重要ですが、ツールを使いこなせなければ見つけられるものも見つからなかったりしますね。 オープンソースのツール中心にピックアップしています。

チェックツール(有償・無償の脆弱性診断ルーツ)

チェックツール(有償・無償の脆弱性診断ルーツ)について紹介いたします。

無料で使えるチェックツール(フリーの脆弱性診断・検査ルーツ)

無料で使えるチェックツール(フリーの脆弱性診断・検査ルーツ)についてです。

OWASP Zed Attack Proxy (ZAP)

Webアプリケーション脆弱性診断ツールです。

詳細

OpenVAS

OpenVASは、昔オープンソースとして開発されていたNessusから派生したネットワーク診断ツールです。 ポートスキャンや擬似的なアクセスなどのテストを行って、対象サーバーの脆弱性を調査するツールです。 ツールが提供されるだけでなく、脆弱性データベースは日々更新されています。 ライセンスはGNU GPLで、OpenVASは、Open Vulnerability Assessment Systemの略です。

metasploit

Metasploitは、攻撃コードの作成、実行を行うためのフレームワークソフトウエアです。 昔は、完全にオープンソースなプロジェクトでしたが、現在はRapid7社が管理しています。 無料版と有料版があります。

metasploitといった場合、開発元やコミュニティーを指すことがありますが、ここでは、Metasploit Frameworkのことして、Metasploitといって説明しています。

Nmap

Nmapは、ポートスキャンやネットワーク上のホストの洗いだしなどネットワーク調査やセキュリティ監視が行えるオープンソースのツールです。

Qualys

SSL関連の診断ツールです。サーバー側とクライアント側のブラウザの設定もテストできます。

URL)https://www.ssllabs.com/ssltest/index.html

有料で使えるチェックツール(有償の脆弱性診断・検査ルーツ)

有料のチェックツール(脆弱性診断ルーツ)です。

Burp Suite

Burp Suiteは、手動もしくは自動のセキュリティテストをサポートするWebアプリケーション脆弱性診断ツールです。

詳細

Nessus

Nessusは、ポートスキャンや擬似的なアクセスなどのテストを行って、対象サーバーの脆弱性を調査するツールです。 オープンソースしたが、バージョン3.0以降はプロプライエタリソフトウェアとして開発され、企業の一般利用には有償のライセンス契約が必要です。 対象サーバーの使用ソフトウェアの既知の脆弱性、設定ミスや脆弱なパスワードなどの調査が行えます。

Webアプリケーションファイアフォール(WAF)

Webアプリケーションファイアフォール(WAF)についてです。

ModSecurity

オープンソースのアプリケーションファイアフォール(WAF)の1つです。

IDS(侵入検知システム)

IDS(侵入検知システム)についてです。

OSSEC

ログ解析、監視、ファイルの変更監視、rootkit の検知が行えるホスト型の IDSです。

Suricata

Suricataは、オープンソースのネットワークIDS/IPSとネットワークセキュリティ監視エンジンです。 Windows、Mac、FreeBSD、UNIX、Windowsに対応しています。

監視ツール

監視ツールについてです。

Nagios

Nagios(ナギオス)は、オープンソース統合監視システムです。 指定ノードやサービスを監視して通知する機能があります。

詳細

Zabbix

Zabbixは、ITインフラやコンポーネントの可用性やパフォーマンスを監視が行えるオープンソースです。

解析ツール

解析ツールについてです。

Fiddler

Webページの解析、デバックツールです。 IEやChrome、Firefoxなど、ブラウザの通信をキャプチャして、リクエスト一覧やリクエストのリプレイ、改ざん、Webページの自動テストなどが行えます。

詳細

Wireshark

多くのプロトコルに対応した高機能なパケット取得・プロトコル解析ツールです。 GUIのツールの他に、tcpdumpのように使えるtsharkコマンドがあります。

2. OS

OSについてです。

リモートアクセスできるユーザを制限する

rootやミドルウェア操作ユーザなど一般的な名前のユーザはリモート接続できないようにします。

# vi /etc/ssh/sshd_config

#PermitRootLogin yes
⇒コメントを外し、PermitRootLogin noにします。
service sshd restart

パスワード

数字と英字の組合せ16文字以上にして解読しにくいパスワードを使用し、定期的に変更します。

OSのパッチ適用を最新化

Linux

# yum update

3. Web・APサーバ

Apache HTTP Serverの例となっていますが、同じ観点でnginxも設定できると思います。

ページ表示、送受信

ヘッダー関連

基本的なヘッダ関連の対策例です。

Apache HTTP Serverのバージョン情報などを非表示にする例

# vi httpd.conf
変更前)ServerTokens OS
変更後)ServerTokens Prod

クリックジャッキング(フレームタグを使用した偽サイト)防止の例

# vi httpd.conf
追加)Header always append X-Frame-Options SAMEORIGIN

IE8以降に導入されたXSSフィルターの活性化

# vi httpd.conf
追加)Header set X-XSS-Protection "1; mode=block"

MIME タイプの問題を悪用した攻撃を防ぐ

# vi httpd.conf
追加)Header set X-Content-Type-Options nosniff

IEでダウンロードしたファイルを直接開かせない

# vi httpd.conf
追加)Header set X-Download-Options: noopen

SSLv2 および SSLv3 を無効にする (SSLv2 と SSLv3 以外はすべて有効にする)

# vi httpd.conf
追加)SSLProtocol All -SSLv2 -SSLv3

4. 定期的なログの確認

ログを閲覧すると攻撃を目のあたりにできるので、 恐怖心から想像したり確認したり、調べたりするので効果的に知識がつくと思います。 なので定期的に自分の目でログを確認するといいです。

攻撃パターンを考えたり、勉強する

攻撃パターンの例

  1. whoisなどサイトで存在するグローバルIPアドレスと所有者情報の一覧を作る。
  2. 22番ポートでSSH接続で応答があるものの一覧を作る。
  3. そのIPアドレスのWEBサイトにアクセスしたり、攻撃したりして情報(OSやミドルウェア)の情報を収集する。
  4. OSやミドルウェアの脆弱性を狙ってさらに情報収集する。
  5. 調べた情報をもとに特定または連想されるユーザでログインとパスワードで認証を繰り返しログインする。
  6. ログインできたら、プロセス情報やログイン情報が表示されないようにしたOSのライブラリを配置する。
  7. そのサーバを利用して悪用する。
  8. ライブラリなど元に戻してアクセスの痕跡を消して気づかれないようにして終了する。

ログインユーザのIPアドレスチェック

SSHによるアクセスを/var/log/secureログで確認します。

知らない<IPアドレス>でログイン成功していないか?

知らない<IPアドレス>があったら、即座にユーザのパスワードを変更し、 sshdのポートを変更したり、サーバーのIPアドレスを変えたり、できる対策を検討します。

cat /var/log/secure |grep Accepted
Mar 22 16:39:01 <ホスト名> sshd[<プロセスID>]: Accepted password for <ユーザ> from <IPアドレス> port <ポート> ssh2

※/var/log/secure-日付のログも忘れずに確認します。

知らない<IPアドレス>でパスワード失敗が出ていないか?

知らない<IPアドレス>でパスワード失敗が出ていたら、 設定ポートでSSH接続できることが知られているので sshdのポートを変更したり、サーバーのIPアドレスを変えたり、できる対策を検討します。

# cat /var/log/secure | grep "Failed password"
Apr 23 00:18:20 <ホスト名> sshd[<プロセスID>]: Failed password for invalid user <ユーザ> from <IPアドレス> port <ポート> ssh2

※root、ドメイン名、組織名、tomcatなどミドルウェア名、adminなど簡単にわかるユーザ名のユーザは使用しないこと。 ユーザ名まで分かるので後はパスワードの組合せを試すだけという状態になるので危険。

その他の知らない<IPアドレス>からの接続確認

netstatでも確認できます。 Foreignのところに知らないIPが有るとだめです。

# netstat -tnap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
:
tcp        0     52 <ローカルIP>:<SSHポート>          222.186.134.90:35143        ESTABLISHED 14385/sshd
:

※222.186.134.90は実際にログインを繰り返してきたChinaのIP。

5. ルータ

自宅のルータの例

パスワード

数字と英字の組合せ16文字以上にして解読しにくいパスワードを使用し、定期的に変更します。

ファイアウォール設定

使用するポート以外は通過しないように設定します。 LAN外からFTPやSSHなどリモートアクセスできないようにします。

参考

参考情報です。

Apacheのセキュリティチェックに使えるツールについて

Apacheのセキュリティチェックに使えるツールとしては、以下が挙げられます。

ネットワーク脆弱性診断ツール

Apacheはネットワークにつないで使用するミドルウェア製品の一つですので、ネットワーク脆弱性診断ツールを使用することでセキュリティチェックが行えます。

OpenVAS

OpenVASは、昔オープンソースとして開発されていたNessusから派生したネットワーク診断ツールです。 ポートスキャンや擬似的なアクセスなどのテストを行って、対象サーバーの脆弱性を調査するツールです。 ツールが提供されるだけでなく、脆弱性データベースは日々更新されています。 ライセンスはGNU GPLで、OpenVASは、Open Vulnerability Assessment Systemの略です。

Nessus

Nessusは、ポートスキャンや擬似的なアクセスなどのテストを行って、対象サーバーの脆弱性を調査するツールです。 オープンソースしたが、バージョン3.0以降はプロプライエタリソフトウェアとして開発され、企業の一般利用には有償のライセンス契約が必要です。 対象サーバーの使用ソフトウェアの既知の脆弱性、設定ミスや脆弱なパスワードなどの調査が行えます。

HTTPSの脆弱性診断ツール

また以下でApacheのHTTPSの設定についてチェックが行えます。

Qualys

SSL関連の診断ツールです。サーバー側とクライアント側のブラウザの設定もテストできます。

URL)https://www.ssllabs.com/ssltest/index.html

Webアプリケーション脆弱性診断ツール

その他にWebアプリケーション脆弱性診断ツールを使用することでApacheのHTTPヘッダの設定などの脆弱性がチェックできます。

OWASP Zed Attack Proxy (ZAP)

Webアプリケーション脆弱性診断ツールです。

詳細

Burp Suite

Burp Suiteは、手動もしくは自動のセキュリティテストをサポートするWebアプリケーション脆弱性診断ツールです。

詳細

更新履歴

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

44.200.77.92

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク