21

さまざまな Web テクノロジをホストする Web サーバーとして安価な Linux ボックスをセットアップしたいと考えています (PHP と Java EE が思い浮かびますが、将来的には Ruby や Python も試してみたいと考えています)。

Java EE アプリケーションを提供するために Linux で実行するように Tomcat をセットアップすることにはかなり精通していますが、このサーバーを開いて、作業中に使用できるいくつかのツールを作成できるようにしたいと考えています。オフィス。Java EE サイトの構成に関して私が経験したすべての経験は、外部ユーザーのためにページを保護することに集中しないように言われたイントラネット アプリケーションに関するものでした。

個人の Linux Web サーバーを外部トラフィックに対して開放するのに十分安全な方法でセットアップするためのアドバイスはありますか?

4

12 に答える 12

5

この記事には、物事をロックダウンするための最良の方法がいくつかあります。

http://www.petefreitag.com/item/505.cfm

いくつかのハイライト:

  • 誰もディレクトリを参照できないことを確認してください
  • root だけがすべての書き込み権限を持ち、root だけが特定の設定ファイルの読み取り権限を持つようにしてください。
  • mod_security を実行する

この記事では、この本からいくつかの指針も取り入れています。

アパッチ・セキュリー(オライリー・プレス)

ディストリビューションに関しては、Debain と Ubuntu を実行しましたが、どれだけやりたいかによって異なります。私は X なしで Debian を実行し、必要なときにいつでも SSH 接続しました。これは、オーバーヘッドを抑える簡単な方法です。または、Ubuntu には、Apache/MySQL/PHP を簡単に制御できる優れた GUI 機能がいくつかあります。

于 2008-08-07T18:26:07.207 に答える
5

可能な限りセキュリティのベスト プラクティスに従うことは重要ですが、最新のエクスプロイトについていくことを心配して眠れなくなったり、過度に困難になったりすることは望ましくありません。私の経験では、正気を保ちながら、個人用サーバーをインターネット上に投げ出すのに十分なほど安全に保つのに役立つ重要なことが2つあります。

1) 隠蔽によるセキュリティ

言うまでもなく、「現実の世界」でこれに頼るのは悪い考えであり、楽しむべきではありません。しかし、それは現実の世界では、悪者はそこに何があり、戦利品があることを知っているからです.

個人用サーバーでは、被害を受ける「攻撃」の大部分は、脆弱であることがわかっている製品のデフォルト インストールを探して、既に侵害されているマシンからの自動スイープです。サーバーがデフォルトのポートまたはデフォルトの場所で魅力的なものを何も提供しない場合、自動化された攻撃者は先に進みます. したがって、ssh サーバーを実行する場合は、非標準ポート (>1024) に配置すると、おそらく見つからないでしょう。Web サーバーでこの手法を回避できる場合は、それも不明瞭なポートに変更してください。

2) パッケージ管理

どうしても必要な場合を除き、自分でソースから Apache または sshd をコンパイルしてインストールしないでください。その場合、最新のセキュリティ パッチを最新の状態に保つ責任があります。Debian や Ubuntu などの Linux ディストリビューションの素敵なパッケージ メンテナーに作業を任せてください。ディストリビューションのプリコンパイル済みパッケージからインストールし、最新の状態を維持するには、時々apt-get update && apt-get -u dist-upgradeコマンドを発行するか、Ubuntu が提供する派手な GUI ツールを使用します。

于 2008-08-12T20:33:45.253 に答える
2

@svristはEC2について言及しました。EC2は、ポートをリモートで開閉するためのAPIを提供します。このようにして、ボックスを実行し続けることができます。コーヒーショップやクライアントのオフィスからデモを提供する必要がある場合は、IPを取得してACLに追加できます。

于 2008-08-23T22:37:56.557 に答える
2

必ず考慮すべきことの 1 つは、どのポートが世界に対して開いているかということです。個人的には、SSH 用にポート 22 を開き、ntpd 用にポート 123 を開きます。ただし、ポート 80 (http) または ftp を開く場合は、少なくとも自分が世界に何を提供しているのか、誰がそれを使って何をできるのかを知るようにしてください。私は ftp についてよく知りませんが、Google で検索するだけで何百万もの優れた Apache チュートリアルが見つかります。

于 2008-08-12T19:52:09.723 に答える
2

