VPSインストールを保護するにはどうすればよいですか?


16

ブログや個人プロジェクトをホストするためにWebminをインストールする予定のVPSインストールを保護する基本的な手順は何ですか?


OSの詳細を提供すると役立ちます。
ティムポスト

Linuxインストール-ほとんどの場合、UbuntuまたはCentOSのいずれかになります。
JFW

回答:


13

この同様の質問に対するdanlefreeの回答は、ここで非常に関連性があります:管理されていないVPSはどれほど難しいですか?

サーバーの保護は、1回限りのタスクではありません。

最初の1回限りのタスクは次のとおりです。

  • SSHdの強化(このためのヒントやチュートリアルが数多くありますが、これは検索から生まれた最初の見栄えの良いものでした。
  • 不要なサービスがオフになっていることを確認します(または、アンインストールすることをお勧めします)。
  • 公に利用する必要のないサービスがそうでないことを確認してください。たとえば、ローカルインターフェースでのみリッスンするようにデータベースサーバーを構成したり、外部接続の試行をブロックするファイアウォールルールを追加したりします。
  • Webサーバープロセス(およびその他のサービス)のユーザーが、それらに関係のないファイル/ディレクトリへの読み取りアクセス権を持たず、選択したファイル/ディレクトリへの書き込みアクセス権を必要としない限り、他のユーザーへの書き込み権がないことを確認する(たとえば、アップロードされた画像を受け入れるため)。
  • 適切な自動バックアップルーチンを設定してオンラインバックアップを保持し(別のサーバーまたは自宅に保存することをお勧めします)
  • サーバーにインストールしたすべてのツールについて学習します(ドキュメントを読んで、テスト環境にインストールします。たとえば、virtualboxの下にあるローカルVMをインストールして、さまざまな構成を試し、それらを修復します)。問題が発生した場合に修正します(または、少なくとも適切にそのような問題を診断して、他の誰かが問題を修正できるようにします)。将来のある時点でこれに費やした時間に感謝します!

進行中のタスクは次のとおりです。

  • ベースOSのセキュリティ更新プログラムがタイムリーに適用されるようにします。apticronなどのツールを使用して、適用する必要のある更新を常に把握できます。更新を自動的に適用するセットアップは避けたいと思います-実行する前に(debian / ubuntuの場合)変更しようとしているものを確認したいaptitude safe-upgradeので、サーバーに何をしようとしているかがわかります。
  • 手動でインストールするライブラリ/アプリ/スクリプトの更新(つまり、組み込みのパッケージ管理を使用したディストリビューションの標準リポジトリからではない)も、タイムリーにインストールされるようにしてください。そのようなlibs / apps / scriptsには、更新のアナウンスのための独自のメーリングリストがある場合があります。
  • パッチを当てたパッケージではなく、構成の変更によって修正する必要がある、またはパッチを当てたパッケージが作成され、テストされ、リリースされるまで回避する必要があるセキュリティの問題に関する情報を保持します。ディストリビューションを管理している人々が運営するセキュリティ関連のメーリングリストを購読し、そのような問題を報告する可能性のあるテクノロジーサイトに注目してください。
  • 余分な妄想のために何らかの形のオフラインバックアップを管理する。サーバーをホームマシンにバックアップする場合は、コピーを定期的にCD / DVD / USBスティックに書き込みます。
  • バックアップをときどきテストするので、バックアップが正しく機能していることがわかります。テストされていないバックアップは、適切なバックアップではありません。サーバーを停止させたくない場合、データが数か月間適切にバックアップされていないことを確認します。

すべての優れたLinuxディストリビューションは、(インストールCD /イメージが押された/リリースされてからリリースされたセキュリティパッチを取り込むと、少なくとも最初の更新セットの後に)合理的に安全な状態でインストールされます。仕事は難しくありませんが、期待以上にうまくやるには時間がかかります。


4

Linux VPSの素晴らしいところは、すぐに使えることです。ただし、ホストと話し合い、セキュリティを強化または最適化するかどうかを確認することを最初に推奨します。コントロールパネル(webmin、cpanelなど)を備えたほとんどのVPSは「管理」されており、多くのことを行います。特に、あなたが何をしているのかよくわからない場合は、これが最良の選択だと思います。

自分でいる場合は、まずAPF(Advanced Policy Firewall?)やCSF(ConfigServer Firewall)などのファイアウォールを見てください。CSFにはログイン失敗検出のオプションがあり、ログインしようとして何度も失敗すると、IPアドレスが自動的に禁止されます。Linuxはトラフィックをリッスンしていないポートで応答しないため、これらが「必要」であるかどうかはわかりませんが、確かに心の一部を提供しています。また、さまざまなトラフィック用に多数のポートを開いている場合は、おそらくファイアウォールが必要です。

おそらくもっと重要なことは、インストールするアプリケーションが最新であることを確認することです。サーバーOSのエクスプロイトを介して行うよりも多くのサイトが(たとえば)Wordpressエクスプロイトを介してハッキングされます。カスタムコーディングスクリプトを使用している場合は、連絡先フォームのようなばかげたものを不注意に開いたままにしたくないため、セキュリティにも注意を払ってください。



2
  • 不要なサービスを削除します(netstatはあなたの友人です)

  • サービス広告を無効にします(バージョン番号を明らかにすることはScriptkiddiesに最適です

  • 管理用(パブリックではない)ポート番号を不明瞭なものに変更します(22のSSHは引き続きスキャンされます)

  • cgroupslimits.confqosなどのクォータと制限を作成し、それらを積極的に監視します-Web開発者のコ​​ードまたはDDoS攻撃がサイトを破壊し、ボックスに到達できない場合、修正するには遅すぎます

  • 一部のディストリビューションには、ネットワークベースのアプリ用のSELinux / AppArmor / etcプロファイルがあり、それらを使用します

最初の3つは、WebMinを介して(ある方法で)実行できます。ただし、これについてはServerFault調べてください


1

あなたはwebminに言及しているので、Linuxボックスになるでしょう。そのサーバーにインストールする特定のLinuxディストリビューションのドキュメントを確認してください。

CentOSについては、http: //wiki.centos.org/HowTos/OS_Protectionをご覧ください。


1

ほんのいくつかのポイント。-SSHポートを変更します。-ファイルのディレクトリ一覧を無効にします。-サーバーの署名、トークンを削除します。-ファイアウォールをインストールする

もっとたくさんのことがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.