Date: Fri, 25 Aug 2017 15:22:38 +0000 (UTC) From: Ryusuke SUZUKI <ryusuke@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r50709 - in head/ja_JP.eucJP/books/handbook: advanced-networking security Message-ID: <201708251522.v7PFMcZp034798@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ryusuke Date: Fri Aug 25 15:22:38 2017 New Revision: 50709 URL: https://svnweb.freebsd.org/changeset/doc/50709 Log: - Merge the following from the English version: r22608 -> r23130 head/ja_JP.eucJP/books/handbook/security/chapter.xml - Comment out <xref linkend="firewalls"/> : head/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml Modified: head/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml head/ja_JP.eucJP/books/handbook/security/chapter.xml Modified: head/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml ============================================================================== --- head/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml Thu Aug 24 10:04:01 2017 (r50708) +++ head/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml Fri Aug 25 15:22:38 2017 (r50709) @@ -1864,7 +1864,8 @@ rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen> <para>ファイアウォールとしてブリッジを利用しようとしている場合には <literal>IPFIREWALL</literal> オプションも指定する必要があります。 ブリッジをファイアウォールとして設定する際の一般的な情報に関しては、 - <xref linkend="firewalls"/> を参照してください。</para> + ファイアウォールの章 + <!-- <xref linkend="firewalls"/> --> を参照してください。</para> <para>IP 以外のパケット (ARP など) がブリッジを通過するようにするためには、 Modified: head/ja_JP.eucJP/books/handbook/security/chapter.xml ============================================================================== --- head/ja_JP.eucJP/books/handbook/security/chapter.xml Thu Aug 24 10:04:01 2017 (r50708) +++ head/ja_JP.eucJP/books/handbook/security/chapter.xml Fri Aug 25 15:22:38 2017 (r50709) @@ -3,7 +3,7 @@ The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project - Original revision: r22608 + Original revision: r23130 $FreeBSD$ --> <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security"> @@ -33,7 +33,7 @@ あなたのデータ、知的財産、時間、その他を、 ハッカーやその同類から守るためには欠かせません。</para> - <para>FreeBSD は、 + <para>&os; は、 システムとネットワークの整合性と安全性を確実にする仕組みと一連のユーティリティを提供しています。</para> <para>この章を読むと、以下のことがわかります。</para> @@ -69,10 +69,6 @@ </listitem> <listitem> - <para><acronym>IPFW</acronym> でファイアウォールを構築する方法</para> - </listitem> - - <listitem> <para>IPsec および FreeBSD/&windows; コンピュータの間で <acronym>VPN</acronym> の設定方法</para> </listitem> @@ -101,6 +97,10 @@ </listitem> </itemizedlist> +<!-- <para>Additional security topics are covered throughout this book. + For example, Mandatory Access Control is discussed in <xref + linkend="mac"/> and Internet Firewalls are discussed in <xref + linkend="firewalls"/>.</para> --> </sect1> <sect1 xml:id="security-intro"> @@ -311,10 +311,10 @@ </sect1> <sect1 xml:id="securing-freebsd"> - <title>FreeBSD の安全性を高める</title> + <title>&os; の安全性を高める</title> <indexterm> <primary>セキュリティ</primary> - <secondary>FreeBSD の安全性を高める</secondary> + <secondary>&os; の安全性を高める</secondary> </indexterm> <note> @@ -334,7 +334,7 @@ </indexterm> <para>以下の節では、本章の<link linkend="security-intro">前節 - </link>でとりあげた FreeBSD システムの安全性を高める方法について + </link>でとりあげた &os; システムの安全性を高める方法について 述べます。</para> <sect2 xml:id="securing-root-and-staff"> @@ -555,7 +555,7 @@ してないマシンを稼働させているのであれば、それらのサービスを停 止させて下さい!</para> - <para>FreeBSD では、今では <application>ntalkd</application>, + <para>&os; では、今では <application>ntalkd</application>, <application>comsat</application>, <application>finger</application> は砂場で実行させることがデフォ ルトになっています。次に砂場で実行させるべきプログラムの候補と @@ -667,7 +667,7 @@ の権限を破ると、攻撃者はほとんど何でもできますが、特に重宝さ れる特定の事柄もいくつかあります。たとえば、最近のカーネルは、組 み込みのパケット覗き見デバイス (packet sniffing device) ドライ - バを備えているものがほとんどです。FreeBSD では + バを備えているものがほとんどです。&os; では <filename>bpf</filename> デバイスと呼ばれています。侵入者 は普通、侵入済みのマシンでパケット覗き見プログラムを実行させよ うと試みます。侵入者にわざわざそういう機能を提供する必要はない @@ -926,7 +926,7 @@ 出てきたり、新しい内部サービスを追加したのにファイアウォールの 更新を忘れたりする可能性がよく出てきます。ファイアウォール上の 大きい番号のポートを開けておくことにより、小さい番号のポートを - 危険に晒すことなく受容的な動作を許すことができます。FreeBSD で + 危険に晒すことなく受容的な動作を許すことができます。&os; で は、<varname>net.inet.ip.portrange</varname> への <command>sysctl</command> (<command>sysctl -a | fgrep portrange</command>) をいろいろ使用することで、動的バインドに使用される @@ -962,7 +962,7 @@ まうようにすることができます。mbuf を消費し尽くさせることによ り、この種の攻撃でサーバをクラッシュさせることも可能です。サー バが生成した ICMP 応答を十分速く送信できない場合、とくにひどい - ことになります。FreeBSD カーネルには、この種の攻撃の効果を抑制する + ことになります。&os; カーネルには、この種の攻撃の効果を抑制する <option>ICMP_BANDLIM</option> と呼ばれる新しいカーネルコンパイルオプション があります。踏み台攻撃の 3 つめの主要なクラスに属する攻撃は、 @@ -1104,13 +1104,13 @@ に基づいたものだけでした。このことは米国に住んでいるユーザにとって は大して問題ではありませんでしたが、DES のソースコードを米国外に 輸出することはできないという問題がありました。そのために、 - FreeBSD は、米国の法律を守ることと、未だに DES を使っていた他の + &os; は、米国の法律を守ることと、未だに DES を使っていた他の &unix; 一族との互換性を保つこととを両立する方法を探し出す必要がありました。</para> <para>その解決方法は、米国のユーザは DES のライブラリをインストー ルして DES を使用できるが、米国外のユーザは国外に輸出可能な他の ひとつの暗号化方式を使用することができる、というように暗号化ライ - ブラリを分割することでした。これが FreeBSD がデフォルトの暗号化 + ブラリを分割することでした。これが &os; がデフォルトの暗号化 方式として MD5 を使うようになったいきさつです。MD5 は DES よりも より安全であると考えられているため、DES をインストールする一番の 理由は互換性を保つためといえます。</para> @@ -1118,15 +1118,15 @@ <sect2> <title>暗号化機構を理解する</title> - <para>FreeBSD 4.4 の前までは、<filename>libcrypt.a</filename> + <para>&os; 4.4 の前までは、<filename>libcrypt.a</filename> は暗号化に使われるライブラリへのシンボリックリンクでした。 - FreeBSD 4.4 で <filename>libcrypt.a</filename> + &os; 4.4 で <filename>libcrypt.a</filename> は設定可能なパスワード認証ハッシュライブラリを提供するようになりました。 現在のところ、このライブラリは DES, MD5 および Blowfish - ハッシュ関数に対応しています。デフォルトでは、FreeBSD + ハッシュ関数に対応しています。デフォルトでは、&os; はパスワードの暗号化に MD5 を利用します。</para> - <para>FreeBSD がどの暗号化方式を使うようにセットアップされている + <para>&os; がどの暗号化方式を使うようにセットアップされている かを判断するのは簡単です。 <filename>/etc/master.passwd</filename> ファイルの中の暗号化さ れたパスワードを調べてみるのが一つの方法です。MD5 ハッシュで暗 @@ -1163,13 +1163,13 @@ </indexterm> <para>S/Key は一方向ハッシュ関数を基にしたワンタイムパスワード方式 - です。FreeBSD では、互換性のために MD4 ハッシュを用いていますが + です。&os; では、互換性のために MD4 ハッシュを用いていますが 他のシステムでは MD5 や DES-MAC を用いてます。S/Key は、バージョ - ン1.1.5 以降のすべての FreeBSD に含まれていますし、FreeBSD 以外 + ン1.1.5 以降のすべての &os; に含まれていますし、&os; 以外 の数多くのシステムの上でも利用されています。S/Key は Bell Communications Research, Inc. の登録商標です。</para> - <para>FreeBSD バージョン 5.0 以降では、S/Key + <para>&os; バージョン 5.0 以降では、S/Key は機能的に同等な OPIE (One-time Passwords In Everything) で置き換えられました。OPIE はデフォルトでは MD5 ハッシュを使用します。</para> @@ -1277,7 +1277,8 @@ <sect2> <title>信頼できる通信路での初期化</title> - <para>信頼できる通信路 (たとえばあるマシンのコンソール画面や、<application>ssh</application> + <para>信頼できる通信路 (たとえばあるマシンのコンソール画面や、 + <application>ssh</application> を使っている時など) を利用しているときに、S/Key を初めて初期化 すること、S/Key の秘密のパスフレーズを変更すること、またはシー ドを変更すること、をおこなうことができます。そのためには、まず @@ -1556,7 +1557,7 @@ Enter secret pass phrase: <userinput><secret passwo 絶対にこのマニュアルを読んでください。</para> <para>もし <filename>/etc/skey.access</filename> - ファイルが存在しないならば (FreeBSD 4.X + ファイルが存在しないならば (&os; 4.X のデフォルト状態ではそうです)、すべてのユーザが &unix; パスワードを利用することができます。 逆に、もしファイルが存在するならば、 @@ -1602,7 +1603,7 @@ permit port ttyd0</programlisting> <para>OPIE は S/Key が行うような、ログインセッションの IP アドレスをベースとした &unix; パスワードの使用を制限できます。 関連ファイルは、<filename>/etc/opieaccess</filename> です。 - FreeBSD 5.0 以降のシステムではデオフォルトで用意されています。 + &os; 5.0 以降のシステムではデオフォルトで用意されています。 このファイルの詳細や、 このファイルを使用する際に考慮すべきセキュリィについては &man.opieaccess.5; を確認してください。</para> @@ -1884,7 +1885,7 @@ sendmail : PARANOID : deny</programlisting> そしてこれまでより制御 できるようになります。</para> <para>以下の文章は、 - FreeBSD用として配布されているKerberosをセットアップ + &os; 用として配布されている Kerberos をセットアップ する際のガイドとして読むことができます。しかし、 完全な説明が必要な場合には、マニュアルページを読んだ方がよい でしょう。</para> @@ -1898,7 +1899,7 @@ sendmail : PARANOID : deny</programlisting> <secondary>インストール</secondary> </indexterm> <para>Kerberos は選択が任意な &os; のコンポーネントです。 - もっとも簡単なインストール方法は、FreeBSD + もっとも簡単なインストール方法は、&os; のインストール時に <application>sysinstall</application> で <literal>krb4</literal> または <literal>krb5</literal> 配布物を選択することです。 @@ -2572,6 +2573,7 @@ kerberos_stash="YES"</programlisting> [realms] EXAMPLE.ORG = { kdc = kerberos.example.org + admin_server = kerberos.example.org } [domain_realm] .example.org = EXAMPLE.ORG</programlisting> @@ -2603,6 +2605,15 @@ _kpasswd._udp IN SRV 01 00 464 kerberos.exa _kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org. _kerberos IN TXT EXAMPLE.ORG.</programlisting></note> + <note> + <para>クライアントが、 + <application>Kerberos</application> サービスを見つけるためには、 + <filename>/etc/krb5.conf</filename> を完全に設定するか、 + <filename>/etc/krb5.conf</filename> を最低限に設定し、 + <emphasis>さらに</emphasis> DNS サーバを適切に設定する + <emphasis>必要</emphasis> があります。</para> + </note> + <para>次に <application>Kerberos</application> データベースを作成します。 このデータベースには、 マスター鍵により暗号化されたすべてのプリンシパルの鍵があります。 @@ -3264,1017 +3275,6 @@ jdoe@example.org</screen> </sect2> </sect1> - <sect1 xml:id="firewalls"> - <info><title>ファイアウォール</title> - <authorgroup> - <author><personname><firstname>Gary</firstname><surname>Palmer</surname></personname><contrib>寄稿: </contrib></author> - <author><personname><firstname>Alex</firstname><surname>Nash</surname></personname></author> - </authorgroup> - </info> - - - <indexterm><primary>ファイアウォール</primary></indexterm> - <indexterm> - <primary>セキュリティ</primary> - <secondary>ファイアウォール</secondary> - </indexterm> - - <para><emphasis>訳: &a.jp.saeki;.<!-- <br> --> - 11 November 1996.</emphasis></para> - - <para>ファイアウォールは、 - インターネットに参加している人はもちろんのこと、 - プライベートネットワークのセキュリティ向上のための - アプリケーションを 探している人にとっても、 - ますます興味深くなりつつある分野です。 - このセクションではファイアウォールとは何か、 - ファイアウォールの使用法、 - そしてファイアウォールを構築するために FreeBSD のカーネルで - 提供されているファシリティ (機能) - の使用法について説明したいと思います。</para> - - <note> - <para>社内のネットワークと <quote>巨大かつ信頼のおけない - インターネット</quote>との間にファイアウォールを構築することで - セキュリティ上のすべての問題が解決できると考える人がいます。 - ファイアウォールはセキュリティ上の問題を - 解決する助けになる場合もありますが、 - 充分な設定がなされていないファイアウォールは、 - まったくファイアウォールを - 持たない場合よりもセキュリティ上の危険を増大させてしまいます。 - ファイアウォールにできることは、 - あなたのシステムにもう一つのセキュリティ層を - 追加することだけで、 - 本気でアタックをしかけてくるクラッカーが内部ネットワークに - 侵入するのを妨げることはできません。 - ファイアウォールを侵入不可能と過信して - 内部のセキュリティをおろそかにすることは、 - 単にクラッカーの仕事を少し簡単にするだけでしか - ありません。</para> - </note> - - <sect2> - <title>ファイアウォールとは何か ?</title> - - <para>現在インターネットで普通に使用されている - ファイアウォールには 二つの異なるタイプがあります。一つは、 - 厳密には <emphasis> パケットフィルタリングルータ </emphasis> - と呼ばれるタイプのものです。 - このタイプのファイアウォールはマルチホームマシンで利用され、 - ある規則にしたがってパケットを転送したりブロックしたりするものです。 - マルチホームマシンとは、 - 複数のネットワークインタフェースを持つコンピュータのことです。 - もう一つは、 - <emphasis> proxy (代理) サーバ </emphasis> - として知られているタイプのものです。これは、 - おそらくはマルチホームのホストマシン上で、 - カーネルによるパケット転送を 禁止して、 - デーモンにより認証の提供とパケットの転送とを - おこなうものです。</para> - - <para>二つのタイプのファイアウォールを組み合わせて使用して、 - 特定のマシン (<emphasis> 要塞ホスト </emphasis> と呼ばれる) - だけが パケットフィルタリングルータを通して内部ネットワークへ - パケットを送ることができるよう設定している - サイトがしばしば存在します。proxy (代理) - サービスは通常の認証機構よりもセキュリティを - 強化してある 要塞ホストで動作させます。</para> - - <para>FreeBSD は (IPFW として知られる) - カーネルパケットフィルタ込みで提供されています。 - この節の残りでは、このフィルタについて集中して説明します。 - サードパーティから提供されるソフトウェアを使用することにより、 - Proxy サーバを FreeBSD 上に構築することができます。 - しかし、現在入手可能な - proxy サーバはたいへんバラエティに富んでいるので、 - この節でそれらすべてをカバーすることはできません。</para> - - <sect3 xml:id="firewalls-packet-filters"> - <title>パケットフィルタリングルータ</title> - - <para>ルータとは、二つまたはそれ以上のネットワークの間で - パケットの転送をおこなうマシンのことです。 - パケットフィルタリングルータは、 - 一つ一つのパケットをルールリストと比較して、 - 転送するかしないかを決めるようにプログラミングされています。 - 最近の IP ルーティングソフトウェアのほとんどは、 - 内部にパケットフィルタリング機能を持っていて、 - デフォルトではすべてのパケットを転送するようになっています。 - このフィルタを有効にするためには、 - ルールを定義する必要があります。</para> - - <para>パケットを通すべきか通すべきでないかを決めるために、 - ファイアウォールは、 - ルールリストからパケットヘッダの内容にマッチするルールがないかどうかを調べます。 - マッチするルールが見つかると、 - ルールアクションが実行されます。ルールアクションには、 - パケットを捨てる、パケットを転送する、 - またはパケットの発信元に ICMP - メッセージを送り返すというものがあります。 - ルールの検索は先頭から順番におこなわれ、 - 通常は最初にマッチしたものだけが 適用されます。そのため、 - このルールリストは<quote>ルールチェーン</quote> - と呼ばれることもあります。</para> - - <para>パケットマッチングの基準は使用するソフトウェアに - よって異なりますが、通常はパケットの発信元 IP アドレス、 - 宛先 IP アドレス、発信元ポート番号、宛先ポート番号 - (ポート番号はポートをサポートするプロトコルの場合のみ)、 - パケットタイプ (UDP, TCP, ICMP など) - に基づくルールを指定することができます。</para> - </sect3> - - <sect3 xml:id="firewalls-proxy-servers"> - <title>Proxy サーバ</title> - - <para>Proxy サーバとは通常のシステムデーモン - (<application>telnetd</application>, - <application>ftpd</application> - など) を 特別なサーバで置き換えたマシンのことです。 - これらのサーバは、 - 通常は中継をおこなって特定方向への接続だけを許すため、 - <emphasis>proxy サーバ</emphasis> と呼ばれます。(たとえば) - proxy <application>telnet</application> - サーバをファイアウォールホストで走らせておきます。 - 外部からユーザがファイアウォールに対して - <application>telnet</application> - を実行すると、proxy telnet サーバが応答して、 - 何らかの認証機構を実行します。これを通過した後で、 - 内部ネットワークへのアクセスがおこなえるように なるのです。 - (内部ネットワークからの信号は proxy - サーバがかわりに受け取り、外へ向けて送り出します)。</para> - - <para>Proxy サーバは通常、 - 普通のサーバより堅固に構築されていて、しばしば - <quote>使い捨て</quote>パスワードシステムなどを含む、 - 多様な認証機構を持っています。 - <quote>使い捨て</quote>パスワードシステムとは、 - どういうものなのでしょうか。仮に誰かが何らかの方法で、 - あなたが使用したパスワードを手に入れたとします。しかし、 - 最初に使用した直後に、 - そのパスワードは既に無効になっているのです。ですから、 - そのパスワードをもう一度使用したとしても、あなたのシステムへ - アクセスすることはできないというわけです。 - これらのサーバは中継をおこなうだけで、 - 実際のところサーバホスト自身への - アクセスをユーザに許してはいません。そのため、 - 何者かがセキュリティシステムに - 侵入用の裏口を取り付けることは、 - より困難になっています。</para> - - <para>proxy サーバはアクセス制限の方法をいくつも持っていて、 - 特定のホストだけがサーバへのアクセス権を得ることができるようになっていることがあります。 - そして、 - 管理者は目的のマシンと通信できるユーザを制限するように設定できます。 - もう一度言いますが、 - どんなファシリティ (機能) が使えるかは、どんな proxy - サービスをおこなうソフトウェアを選ぶかに大きく - 依存します。</para> - </sect3> - </sect2> - - <sect2> - <title>IPFW で何ができるか</title> - <indexterm><primary><command>ipfw</command></primary></indexterm> - - <para>FreeBSD とともに配布されている IPFW は、 - カーネル内部にあってパケットのフィルタリングとアカウンティングをおこなうシステムであり、 - ユーザ側のコントロールユーティリティである &man.ipfw.8; - を含んでいます。 - ルーティングの決定をおこなう際に、これらは互いに協力して、 - カーネルで使用されるルールを定義したり、 - 使用されているルールを問い合わせたりすることができます。</para> - - <para>IPFW は互いに関連する二つの部分からなっています。 - ファイアウォールセクションはパケットフィルタリングをおこないます。 - また、IP アカウンティングセクションは、 - ファイアウォールセクションのものと似たルールに基づいてルータの使用を追跡します。 - これにより、たとえば、 - 管理者は特定のマシンからルータへのトラフィックがどのくらい発生しているかを調べたり、 - どれだけの WWW - トラフィックがフォワードされているかを知ることができます。</para> - - <para>IPFW は、 - ルータではないマシンにおいても入出力コネクションの - パケットフィルタリングのために使用することができるように設計されています。 - これは一般的な IPFW の使用法とは異なる特別な使い方ですが、 - こういった状況でも同じコマンドとテクニックが使用されます。</para> - </sect2> - - <sect2> - <title>FreeBSD で IPFW を有効にする</title> - <indexterm> - <primary><command>ipfw</command></primary> - <secondary>有効化</secondary> - </indexterm> - - <para>IPFW システムの中心となる部分はカーネル内部にあります。 - そのため、どのファシリティ (機能) を必要とするかによって、 - 1 つまたは複数のオプションをカーネルコンフィグレーションファイルに追加し、 - カーネルを再コンパイルする必要があるでしょう。 - カーネルの再コンパイル方法の詳細については、 - 「カーネルのコンフィグレーション」(<xref linkend="kernelconfig"/>) - をご覧ください。</para> - - <warning> - <para>IPFW のデフォルトのポリシーは <literal>deny ip from any to - any</literal> です。 - スタートアップ時にアクセスを許可するようなルールを追加していないと、 - サーバがファイアウォールの有効なカーネルで再起動した後、 - <emphasis>自分自身をロックアウト</emphasis> してしまいます。 - この機能を初めて使うときには、 - <filename>/etc/rc.conf</filename> ファイルにおいて、 - <literal>firewall_type=open</literal> と設定すると良いでしょう。 - 新しいカーネルの機能が適切に機能していることを確認後、 - <filename>/etc/rc.firewall</filename> - のファイアウォールのルールを設定してください。 - もしものときのために、 - 最初のファイアウォールの設定を <application>ssh</application> - ではなく、ローカルのコンソールで行うと良いでしょう。 - 他の方法は、カーネルを <literal>IPFIREWALL</literal> および - <literal>IPFIREWALL_DEFAULT_TO_ACCEPT</literal> - オプションで構築することです。 - これにより IPFW のデフォルトルールは、 - <literal>allow ip from any to any</literal> となり、 - ロックアウトの可能性が低くなります。</para> - </warning> - - <para>現在、IPFW - に関係するカーネルコンフィグレーションオプションは - 4 つあります。</para> - - <variablelist> - <varlistentry><term><literal>options IPFIREWALL</literal></term> - <listitem> - <para>パケットフィルタリングのためのコードを - カーネルに組み込みます。</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal> - options IPFIREWALL_VERBOSE</literal></term> - <listitem> - <para>&man.syslogd.8; を通じて - パケットのログを取るためのコードを有効にします。 - フィルタルールでパケットのログを取るように指定しても、 - このオプションが指定されていなければ、 - ログを取ることはできません。</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal> - options IPFIREWALL_VERBOSE_LIMIT=10</literal></term> - <listitem> - <para>&man.syslogd.8; を通じて - ログを取るパケットの数をエントリ毎に制限します。 - 敵対的な環境においてファイアウォールの - 動作のログを取りたいけれど、 - syslog の洪水によるサービス拒絶攻撃に対し - 無防備でありたくないという場合に、 - このオプションを使用したいと思うことが - あるかもしれません。</para> - - <para>チェーンエントリのログが指定された制限数に達すると、 - そのエントリに関するログ取りは停止されます。 - ログ取りを再開するには、&man.ipfw.8; - ユーティリティを使用して - 関連するカウンタをリセットする必要があります。</para> - - <screen>&prompt.root; <userinput>ipfw zero 4500</userinput></screen> - - <para>4500 とは、 - ログ取りを続行したいチェーンエントリの番号です。</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>options IPFIREWALL_DEFAULT_TO_ACCEPT</literal></term> - - <listitem> - <para>このオプションは、デフォルトのルールを <quote>deny</quote> - から <quote>allow</quote> へと変更します。 - このオプションを指定することで、 - カーネルに <literal>IPFIREWALL</literal> - のサポートを組み込んだ後、ファイアウォールを設定していなくとも、 - 自分自身をロックしてしまうことを避けられます。 - ある特定の問題をフィルタリングするために - &man.ipfw.8; を良く使うのであれば、 - このオプションは非常に有用です。 - このオプションは、ファイアウォールを開き、 - ファイアウォールの振る舞いをこれまでと変えてしまうので、 - 注意深く使ってください。</para> - - </listitem> - </varlistentry> - </variablelist> - - <note><para>以前のバージョンの FreeBSD は - <literal>IPFIREWALL_ACCT</literal> というオプションを - 持っていました。しかし、 - ファイアウォールコードがアカウンティングファシリティ (機能) を - 自動的に含むようになったため、 - 現在では使用されることはなくなっています。</para></note> - </sect2> - - <sect2> - <title>IPFW の設定</title> - <indexterm> - <primary>ipfw</primary> - <secondary>設定</secondary> - </indexterm> - - <para>IPFW ソフトウェアの設定は &man.ipfw.8; - ユーティリティを通じておこないます。 - このコマンドの構文は非常に複雑に見えますが、 - 一旦その構造を理解すれば比較的単純です。</para> - - <para>このユーティリティでは今のところ四つの異なる - コマンドカテゴリが 使用されています: それは追加 / 削除、表示、 - フラッシュ、およびクリアです。追加 / - 削除はパケットの受け入れ、拒絶、ログ取りをどのようにおこなうか - というルールを構築するのに使用します。表示はルールリスト - (またはチェーン) と (アカウンティング用) パケットカウンタの - 内容を調べるのに使用します。 - フラッシュはチェーンからすべてのエントリを - 取り除くのに使用します。 - クリアは一つまたはそれ以上のアカウンティングエントリを - ゼロにするのに 使用します。</para> - - <sect3> - <title>IPFW ルールの変更</title> - - <para>この形式での使用法は: - <cmdsynopsis> - <command>ipfw</command> - <arg>-N</arg> - <arg choice="plain">コマンド</arg> - <arg>index</arg> - <arg choice="plain">アクション</arg> - <arg>log</arg> - <arg choice="plain">プロトコル</arg> - <arg choice="plain">アドレス</arg> - <arg>オプション</arg> - </cmdsynopsis> - </para> - - <para>この形式で使用する際に有効なフラグは一つだけです。</para> - - <variablelist> - <varlistentry><term>-N</term> - <listitem> - <para>アドレスやサービス名を - 文字列に変換して表示します。</para> - </listitem> - </varlistentry> - </variablelist> - - <para><emphasis> コマンド </emphasis> - は一意である限り短縮可能です。有効な <emphasis> コマンド - </emphasis> は</para> - - <variablelist> - <varlistentry><term>add</term> - <listitem> - <para>ファイアウォール / アカウンティングルールリストに - エントリを追加します。</para> - </listitem> - </varlistentry> - - <varlistentry><term>delete</term> - <listitem> - <para>ファイアウォール / - アカウンティングルールリストから - エントリを削除します。</para> - </listitem> - </varlistentry> - </variablelist> - - <para>以前のバージョンの IPFW では、 - ファイアウォールエントリと - パケットアカウンティングエントリが別々に利用されていました。 - 現在のバージョンでは、それぞれのファイアウォールエントリ毎に - パケットアカウンティングエントリが備えられています。</para> - - <para><emphasis>index</emphasis> 値が指定されていると、 - エントリはチェーン中の指示された位置に置かれます。 - <emphasis>index</emphasis> 値が指定されて いなければ、 - エントリは (65535 番のデフォルトルールである - パケット拒絶を別にして) 最後のチェーンエントリの index に - 100 を足した 位置 (チェーンの最後) に置かれます。</para> - - <para>カーネルが <literal>IPFIREWALL_VERBOSE</literal> - つきでコンパイルされている場合、<literal>log</literal> - オプションはマッチしたルールを - システムコンソールに出力させます。</para> - - <para>有効な <emphasis> アクション </emphasis> は:</para> - - <variablelist> - <varlistentry><term>reject</term> - <listitem> - <para>パケットを捨てます。ICMP ホスト / - ポート到達不能パケットを (適切な方を) - 発信元へ送ります。</para> - </listitem> - </varlistentry> - - <varlistentry><term>allow</term> - <listitem> - <para>通常通りパケットを通過させます。(別名: - <literal>pass</literal>, - <literal>permit</literal> および - <literal>accept</literal>)</para> - </listitem> - </varlistentry> - - <varlistentry><term>deny</term> - <listitem> - <para>パケットを捨てます。発信元は ICMP メッセージによる - 通知を受けません (そのためパケットが - 宛先に到達しなかったように見えます)。</para> - </listitem> - </varlistentry> - - <varlistentry><term>count</term> - <listitem> - <para>このルールはパケットカウンタを更新するだけで、 - パケットを 通過させたり拒絶したりしません。 - 検索は次のチェーンエントリから続けられます。</para> - </listitem> - </varlistentry> - </variablelist> - - <para>それぞれの <emphasis> アクション </emphasis> - は一意な先頭部分だけでも認識されます。</para> - - <para>指定可能な <emphasis> プロトコル </emphasis> - は以下の通りです。</para> - - <variablelist> - <varlistentry><term>all</term> - <listitem> - <para>任意の IP パケットにマッチします。</para> - </listitem> - </varlistentry> - - <varlistentry><term>icmp</term> - <listitem> - <para>ICMP パケットにマッチします。</para> - </listitem> - </varlistentry> - - <varlistentry><term>tcp</term> - <listitem> - <para>TCP パケットにマッチします。</para> - </listitem> - </varlistentry> - - <varlistentry><term>udp</term> - <listitem> - <para>UDP パケットにマッチします。</para> - </listitem> - </varlistentry> - </variablelist> - - <para><emphasis> アドレス </emphasis> の指定は:</para> - <cmdsynopsis> - <arg choice="plain">from</arg> - <arg choice="plain"><replaceable>address/mask</replaceable></arg> - <arg><replaceable>port</replaceable></arg> - <arg choice="plain">to</arg> - <arg choice="plain"><replaceable>address/mask</replaceable></arg> - <arg><replaceable>port</replaceable></arg> - <arg>via <replaceable>interface</replaceable></arg> - </cmdsynopsis> - - <para><replaceable>port</replaceable> はポートをサポートする - <emphasis> プロトコル </emphasis> (UDP と TCP) の - 場合にだけ指定可能です。</para> - - <para><option>via</option> は必須ではなく、 - 特定のインタフェースを通ってきたパケット - だけにマッチするように、IP アドレスまたはローカル IP - インタフェースの ドメイン名、またはインタフェース名 - (たとえば <filename>ed0</filename>) を - 指定することができます。 - インタフェースユニット番号はオプションで、 - ワイルドカードで指定することが できます。たとえば、 - <literal>ppp*</literal> はすべてのカーネル PPP - インタフェースに マッチします。</para> - - <para><replaceable>address/mask</replaceable> の指定は: - - <screen><replaceable>address</replaceable></screen> - - または - - <screen><replaceable>address</replaceable>/<replaceable>mask-bits</replaceable></screen> - - または - - <screen><replaceable>address</replaceable>:<replaceable>mask-pattern</replaceable></screen> - </para> - - <para>IP - アドレスのかわりに有効なホスト名を指定することも可能です。 - <option><replaceable>mask-bits</replaceable></option> - はアドレスマスクで上位何ビットを1にするべきかを - 示す十進数値です。たとえば次の指定、 - <systemitem class="netmask">192.216.222.1/24</systemitem> はクラス C のサブネット - (この場合 <systemitem class="ipaddress">192.216.222</systemitem>) - の任意のアドレスにマッチするマスクを作成します。 - <option><replaceable>mask-pattern</replaceable></option> - は与えられたアドレスと 論理 AND される IP アドレスです。 - キーワード <literal>any</literal> は<quote>任意の IP - アドレス</quote>を指定するために - 使用することができます。</para> - - <para>ブロックするポート番号は以下のように指定します: - - <cmdsynopsis> - <arg choice="plain"><replaceable>port</replaceable><arg>, - <replaceable>port</replaceable><arg>, - <replaceable>port</replaceable><arg>… - </arg></arg></arg></arg> - </cmdsynopsis> - - のように単独のポートまたはポートのリストを指定します。 - または - - <cmdsynopsis> - <arg choice="plain"><replaceable>port</replaceable>- - <replaceable>port</replaceable></arg> - </cmdsynopsis> - - のようにポートの範囲を指定します。 - 単独のポートとポートのリストを - 組み合わせて指定することも可能ですが、 - その場合は常に範囲の方を - 最初に指定しなければなりません。</para> - - <para>使用可能な <emphasis> オプション </emphasis> は:</para> - - <variablelist> - <varlistentry><term>frag</term> - <listitem> - <para>データグラムの最初の - フラグメントでなければマッチします。</para> - </listitem> - </varlistentry> - - <varlistentry><term>in</term> - <listitem> - <para>入力途中のパケットであればマッチします。</para> - </listitem> - </varlistentry> - - <varlistentry><term>out</term> - <listitem> - <para>出力途中のパケットであればマッチします。</para> - </listitem> - </varlistentry> - - <varlistentry><term>ipoptions <replaceable>spec</replaceable></term> - <listitem> - <para>IP ヘッダが <replaceable>spec</replaceable> - に指定された カンマで区切られた - オプションのリストを含んでいればマッチします。 - サポートされている IP オプションは、 - <literal>ssrr</literal> (ストリクトソースルート)、 - <literal>lsrr</literal> (ルーズソースルート)、 - <literal>rr</literal> (レコードパケットルート)、 - そして <literal>ts</literal> (タイムスタンプ) です。 - 特定のオプションを含まないことを指定するには - <literal>!</literal> を先頭につけます。</para> - </listitem> - </varlistentry> - - <varlistentry><term>established</term> - <listitem> - <para>パケットが既に確立されている TCP - コネクションの一部であれば (つまり RST または ACK - ビットがセットされていれば) マッチします。 - <emphasis>established</emphasis> - ルールをチェーンの最初の方に置くことで、 - ファイアウォールのパフォーマンスを向上させることが - できます。</para> - </listitem> - </varlistentry> - - <varlistentry><term>setup</term> - <listitem> - <para>パケットが TCP - コネクションを確立しようとするものであれば (SYN - ビットがセットされ ACK ビットはセットされていなければ) - マッチします。</para> - </listitem> - </varlistentry> - - <varlistentry><term>tcpflags <replaceable>flags</replaceable></term> - <listitem> - <para>TCP ヘッダが <replaceable>flags</replaceable> - に指定された カンマで区切られたフラグの - リストを含んでいればマッチします。 - サポートされているフラグは、<literal>fin</literal>, - <literal>syn</literal>, <literal>rst</literal>, - <literal>psh</literal>, <literal>ack</literal> と - <literal>urg</literal> です。 - 特定のフラグを含まないことを指定するには - <literal>!</literal> を先頭につけます。</para> - </listitem> - </varlistentry> - - <varlistentry><term>icmptypes <replaceable>types</replaceable></term> - <listitem> - <para>ICMP タイプが <replaceable>types</replaceable> - リストに 存在していればマッチします。 - リストはタイプの範囲または個々のタイプを - カンマで区切った任意の組合せで指定できます。 - 一般的に使用されている ICMP タイプは: - <literal>0</literal> エコーリプライ (ping リプライ)、 - <literal>3</literal> 相手先到達不可能、 - <literal>5</literal> リダイレクト、 - <literal>8</literal> エコーリクエスト (ping - リクエスト)、そして <literal>11</literal> 時間超過 - (&man.traceroute.8; で使用されているように、TTL - 満了を示すのに使用されます) です。</para> - </listitem> - </varlistentry> - </variablelist> - </sect3> - - <sect3> - <title>IPFW ルールリストの表示</title> - - <para>この形式での使用法は: - <cmdsynopsis> - <command>ipfw</command> - <arg>-a</arg> - <arg>-c</arg> - <arg>-d</arg> - <arg>-e</arg> - <arg>-t</arg> - <arg>-N</arg> - <arg>-S</arg> - <arg choice="plain">list</arg> - </cmdsynopsis> - </para> - - <para>この形式で使用する際に有効なフラグは 7 つあります。</para> - - <variablelist> - <varlistentry><term>-a</term> - <listitem> - <para>リスト表示の際にカウンタの値も表示します。 - このオプションは アカウンティングカウンタの - 内容を見る唯一の手段です。</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>-c</term> - - <listitem> - <para>コンパクトな形式でルールの一覧を表示します。</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>-d</term> - - <listitem> - <para>静的ルールに加え動的ルールも表示します。</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>-e</term> - - <listitem> - <para><option>-d</option> が指定されているときには、 - 期限が切れた動的ルールも表示します。</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>-t</term> - - <listitem> - <para>各チェーンエントリが最後に - マッチした時刻を表示します。この時刻表示は - &man.ipfw.8; ユーティリティで使用される入力形式と - 互換性がありません。</para> - </listitem> - </varlistentry> - - <varlistentry><term>-N</term> - <listitem> - <para>(可能であれば) - アドレスやサービス名を文字列に変換して表示します。</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>-S</term> - - <listitem> - <para>各ルールが所属しているセットを表示します。 - このフラグが設定されていない場合には、 - 無効にされているルールは一覧に表示されません。</para> - </listitem> - </varlistentry> - </variablelist> - </sect3> - - <sect3> - <title>IPFW ルールのフラッシュ</title> - - <para>チェーンをフラッシュするには: - <cmdsynopsis> - <command>ipfw</command> - <arg choice="plain">flush</arg> - </cmdsynopsis> - </para> - - <para>カーネルに固定されているデフォルトルール (インデックス - 65535 番) 以外の、 - ファイアウォールチェーンの中のすべてのエントリを削除します。 - デフォルトではすべてのパケットが拒絶されるので、 - 一旦これを実行すると、 - パケットを許可するエントリがチェーンに追加されるまで、 - あなたのシステムがネットワークから切り放されてしまいます。 - そのため、 - ルールのフラッシュをおこなうときは注意が必要です。</para> - </sect3> - - <sect3> - <title>IPFW パケットカウンタのクリア</title> - - <para>一つまたはそれ以上のパケットカウンタをクリアするためには: - <cmdsynopsis> - <command>ipfw</command> - <arg choice="plain">zero</arg> - <arg choice="opt"><replaceable>index</replaceable></arg> - </cmdsynopsis> - </para> - - <para><replaceable>index</replaceable> が指定されていなければ、 - すべてのパケットカウンタが クリアされます。 - <replaceable>index</replaceable> が指定されていれば、 - 特定のチェーンエントリだけが クリアされます。</para> - </sect3> - </sect2> - *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708251522.v7PFMcZp034798>