Bit-Tech.Net は、Linux を使用してホーム サーバーをセットアップする方法に関する記事をいくつか掲載しました。リンクは次のとおりです。

第1
条 第2条

それらが役立つことを願っています。

于 2008-08-15T22:48:00.427 に答える
1

AmazonのEC2インスタンスを検討できます。そうすれば、本番環境を台無しにすることなく、「もの」を簡単にテストできます。そして、あなたが使用するスペース、時間、帯域幅に対してのみ支払います。

于 2008-08-07T18:55:40.733 に答える
1

Linuxサーバーを自宅から実行する場合は、ossecをインストールして、非常にうまく機能する軽量のIDSを作成します。

[編集]

補足として、ISPの利用規定に違反しないようし、標準ポートでの着信接続を許可するようにしてください。私が働いていたISPは、ビジネスクラスのアカウントを使用していない限り、ポート80/25を介してサーバーを実行するために切断できるという条件で書かれていました。これらのポートを積極的にブロックしませんでしたが(問題が発生しない限り気にしませんでした)、一部のISPはポート80または25を介したトラフィックを許可しないため、代替ポートを使用する必要があります。

于 2008-08-07T21:08:39.607 に答える
1

声を抑えて (つまり、ホーム接続で美化された webroot をホストしているだけなら、誰かがホームサーバーを狙ってくることはめったにありません)、構成について知恵を絞っていれば (つまり、root の使用を避ける)、安全で安全です。すべてについて、ソフトウェアを最新の状態に保つようにしてください)。

その点で、このスレッドは炎上するだけになる可能性がありますが、あなたの個人用サーバーに対する私の提案は、Ubuntuに固執することです(ここでUbuntuサーバーを入手してください)。私の経験では、フォーラムで質問したところから最も早く回答を得ることができました (ただし、取り込みについて何を言うべきかわかりません)。

私のホーム サーバー セキュリティ BTW は、静的 IP を持たない (DynDNS で実行される) ことから、多少の利点があります (私が思う、またはそう思うのが好きです)。

幸運を!

/mp

于 2008-08-07T18:18:29.343 に答える
1

SSH ポートをワイルドに開く場合は注意してください。その場合は、必ず root ログインを無効にして (いつでもsu、またはsudo一度ログインできます)、妥当な範囲内でより積極的な認証方法を検討してください。ある週末、私のサーバー ログで、DynDNS ホーム IP サーバーから SSH サーバーを追跡する巨大な辞書攻撃を見ました。

そうは言っても、職場や外出先から自宅のシェルにアクセスできるのは本当に素晴らしいことです...さらに、同じポートで SFTP を使用できるという事実を追加すると、それなしの生活は想像できませんでした. =)

于 2008-08-07T18:26:15.037 に答える
1

これを行う場合は、少しお金をかけて、少なくとも個別の DMZ ポートを備えた専用のルーター/ファイアウォールを購入してください。サーバーから内部ネットワークをファイアウォールで遮断して、Web サーバーが危険にさらされた場合に (そうでない場合でも!)、内部ネットワークもすぐに脆弱にならないようにする必要があります。

于 2008-08-15T22:33:40.567 に答える
0

これを行うには、うまく機能する方法がたくさんあります。私は通常、.htaccess ファイルを使用します。セットアップが速く、十分に安全です。おそらく最良の選択肢ではありませんが、私にとってはうまくいきます。私は自分のクレジットカード番号をその後ろに置くつもりはありませんが、それ以外はあまり気にしません.

于 2008-08-07T18:12:47.077 に答える
0

うわー、外部トラフィックに対して何かを開き始めるとすぐに、ワームの缶を開けています。実験的なサーバーと見なされるものは、犠牲の子羊のように、ネットワークとリソースで悪いことをしようとしている人々にとって簡単に選ばれることに注意してください.

外部から利用可能なサーバーへの全体的なアプローチは、非常に保守的かつ徹底している必要があります。ファイアウォール ポリシーなどの単純なことから始まり、基礎となる OS を含め (パッチを適用したままにしておく、セキュリティのために構成するなど)、使用するすべてのスタックのすべてのレイヤーを含めます。残念ながら、簡単な答えやレシピはありません。

試してみたい場合は、サーバーをプライベートに保ち、リモートで作業する必要がある場合は VPN を使用することをお勧めします.

于 2008-08-07T18:18:36.473 に答える