Linux VPSにサインアップして、作成中のWebサイトをホストしました。それを保護するための最良のアプローチについてアドバイスが必要です。
私は以前、VMを家の中でホストしていましたが、それを取り除きたいので。マシンに対して開かれた/転送されたポート。
今、私はマシンが本質的に完全にインターネットに開かれている状況にいるので、IPテーブルで何かを始める必要があると思いますか?これはまったく新しいことです。
私はそれを介して接続するために別のインターフェイス上の私のVPNに接続することを含むよりエレガントな解決策があるかもしれないと考えていましたが、それをどこから始めればよいかわかりませんでした。
私は欲しい:
質問:
私のLinuxレベルはかなり高く、bashスクリプトの作成/デバッグ、構成の最初からの編集などができ、アーキテクチャについてはかなり理解していますが、私は第一人者ではありません。
LinuxでのAppArmorの大ファンです。構成は合理的に理解できるものであり、サンドボックスアプリケーションにとって非常に強力だからです。たとえば、Postgresとそれによって実行されるすべてのものを制限して、データベースストレージフィールドにのみ影響を与えることができます。同じことがWebサーバーとFTPサーバーにも当てはまります。オペレーティングサーバーの外部にあるデータを読み取る必要がなく、別のネットワークポートを開く必要もありません。それらのルールセットの違反についての電子メールアラートを取得します。
このようにサービスを分離すると、個々のサービスが危険にさらされている場合でも、マシン全体の整合性に信頼を与えることができます。
vPSホストプロバイダーによっては、外部からアクセスできるものとアクセスできないものを設定できるファイアウォールソリューションを提供している場合があります。
例を挙げれば、私は最近インターネットへのHTTP/HTTPSアクセスしかなかったクライアントのVPSホストで作業しましたが、VPSのコントロールパネル(ホストパッケージの一部)は、ファイアウォールを構成するためのシステムを提供しましたこれにより、VPSの前で、自分のホームブロードバンドパッケージの一部である単一の静的IPアドレスのみにSSH、MYSQL、およびFTPアクセスを開くことができました。
IPテーブルを使用すると、ボックスが外界から安全であることを保証するために多くの作業を行うことができ、ルールセットを提供して、人々がSSHパスワードをブルートフォース攻撃しようとする攻撃を減らすこともできます(基本的に、これをルールで言うことができますIPアドレスがsshログインを時間枠内で5回間違って取得し、設定された期間または永続的にIPをブラックリストに登録します)。
ROOTログインを許可しないようにSSHを構成することを検討することをお勧めします(これはSSH構成ファイルで行うことができますが、頭上からこのファイルが保存されている場所を確認することはできません)。
SSHアクセス用に設定する必要があるもう1つのことは、キーベースの認証をセットアップすることです。つまり、Linuxサーバーが公開キーを持っているPCのみがシステムへの接続を許可され、その時点でパスワード認証をオフにできます。サーバーへのブルートフォース攻撃を緩和するのに役立ちます。
あなたの場合、ホストがファイアウォールオプションを提供せず、ボックスが完全にインターネットに開かれている場合は、IPTablesの構成を検討するのが最善です
ここにいくつかのIPTables関連情報へのリンクがあります。残念なことに、私はIPTablesに関する入力があまりないため、その価値を保証できません。
http://www.pettingers.org/code/firewall.html
お役に立てれば。
このボックスは、パブリックIPを持つ物理ボックスと同じように扱います。次のような基本的なLinux強化ガイドラインに従う必要があります。
OpenVPNを使用してボックスに入るなど、VPNをセットアップすることもできます。そうすれば、OpenVPNを非標準ポートで実行し、キーベース認証とパスワードベース認証の両方を設定してから、許可することができます。
以下は、私が注目する2つのサイトです。