web-dev-qa-db-ja.com

どこから始めれば、AWS Ubuntu 14.04を保護する

わかりましたので、これはおそらく基本的な質問ですが、知識を広げたいと思います。

AWS Ubuntu EC2サーバーを作成しました。サーバー上で2つのサービスを提供するソフトウェアを実行しています。最初にインターネットで利用できるWebサイトです。次に、サプライヤが請求書などを表示して新しいユーザーを作成できる、パスワードで保護されたユーザー環境。

ですから、基本的に私が求めているのは、この環境をどこからセキュリティで保護し始めるかです。サーバーを保護するための最良のステップは何でしょうか。 Nginx、Pythonおよびphpを実行します。

私はセキュリティについて基本的に理解しており、uniで名誉でセキュリティを勉強したことがありましたが、それは少し前のことであり、理論的な知識は、私が欠いている実際的な知識と比較して役に立たないものです。

3
wwalford

決して完全なリストではないいくつかの開始点(人々がコメントするように私は投稿を編集し、それらもクレジットします):

  • ファイアウォール -明示的に必要なポートへのアクセスのみを許可します(おそらくSSHとHTTP/Sのみ)。簡単なのでUFWにリンクしました。
  • rootログインを無効にする -さらに、特定のユーザーセットに制限することを検討します-Sudo(info here and here )を実行してパスワードを確認する必要があります必須です(man visudoを参照)
  • SSH PubKey Authentication -パスワードでログインする代わりに、SSHサーバーはアクセスを許可された公開鍵のリストを持っています。
  • 定期的にソフトウェアをアップグレードしてください:Sudo apt-get update; Sudo apt-get upgrade;
  • 私の好みは、リポジトリがバグ(セキュリティを含む)の修正に遅れるので、ソースからNGINXをインストールすることです。
  • [〜#〜] hsts [〜#〜] を使用してHTTPSを強制します(証明書は年間$ 15以下です)。 HTTPを完全に無効にするのではなく、NGINXで通常のHTTP server(つまりポート80)ブロックを作成し、return 301 https://yourdomain.tld;を使用します。 $uri変数または$request_path変数はHTTP経由で操作できるため、含めないでください。
2