この文書を読んだ方が良いのはどんな人でしょうか。 そして、ごく普通の Linux ユーザーも、 セキュリティの問題を気にかけておいた方が良いのは何故でしょうか。 まだ Linux 初心者だったり、 Linux システムをインターネットのような大きなネットワークに 繋げる時の基本的なセキュリティの問題に慣れていない人に、 この文書を読んでもらいたいと思っています。 "セキュリティ"の問題はたくさんの側面を持つ幅広い課題であり、 他の文書、本やウェッブのいろいろなサイトにあるものなどでは、 はるかに詳細に広くこの問題を扱っています。 一方、この文書は Linux に関係する その最も基本的な概念を手ほどきするもので、 ほんの最初の一歩に過ぎません。
Jul 15 04:24:13 から Jul 22 04:06:00間のiptables週間ログ報告
ブロックされた接続試行:
目的ポートに拒否された tcp パケット
port count
111 19
53 12
21 9
515 9
27374 8
443 6
1080 2
1138 1
目的ポートに拒否された udp パケット
port count
137 34
22 1
上の表は現実のもので、ある一週間の我が家のLAN の、 まさに今ログにあらわれているデータです。 上の多くは特に Linux システムをターゲットにしたもののようです。 標的にされた"目的"ポートの多くは よく知られている Linux や Unix のサーヴィスで用いられているものだし、 あなたのシステムではその全部がインストールされているかも知れず、 それどころかその全部が動いてさえいるかも知れません。
ここでの焦点は全ての Linux ユーザー、つまり、 デュアルブートのホームユーザーにも、 大きな商用サイトにも共通の脅威です。 そこで、ちょっとの、比較的素早くできる簡単なステップを踏むことで、 Linux が動いている典型的な自宅のデスクトップや 小さなオフィスのシステムなどを、 それなりに安全なものにして外部の脅威のほとんどから守りましょう。 たとえ、より大きな、 またはより複雑な環境の Linux システムに対応することになっても、 この文書はなかなか参考になるでしょうし、 その後、さらにそれぞれ固有の状況に応じたものを読んで、 知識を得ることもできます。 実際、この文書は、 おそらく全ての人に役立つだろうと思っています。
この文書では、読者が Linux, ネットワーク、TCP/IP, そして Linux のようなサーバーオペレーティングシステムを 動かすためのより詳細な点については、ほとんど知らないものと仮定します。 また、この文書の目的から、 全てのローカルユーザーを"信用できる"ユーザーであると仮定し、 物理的な、またはローカルなネットワークの セキュリティの問題の詳細については全く議論しません。 そのような場合でも、 やはり、この文章を続けて読むことを強くお勧めします。
この探求を導く原則は以下の通りです。
魔弾、 つまり一発で怪物を倒せる魔法などありません。 一つの手段で我々を守ることはできません。 そんなに単純なことではないのです。
セキュリティとは継続が必要なプロセスであって、 達成される目標ではありません。
100パーセント安全なプログラム、パッケージ、ディストリビューションと いったものはありません。危険の程度の大小があるだけです。
そこで取るべきステップは以下のようになります:
ステップ1:不必要なサーヴィスは全て停止し、 場合によってはアンインストールする。
ステップ2:インストールされているどのサーヴィスについても、 最新の安全なバージョンにアップデートされパッチをあてられているか確認し、 ―しかも、それを続けること。 どのサーバーアプリケーションも食い物にされる可能性を持っていて、 その幾つかはまだ見つかっていないだけである。
ステップ3:ファイアーウォールか他の制限ポリシー、 またはその両方を実装することで、外部からの接続を制限する。 目標は個々の状況が何であれ、 必要最小限のトラフィックのみを許可することである。
意識すること。自分のシステムを知り、 いかにそれを適切に維持し安全に守るかを知ること。 新たな弱点は常に見つけられ、悪用されている。 今日の安全なシステムも明日には、 まだ見つかっていない弱点を持っているかもしれない。
もしこの文書全体を読む時間がないなら、 このステップ1、2、3に集中してください。 この3つがこの問題の本質です。 補遺 にサポート情報が沢山あります。 これらは役に立つかも知れませんが、 全ての読者に必要な情報というわけではないかも知れません。
Security-Quickstart HOWTO for Linux
Copyright 2001 Hal Burgiss.
この文書はフリーです。すなわち、 Free Software Foundation によって出版された GNU 一般公用許諾書 (GNU General Public License) (バージョン 2 またはそれ以降の任意のバージョンでも) の規定の下で、これを再配布すること、および(または)、 改変することが可能です。
この文書は役に立つことを期待して配布されていますが、 「何の保証もありません」、つまり、 そこから派生する「市場性」または「特定目的適合性」 についての保証もありません。 詳しくは GNU 一般公用許諾書 (GNU General Public License) を参照してください。
GNU GPL 文書はhttp://www.gnu.org/copyleft/gpl.htmlで手に入れることができます。
この文書の作成を助けていただいた以下の方々に感謝します。
Bill Staehle には、アイデア、編集、励まし、提案など、 全ての面で何かしら助けてもらった。その多くはこの文書に含まれている。 Bill は大いに、この文書の内容について助けになってくれた。
何かと手助けしてくれたほかの方々: Dave Wreski, Ian Jones, Jacco de Leeuw, Indulis Bernsteins に感謝する。
Linux とセキュリティについて学べる偉大な場所、 comp.os.linux.security への数々の投稿者に感謝する。
iptables と接続追跡、 システムを守るために役立つ最先端のツールについての、 The Netfilter Development チームの仕事に感謝する。
著者はこの文書の内容について何ら責任を負いません。 この文書内の概念や実例、その他の内容については読者自身の責任に おいて使用してください。 これは新しい文書ですので、間違いや不正確な部分があるかもしれません。 ほとんどないと思いますが、訂正や提案を歓迎します。
この文書は新人ユーザに、 自分のシステムをインターネットに接続している時に、 そのシステムを安全に守るための出発点を示そうとしているものです。 この文書の内容が必ずしも、究極的に安全で、何の心配もない、 計算機環境を作るものだと主張するつもりは、 全くないということを理解してください。 セキュリティは複雑な問題です。この文書は経験の浅いユーザが注意すべき 最も基本的な問題の一部を考えるものに過ぎません。
読者にはセキュリティに関するほかの文書や記事を読むことを勧めます。 そして、発展するにしたがって、 セキュリティの最新事情に遅れないようにしてください。 セキュリティは一つの達成目標ではなくて、継続するプロセスなのです。
現在の公式バージョンはつねに http://www.linuxdoc.org/HOWTO/Security-Quickstart-HOWTO/ で見つけられます。 プレリリースバージョンは http://feenix.burgiss.net/ldp/quickstart/ にあります。
PDF, PS, 一つのファイルにまとまった HTML など、他の形式のファイルは、 Linux Documentation Howto のインデックスページ: http://tldp.org/docs.html#howto で見つけられるかもしれません。
変更ログ
Version 1.2: ファイアーウォールスクリプトの例の説明、 「もうハックされてる?」の章に少し追加。 Zonealarm 型のアプリケーションについての注意。 スクリプトキディ達による "chattr" の使用についてさらに、 そしてこれをどうチェックするか。 その他の小さな追加と説明。
Version 1.1: 様々な訂正、拡充とたくさんのほとんどは小さな追加。 たくさんありすぎてリストには出来ません。 ええ、正しい "Red Hat" のつづりも覚えましたとも ;-)
Version1.0: これはこの文書の最初のリリースです。 コメントを歓迎します。
この文書についてのどんなコメントでも全て大いに歓迎します。 訂正や提案を投稿する前にバージョンが最新であることを確認してください! これらは<hal@foobox.net>宛にメイルで送れます。