以下は、各種資料と、僕が情報収集に利用したサイトなどへのリンク:
ip-sysctl.txt - 2.4.14 カーネル付属文書より。少々簡略ではあるが役に立つ、 IP ネットワーク制御値と、それら各々のカーネルに対する役割の手引き書。
InGate - InGate は Linuxベースの商用ファイヤーウォール製品を作っているメーカー。プロダクトレンジは、ごく基本的なファイヤーウォールから SIPゲートウェイや QoSマシンまでと幅広い。
RFC 768 - User Datagram Protocol - UDP プロトコルの使用法とヘッダ全てを記述した正式な RFC 文書。
RFC 791 - 機能の追加や変更が加えられながら現在のインターネットでも使用されている IP についての仕様書。 基本部分は IPv4 でも変わっていない。
RFC 792 - Internet Control Message Protocol - ICMP パケットに関する情報を何か調べたい時、最も信頼の置ける資料。 ICMP プロトコルについて技術的な情報が必要になった時、必ず最初に見てみるべきはここ。 J. Postel 著。
RFC 793 - Transmission Control Protocol - あらゆるホストにおける TCP の動作の仕方に関して、大元となる資料がこれ。1981年以来、このドキュメントは TCP の動作仕様の規範となっている。極めて専門的だが、TCP を子細に渡って学びたい人なら必読だ。この資料は、J. Postel によって書かれた米国防総省の規格書に基づいている。
RFC 1122 - Requirements for Internet Hosts - Communication Layers - この RFC はインターネットホスト上で動作するソフトウェアの満たすべき諸元を、特に、コミュニケーション関係の層について規定している。
RFC 1349 - Type of Service in the Internet Protocol Suite - IPヘッダ の TOSフィールド に関する既定の変更と諸元の整理を行った RFC。
RFC 1812 - Requirements for IP Version 4 Routers -この RFC は、インターネット上のルータがどう振る舞うべきかや、様々な状況に際しての然るべき挙動について規定している。興味深い読み物だ。
RFC 2401 - Security Architecture for the Internet Protocol - IPSEC の実装と標準化について記述した RFC。 IPSEC と関わり合うつもりなら一読に値する。
RFC 2474 - Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers - この文書からは、 DiffServ の動作理論と、 DiffServ プロトコルを動作させる上で TCP/IP プロトコルに加える必要のある拡張や変更について、多くの情報が得られる。
RFC 2638 - A Two-bit Differentiated Services Architecture for the Internet - 異なったふたつの DS (Differentiated Service) アーキテクチャを組み合わせて実装する方法を解説している RFC。これらは共に、 IETH ミーティング 1997 で D.Clark と van Jacobsen によって書かれたものを起源としている。
RFC 2960 - Stream Control Transmission Protocol - 数社の通信系大企業によって開発された比較的新しいプロトコル。 UDP と TCP を補強するレイヤー3 のプロトコルで、高い信頼性とエラー回復性能を備えている。
RFC 3168 - The Addition of Explicit Congestion Notification (ECN) to IP - この RFC は、ECN の技術レベルにおける利用法と、 TCP/IP プロトコル上での実装方法を規定している。著者は K. Ramakrishnan, S. Floyd, D. Black。
RFC 3260 - New Terminology and Clarifications for Diffserv - このメモは Diffserv ワーキンググループで合意に至った新たな改良点をまとめるとともに、技術面での明確化や整理を幾つか行っている。
RFC 3286 - An Introduction to the Stream Control Transmission Protocol - Stream Control Transmission Protocol を紹介する RFC。SCTP は TCPスタックの中では比較的新しい部類に入るプロトコルで、数社の通信系大企業によって開発された。
ip_dynaddr.txt - カーネル 2.4.14 付属文書より。sysctl および proc ファイルシステムを利用した ip_dynaddr 設定に関する、非常に短い手引き書。
iptables.8 - iptables 1.3.1 の man ページ。これは、iptables ルールセットを読み書きするに当たって非常にためになるその man ページを HTML化したもの。いつも手元に置いておきたい。
Ipsysctl tutorial - 僕の書いたもうひとつのチュートリアルで、 Linux の備える IP System Control について解説している。 Linux の稼働中でも設定変更のできる IP 関連変数を全てリストアップしようとした、ひとつの試みだ。
Policy Routing Using Linux - 遂にインターネット上でも読めるようになった、 Linux におけるポリシールーティングについての優れた文書。とてもよく書かれていて、 1冊買ってみて損はない。 Matthew G. Marsh 著。
Security-Enhanced Linux - 米・国家安全保障局 (NSA) によってそのコンセプトが策定された Security-Enhanced Linux (SELinux) システムのオフィシャルサイト。SELinux は緻密に設計された強制アクセス制御機構で、誰に何ができ、どのプロセスがどんな権限を持つか、といったきめ細かな制御を可能とする
Firewall rules table - 当プロジェクトのために Stuart Clark が寄稿してくれた PDF 書類。設定値の書き込みフォームになっており、自分のファイヤーウォールを構築する際に必要となる情報を分かりやすく整理することができる。
http://l7-filter.sourceforge.net/ - l7-filter プロジェクトは、iptables 及び netfilter でレイヤー7 フィルタリングを可能にしようというもので、主にパッチとファイルから成る。主な用途は QoS とトラフィック課金。ただし、トラフィックが実際にブロックされるまでに数個のパケットが通ってしまうため、フィルタリング用途においては信頼性に欠ける。
http://www.netfilter.org/ - Netfilter iptables のオフィシャルサイト。Linux で iptables および Netfilter をセットアップしようとするすべての人にとって必見。
http://www.insecure.org/nmap/ - Nmap は、現在入手可能なものの中でも最も優れた、名のあるポートスキャナのひとつ。ファイヤーウォールスクリプトのデバグの際に非常に役に立つ。手に入れて実際に試してみよう。
http://www.netfilter.org/documentation/index.html#FAQ - Netfilter のオフィシャルFAQ。iptables、 Netfilter とは何か知りたくなった時の事始めとしてもおすすめ。
http://www.netfilter.org/unreliable-guides/packet-filtering-HOWTO/index.html - "Rusty Russells の頼りないガイド (Rusty Russells Unreliable Guide)" パケットフィルタリング編。 iptables, Netfilter 開発の中核メンバーのひとりが書いた、 iptables による基本的フィルタリングについての素晴らしいドキュメント。
http://www.netfilter.org/unreliable-guides/NAT-HOWTO/index.html - "Rusty Russells の頼りないガイド (Rusty Russells Unreliable Guide)" ネットワークアドレス変換編。iptables, Netfilter 開発の中核メンバーのひとり Rusty Russells が書いた、 iptables, Netfilter におけるネットワークアドレス変換 に関する素晴らしいドキュメント。
http://www.netfilter.org/unreliable-guides/netfilter-hacking-HOWTO/index.html - "Rusty Russells の頼りないガイド (Rusty Russells Unreliable Guide)" の Netfilter ハッキング HOW-TO。Netfilter, iptables のユーザ空間でのコードの書き方と、カーネル空間でのコードベースを扱った数少ないドキュメント。これも Rusty Russell によって書かれた。
http://www.linuxguruz.org/iptables/ - iptables および Netfilter 関連のインターネット上のページをほとんど網羅した素晴らしいリンク集。各種用途の iptables スクリプト集も用意されている。
Policy Routing using Linux - Linux でのポリシールーティングに関して、これに勝る本は見たことがない。Linux でのルーティングに手を染めて以来、僕のマストアイテムとなっている。Matthew G. Marsh 著.
Implementing Quality of Service Policies with DSCP - Cisco での DSCP の実装に関するリンク。 DSCP で使われるクラスなどが分かる。
IETF SIP Working Group - SIP はどうやら「次の大きな波」となりそうだ。SIP は今日のインターネット・テレフォニーのデファクトスタンダードとなっている。ワーキンググループのホームページに見られるドキュメントの量からも分かるように、SIP は極めて複雑で、将来登場するほとんどあらゆるセッションベースの通信に対応できるのではないだろうか。SIP は既知のユーザ間でのピアtoピア・コネクションの締結、例えば、user@example.org に接続して電話接続を成り立たせるような時に使われる。この IETF ワーキンググループは SIP に関する全ての作業を執り行っている。
IETF TLS Working Group - TLS はトランスポート層でのセキュリティモデルであり、ホスト-サーバ ベースのセキュリティメカニズムとしては最も一般的なもののひとつ。本稿執筆時点では 1.1 だが、より効果の高い新しい暗号化への対応に扉を開く 1.2 へのバージョンアップが進められている。これは、サーバの公開鍵を送受したり、信頼済みの証明書エージェントと遣り取りする方法などを決めた共通規格だ。詳しくは上記ページにある RFC を読んでいただきたい。
IPSEC Howto - Linux カーネル 2.6 を対象にした IPSEC のオフィシャル HOWTO。カーネル 2.6 以降での IPSEC の動作は解説されているが、カーネル 2.2 や 2.4 でどのように機能していたかは、ここには明白な情報がない。それが知りたい場合は FreeS/WAN のサイトへ行ってみよう。
FreeS/WAN - ここは Linux カーネル 2.2, 2.4 での IPSEC 実装である FreeS/WAN のオフィシャルサイト。ドキュメントの他、 IPSEC を実装するときに必要となるあらゆるものがダウンロードできる。サイトに書かれている幾つかの理由で活動は停止状態にあるが、バグフィクスとドキュメント、フォーラムには今も力が注がれている。 カーネル 2.6 での IPSEC 実装に関しては IPSEC Howto を見るといいだろう。
http://www.islandsoft.net/veerapen.html - iptables の自動強化と、iptables 内の特別な拒否リストに攻撃サイトを自動的に登録できるようにするための小改造について素晴らしい議論を展開している。
/etc/protocols - Slackware から例として引用した protocols ファイル。IP、ICMP、TCP などのプロトコルに関して、プロトコルごとにどんなプロトコルナンバーがあるか調べるのに役立つ。
/etc/services - Slackware から例として引用した services ファイル。折に触れて眺めていると、絶対に役に立つ。特に、どのプロトコルがどういったポートで働くのか概要を知りたい時には打ってつけ。
Internet Assigned Numbers Authority - IANA は各プロトコルの全数字規格を整理統括する役割を担う団体。プロトコルに特別な機能を追加 (例えば新たな TCP オプションの追加) しようとする者は、 IANA にコンタクトをとらなくてはならない。そうすると IANA が必要なナンバーを割り当ててくれる。つまりは、目を離すことのできない極めて重要なサイトということだ。
RFC-editor.org - RFC 文書を素早く見つけることができる素晴らしいサイト。 RFC 文書の検索機能、 RFC 全般に関する情報 (errata, ニュースなど)。
Internet Engineering Task Force - ここは、インターネット標準規格の設定と維持における、最も大きなグループのひとつだ。RFC 書庫を維持管理しているのもここで、膨大な数に上る企業や個人が協力し合ってインターネットの相互接続技術の安定に努めている。
Linux Advanced Routing and Traffic Control HOW-TO - このサイトは "Linux における高度ルーティングとトラフィック制御 HOWTO" を公開している。Linux の高度ルーティングの領域で、最も詳しく最も優れたドキュメントのひとつだ。 Bert Hubert が管理運営している。
Paksecured Linux Kernel patches - Matthew G. Marsh が書いたすべてのカーネルパッチを掲載したサイト。様々なパッチがあるが、FTOS パッチが入手できるのはここだ。
ULOGD project page - ULOGD のホームページ。
Linux Documentation Project はドキュメントの殿堂だ。ほとんどの大物ドキュメントはここにあり、 TLDP になければネットで検索してもかなり手こずるというほどだ。何かさらに詳しく調べたい事柄が出てきたら、このサイトを隈なく見てみよう。
Snort - オープンソースの素晴らしいネットワーク侵入検知システム (network intrusion detection system = NIDS)。触れたパケットのシグネチャを検査しており、アタックや侵入の印となるシグナチャを見つけると、設定によってカスタマイズ可能な特定のアクション (管理者への報告や何らかの処置、あるいはロギング) を実行する。
Tripwire - ホストへの侵入の検知に使える優れたセキュリティツール。 Tripwire は設定ファイルで指定されているファイル全てについてチェックサムを作成する。そして実行される度に、不正書き換えのされた疑いのあるファイルを管理者に知らせる。
Squid - 現在入手可能なものの中でも最も有名な WEB プロキシのひとつ。オープンソースで、無料で利用できる。 WEB キャッシングはもちろんだが、トラフィックが WEB サーバに到達する以前のフィルタリングに利用できる幾つかの機能も持つ。
http://kalamazoolinux.org/presentations/20010417/conntrack.html - このドキュメントには、各種 conntrack モジュールの紹介と、それらが Netfilter 上で担う役割についての素晴らしい解説が含まれている。conntrack についてより詳しく知りたい時には、ここは必読。
http://www.docum.org - Linux における CBQ, tc, ip コマンドに関する優れた情報源。そもそも、これらのプログラムについて扱っているサイトは数えるほどしかない。Stef Coene によって管理運営されている。
http://lists.samba.org/mailman/listinfo/netfilter - Netfilter のオフィシャルメーリングリスト。当ドキュメントでもリンクでも触れられていない事柄で疑問が湧いた時、強力に役に立つ。
それにもちろん、iptables のソース、ドキュメントも参考になったし、いろいろな人にもお世話になった。