一言で言えば-私のサーバーがハッキングされました。 攻撃者はFTPサーバーのパスワードを受け取り、ほぼ10時間にわたって手の届くものすべてをダウンロードしました。 実際、サーバーがハッキングされた方法は別の話です。 要するに、ハッカーは偽のサポートチケットを私のホスティング業者に送信し、FTPユーザーの作成を手伝ってほしいと頼みました。 そして、一般的に、ホストは誘惑されました。 彼はユーザーを作成しただけでなく、管理者権限さえ与えました...ハッカーとホスティング業者(私はなんとかコピーを手に入れることができました)の通信、私は-ハブロフスクの人々が望むなら、それを投稿します、それは別の冗談です。 それまでは、サーバーを保護し、結果を排除するために行った手順をリストします。
すぐに言わなければならない-私は管理者ではない。 私は.NETプログラマーです。 労務管理者やセキュリティの専門家を急襲するために、私の試みは確かにせせらぎのように見えるので、すぐにこれらすべてを心に留めないように頼みます。 しかし、私は誰かを助けるかもしれません...私と同じように、いくつかのアプリケーションで自分の小さなサーバーを保持しているプログラマーです。
だから:
- ロックアウトポリシーを構成します。 デフォルトでは、Windowsサーバーはブルートフォース(パスワード推測による攻撃)から保護されていません。 ハッカーは、たとえば、異なるログイン/パスワードを試行することにより、千のRDP接続(リモートデスクトップ)を作成できます。 または、無限接続でFTPサーバーを苦しめます...それが、「ロックアウト」をセットアップする価値がある理由です-いくつかの失敗した試行後のユーザーの一時的なブロック。
「スタート-実行-secpol.msc-セキュリティ設定-アカウントポリシー-アカウントロックアウトポリシー」に進みます。 また、たとえば、「5回の試行」と「5分」を設定します。これにより、5回の認証失敗後、ユーザーが5分間ブロックされます。
- サポートユーザーをブロックする:サーバーをレンタルする場合は、ホスティング業者のサポートユーザーを構成している可能性があります。 「サポートユーザー」または「support_user」のようなもの。 彼をブロックします。 時々、危険はホスティング業者から来ます。 そして、右と左へのアクセスを与える彼の素朴なインドの若者。 それが私に起こったことです。
- 不要な場合はFTPを無効にします:クライアントまたはアプリケーションが永続的なFTPを必要としない場合は、削減します。 ファイルをアップロードする必要がある場合にのみオンにしてください。 また、IPからのみアクセスを許可します。 さらに良いことに、サーバーをブラインドプットモードにします。 書き込みアクセスのみを許可するいわゆるサーバー。 FTPサーバーのIIS設定で、「書き込み」をオンにし、「読み取り」をオフにします。
- パスワードマネージャーをインストールします 。 私の友人の束(本当に-束)は「1つの複雑なパスワード-すべてのために」というスキームを使用しています。 おなじみのプログラマー、管理者、デザイナーでさえ...一般的には愚かではありません。 考え直してください。 サービスアカウント(データベースユーザーなど)でも、生成された複雑なパスワードのみを使用します。 そして、それらをパスマネージャーに保管します。 個人的には、LastPassを使用しています。これは無料で、クールで、Chromeの拡張機能として利用できます。
- バックアップ! バックアップ、すべてのバックアップ、いつでもどこでも。 データベースをローカルおよびオンラインのどこかに保存するSQLサーバーで毎日のジョブを作成します。 無料のMS SQL Server Expressでも、(Task-Schedulerを介して)ある種のジョブを作成できます。
個人的に、私のバックアップは次のように機能します。1日に2回、すべてのデータベースのローカルコピーが作成されます。 そして週に2回-リモートコピー。 リモートコピーには、Microsoft SkyDriveを使用します。これは25ギガバイトのオンラインストレージです。 無料で。 悪くないでしょ? フォルダを同期するためのツールが添付されています(Windows Live Meshと呼ばれます)。 宗教的な理由でMSが気に入らない場合は、DropBoxなどを使用しますが、使用してください!
- ファイアウォールここで、すべてが明確になりました。 主なルールは「すべてを禁止する」ことです。 Windows 2008 R2には非常に優れたファイアウォールが組み込まれているので、それから始めることができます。 ポート80と443を開いたままにします(RDPの場合はおそらく3389)。それだけです。
- 標準ポートは使用しないでください 。 Webサーバーに加えて、何か「アウト」を設定する必要がある場合-たとえば、ターミナルサーバー(同じRDPの場合)またはSQLサーバー-は、非標準ポートを使用します。 15089のようなばかげた意味。
ターミナルサービスポート(同じ「リモートデスクトップ」)のレジストリの変更:「HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TerminalServer \ WinStations \ RDP-Tcp \ PortNumber」(ファイアウォールでこのポートを開いてRDPサービスを再起動することを忘れないでください) )
SQL Serverポートは、ユーティリティ「SQL Server構成マネージャー」-「ネットワーク構成」-「[サーバー名]のプロトコル」-「TCP-IP」-右クリック-「プロパティ」で変更されます。
- フォルダ「/ admin /」およびその他の「標準」名はありません 。
- サイトのCMSを「site.com/admin/」フォルダーに入れないでください。
- 管理者アカウントは「管理者」と呼ばないでください。
- ログインページは「login.aspx / login.php / signin.py」と呼ばれるべきではありません
- などなど。 などなど。 -自分でリストを続けます。