ホームサーバーを外部からの攻撃から保護します。

今日は、より安全な (またはもう少し大きな) ホーム サーバーを構築する方法に関するヒントをいくつか紹介します。 しかし、彼らが私を引き裂く前に、私は生きています。

完全に安全なものはありません

この明確に定義された警告を踏まえて、続けます。

部分ごとに説明するので、各プロセスを詳しく説明するつもりはありません。 探しているものをより明確に理解して Google にアクセスできるように、これについて言及し、いくつかの点を明確にします。

設置前および設置中

  • サーバーをできるだけ「最小限」にインストールすることを強くお勧めします。 これは、存在するのか、何のためにあるのかさえわからないサービスの実行を防ぐ方法です。 これにより、すべての構成が単独で実行されるようになります。
  • サーバーを日常のワークステーションとして使用しないことをお勧めします。 (あなたはこの記事を読んでいます。たとえば)
  • サーバーにグラフィカル環境がないことを祈ります

パーティション化されています。

  • 「/home/」「/tmp/」「/var/tmp/」「/opt/」などのユーザーが使用するフォルダーは、システムパーティションとは別のパーティションに割り当てることを推奨します。
  • 「/var/log」(すべてのシステム ログが保存される場所)などの重要なフォルダーは、別のパーティションに配置されます。
  • ここで、サーバーの種類に応じて、たとえばメール サーバーの場合に応じて異なります。 フォルダー「/var/mail および/または /var/spool/mail» は別のパーティションである必要があります。

パスワード。

システム ユーザーやそのパスワードを使用する他の種類のサービスのパスワードが安全でなければならないことは誰にとっても秘密ではありません。

推奨事項は次のとおりです。

  • これには次のものが含まれません。 あなたのお名前、ペットの名前、親戚の名前、特別な日付、場所など。 結論は。 パスワードには、あなたに関するもの、あなたやあなたの日常生活に関連するもの、またはアカウント自体に関連するものを含めてはいけません。  例: ツイッター#123 。
  • パスワードは、次のようなパラメータにも準拠する必要があります。 大文字、小文字、数字、特殊文字を組み合わせる。  例: ダイヤフSD$354”

システムのインストール後

  • それは個人的なものです。 しかし、私は ROOT ユーザーを削除し、すべての権限を別のユーザーに割り当てることを好み、そのユーザーへの攻撃を避けています。 非常に一般的であること。
ファイル /etc/sudoers を編集する必要があります。 そこで、ROOT にするユーザーを追加し、古いスーパー ユーザー (ROOT) を削除します。
  • 使用しているディストリビューションのセキュリティ バグが発表されるメーリング リストに登録することは非常に実用的です。 ブログ、Bugzilla、またはバグの可能性を警告できるその他のインスタンスに加えて。
  • いつものように、システムとそのコンポーネントを定期的に更新することをお勧めします。
  • また、Grub または LILO と BIOS をパスワードで保護することを推奨する人もいます。
  • 「変更」などのツールを使用すると、ユーザーが X 回ごとにパスワードを変更するよう強制できるほか、変更までに必要な最小時間やその他のオプションを設定できます。

PC を保護する方法はたくさんあります。 上記はすべてサービスをインストールする前のものです。 そして、いくつかのことについて言及してください。

非常に広範なマニュアルがあり、読む価値があります。 この広大な可能性の海について学ぶために、時間が経つにつれて、小さなことを一つずつ学びます。 そしてあなたはそれがいつも欠けていることに気づくでしょう...いつも...

さて、もう少し確認してみましょう サービス。 私の最初の推奨事項は常に次のとおりです。 「デフォルト設定のままにしないでください」。 常にサービスの構成ファイルにアクセスし、各パラメーターが何をするのかを少し読んで、インストールしたままにしないでください。 それはいつもトラブルをもたらします。

しかしながら:

SSH (/etc/ssh/sshd_config)

SSH では、簡単に壊れないようにさまざまなことができます。

例えば:

-ROOT ログインを許可しないでください (変更していない場合):

"PermitRootLogin no"

- パスワードを空白にしないでください。

"PermitEmptyPasswords no"

-リッスンするポートを変更します。

"Port 666oListenAddress 192.168.0.1:666"

-特定のユーザーのみを許可します。

"AllowUsers alex ref me@somewhere"   me@somewhere は、そのユーザーが常に同じ IP から接続するように強制します。

-特定のグループを認可します。

"AllowGroups wheel admin"

チップ。

  • これは非常に安全であり、chroot ssh ユーザーにはほぼ必須です。
  • ファイル転送を無効にすることもできます。
  • ログイン試行の失敗回数を制限します。

ほぼ必須のツール。

Fail2ban: リポジトリにあるこのツールを使用すると、試行制限を超える IP を禁止することで、さまざまな種類のサービス (ftp、ssh、apache... など) へのアクセス数を制限できます。

硬化剤: これらは、ファイアウォールや他のインスタンスを使用してインストールを「強化」、つまり構築できるようにするツールです。 その中で "Harden Bastille Linux と«

侵入検知器: ログやアラートを通じて攻撃を防ぎ、攻撃から身を守ることを可能にする NIDS、HIDS、その他のツールが多数あります。 他の多くのツールの中でも。 存在する」OSSEC«

結論は。 これはセキュリティマニュアルではなく、適度に安全なサーバーを構築するために考慮すべき一連の項目でした。

個人的なアドバイスとして。 ログの表示と解析についてよく読んで、iptables オタクになりましょう。 さらに、サーバーにインストールされるソフトウェアが増えるほど脆弱性が高まります。たとえば、CMS は適切に管理し、更新し、追加するプラグインの種類を注意深く確認する必要があります。

後で、具体的なものを保護する方法について投稿したいと思います。 そこでさらに詳細を説明し、実践してみます。