web-dev-qa-db-ja.com

サーバーのセキュリティをテストするにはどうすればよいですか?

サーバーのセキュリティをテストするにはどうすればよいですか?

一般的な質問ですのでご了承ください。しかし、サーバーのすべてのポートをチェックするテスターソフトウェアやWebサービスがあるのか​​、それともセキュリティホールがあるのだろうかと思っていました。

私は通常unixパーミッションをチェックし、それだけですが、私にできることがありますか?

ps。ユーザーは私のWebアプリケーションでファイルをアップロードできないので、その問題はありません。

7
aneuryzm

タグに基づいて、基本的なアドバイスをいくつか示します。

OS(Linux)

  • カーネルを含むアップデート/セキュリティパッチを適用する
  • Aide、fcheck、tripwireなどのファイル/権限の変更を検出するためのチェックサムツール。
  • 実際に使用しているネットワークサービスのみを有効にします(netstat -tulpenで確認してください)
  • 正気のユーザー定義:rootアクセス権を持つのは誰ですか?
  • SSH:直接ルートログインを無効にする
  • ハードファイアウォールまたはソフトウェアファイアウォール

[〜#〜] php [〜#〜]

  • 使用 強化PHP (Suhosin)
  • PHPのセキュリティのベストプラクティスに関するGoogleのウェブ

MySQL

  • Eiterは、UnixソケットまたはTCPを介して実行しますが、ローカルホスト/ LAN上でのみ実行可能
  • ルートパスワードを定義する
  • 異なるアプリケーションごとに制限付きユーザーを定義する

それは2分で書き留められた純粋な基本です。そこにはもっとあります。

5
weeheavy

Backtrack をダウンロードし、サーバーに対してFastTrackのAutoPwnを実行します。これは完全に自動化されたアプローチですが、手間のかからない果物を見つけるための非常に手間のかからない方法です。

Webコンポーネントを入手した場合、 SkipFish はもう1つの優れた自動テストツールです。

4
Marcin

実行できるテストはたくさんあり、テストに使用できるツールもたくさんあります。手始めに、実行することをお勧めします Nikto

ユーザーはファイルをアップロードできないと思われるかもしれませんが、多くの人が困難な方法を学んでいるため、アプリケーションやサービスのセキュリティホールは別の方法で証明される可能性があります。他の誰かがあなたのための穴を見つける前に、常にあなたのシステムが壊れていて脆弱であるという仮定に基づいて働き、それを修正する方法を探してください。

3
John Gardeniers

システムにアクセスできる場合は、netstatを使用して開いている可能性のあるポートを確認できます。すべてのリスニングポートを一覧表示できます。ファイアウォールやその他のセキュリティ対策により、リスクが軽減される場合があります。

このリストをリモートスキャンに一致させます。 netstatにリストされていない、リモートスキャンが示すポートを調査します。ファイアウォールのDNATルールで説明されていないものはありません。

不要なサービスを無効にします。以前は、実行中のさまざまな不要なサービスを提出するのが一般的でした。充電、時間、日中など、多くは些細なことでした。 Telnet、FTP、HTTPなどの重要なものもあります。

必要なサービスについては、可能であれば127.0.0.1および/または:: 1(IPv6)でリッスンするように内部的に構成するだけです。

1
BillThor

BackTrack FastTrackのAutoPwnは、非常に古いパッケージがインストールされている非常に古いサーバーに適しています。最新のLinux/Windowsを更新している場合、何も見つかりません。 (私はバックトラックが好きですが、セキュリティとペンテストの広範な知識を必要とするその深刻なツール)

Nessusを使用してサーバーをインストールしてスキャンすることをお勧めします。これは非常に強力で(無料バージョンには最新の脆弱性シグネチャがありませんが)、開いているポートやリモートの脆弱なソフトウェアをスキャンできるだけでなく、root資格情報を使用してサーバーにログインし、ローカルで実行することもできます。監査。

これは単なるツールであり、サーバーを「安全」にするだけでは不十分ですが、たとえば、weeheavyのヒントと一緒に近づけることができます。

モニタリングも追加します。 OSSECまたはそのアナログ(トリップワイヤーなど)をインストールします。サーバーで何か奇妙なことが起こった場合は、電子メール/ SMSなどを介してリアルタイムで通知を受けます。

1
Vitaly Nikolaev

各攻撃ベクトルを調べます。

物理:これは非常に簡単です。サーバーはラック内にありますか?ロックされていますか?誰が鍵を持っていますか?キーはどのくらい安全ですか?サーバーは部屋ですか?部屋は施錠されていますか? USBポートにアクセスできるか、有効になっていますか?等.

スイッチの場合、ポートセキュリティを使用していますか?等.

Network:それほど単純ではありませんが、最も一般的です。サーバー上で開いているすべてのポートをnmapやwiresharkなどでスキャンして、ポートをテストします。これらのネットワークサービスをどの程度制限するかは、それらをどのように機能させ、どの程度脆弱にするかに応じて決定します。

例えば; httpサービス、アクセス権はサブネット以外のユーザーを制限しますか?ホストによって?ユーザーによる?一般的な脆弱性を確認してください。インデックスがオンになっているなどです。

Human/Social:これは、IT、通常はHRでは簡単に修正できないものです。しかし、ここにあなたができることがいくつかあります。パスワードポリシー;古い考え方では、パスワードを定期的に変更することですが、これにより、エンドユーザーは弱いパスワードを選択せざるを得なくなるようです。ユーザーのパスワードを生成すると、ユーザーはパスワードを書き留める傾向があります。自分に最適なポリシーを見つける必要がありますが、強力なパスワードを作成する方法についてエンドユーザーを教育することをお勧めしますが、パスワードは年に1回、またはまったく変更しないでください。また、パスワードの管理方法についてエンドユーザーを教育し、パスワードを秘密にしておきます。

0
Ablue

これを行うためのいくつかのサービスがあり、一般にPCI-DSSコンプライアンススキャンとして販売されています。つまり、これがセキュリティスキャンのすべてではありませんが、PCI-DSSコンプライアンスには高レベルのセキュリティが必要です。

それはおそらく賢明な出発点です。注意してください。安くはありません。

編集:私は過去に HackerGuardian を使用しました、そしてそれは血まみれです。価格は、最初の無料スキャンの後に年間249ドルで提供されます

0
Tom O'Connor

さて、nmapから始めて、どのポート/サービスが開いているかを確認できます。

学びたい場合は、 http://www.hackthissite.org/http://www.hellboundhackers.org/ を毎日見てください。他人から身を守る方法を学びますが、それは長い道のりになることを覚えておいてください。

ソフトウェアレポートは役に立ちますが、スクリプトキディからあなたを安全に保ち、優れたハッカーは穴を見つけ、別の人間だけが問題を見つけて修正(防止)することができます。

このソフトウェアは、レポートとソリューションを同時に入手するために専門家に支払うのに十分な費用と費用がかかります。

それで、あなたのウェブサーバーが本当に重要であるならば、助けを求めてください、お金はよく使われます(再び上記のサイト)。

0
tmow