<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://www.tamochan.com/">
<title>Gentoo Linuxで自宅サーバー</title>
<link>http://www.tamochan.com/</link>
<description>www.tamochan.com</description>
<dc:language>ja-JP</dc:language>
<dc:creator></dc:creator>
<dc:date>2008-04-26T13:10:16+09:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.typepad.com/" />


<items>
<rdf:Seq><rdf:li rdf:resource="http://www.tamochan.com/2008/04/post-67f6.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/gentolinux-c35c.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/redhatlinux-3c6.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/post-e9f5.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/post-b251.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/iptables-ff38.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/post-b97b.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/post-c335.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/os-d6e6.html" />
<rdf:li rdf:resource="http://www.tamochan.com/2008/04/post-4555.html" />
</rdf:Seq>
</items>

</channel>

<item rdf:about="http://www.tamochan.com/2008/04/post-67f6.html">
<title>自宅サーバー関連リンク</title>
<link>http://www.tamochan.com/2008/04/post-67f6.html</link>
<description>相互リンクについて 当サイトと相互リンクをしていただける方、ぜひお願いいたします...</description>
<content:encoded>&lt;h2&gt;相互リンクについて&lt;/h2&gt;
&lt;p&gt;当サイトと相互リンクをしていただける方、ぜひお願いいたします。当サイトリンク用HTMLは、&lt;/p&gt;

&lt;p&gt;
&amp;lt;a href=&amp;quot;http://www.tamochan.com&amp;quot;&amp;gt;タモチャンドットコム - Gentoo Linux で 自宅サーバ&amp;lt;/a&amp;gt;
&lt;/p&gt;

&lt;p&gt;でございます。貴サイトにリンク後、&lt;a href=&quot;mailto:webmaster@tamochan.com&quot;&gt;こちら&lt;/a&gt;までご連絡ください。&lt;/p&gt;
&lt;h2&gt;自宅サーバ相互リンク一覧&lt;/h2&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://vine-linux.ddo.jp/&quot;&gt; 自宅サーバーでやってみよう！！ - 『 自宅サーバーの構築 』 『 Microsoft Access 』の情報を中心に、いろいろな活用を目指すホームページ&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://vine-linux.ddo.jp/images/yattemiyo4.gif&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://sakaguch.com/&quot;&gt;「鷹の巣」の自宅サーバー - ドメイン名を取得して、Web・FTP・メールサーバーを立ち上げた経験にもとづき、その手順を簡素にとりまとめたもの&lt;br /&gt;&lt;br /&gt;&lt;img width=&quot;88&quot; height=&quot;31&quot; src=&quot;http://sakaguch.com/img/bnr/ts_bnr0.gif&quot; alt=&quot;「鷹の巣」の自宅サーバー&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://fedorasrv.com/&quot;&gt;Fedoraで自宅サーバー構築 - Linux(Fedora Core)で自宅サーバーを構築したときの記録&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://fedorasrv.com/img/banner.gif&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://itoigawa.com/%7Ehomeserver/&quot;&gt;自宅サーバー全国マップ - 「所在地を公開しお互い近づこう」を目的とした自宅サーバー全国マップ&lt;br /&gt;&lt;br /&gt;&lt;img width=&quot;88&quot; height=&quot;31&quot; src=&quot;http://itoigawa.com/%7Ehomeserver/mbbs/japone.png&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.akenotori.jp/&quot;&gt;朱の鳥 ～ Linux フリーソフト ビギナーズガイド ～ - Red Hat Enterprise Linux / Fedora Core 4 での 自宅サーバー構築&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.akenotori.jp/Images/banner.gif&quot; alt=&quot;朱の鳥 ～ Linux フリーソフト ビギナーズガイド ～&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://linuxmaster.web.fc2.com/&quot;&gt;目指せ！LinuxMaster - RedHat,FedoraCore Linuxのサーバ構築に必要な知識であったりサーバ構築の方法&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://linuxmaster.web.fc2.com/img/banner.gif&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;p&gt;&lt;a href=&quot;http://linuxmaster.web.fc2.com/&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;/p&gt;

&lt;li&gt;&lt;a href=&quot;http://vine.1-max.net/&quot;&gt;VineLinuxで自宅サーバー - サーバー設定の方法を多くの方に分かりやすくHTML化して情報公開&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.tamochan.com/sogolink/banner/v-hs.gif&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.ponko2.com/&quot;&gt;ぽんこつWEBサーバー構築 - Windows＋ApacheによるWEBサーバー構築&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.tamochan.com/sogolink/banner/ponko2.gif&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.gside.org/&quot;&gt;Gentoo Side Linux サーバー構築 - Gentoo Linuxによるサーバー構築を中心に解説&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.tamochan.com/sogolink/banner/gentoo_side.png&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://kajuhome.com/&quot;&gt;はじめての自宅サーバ構築 - 自宅サーバをFedora CoreやCentOSで構築する手順&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://kajuhome.com/image/banner.gif&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.udat.net/&quot;&gt;自宅サーバーを作ろう！ - 非固定IPアドレスで、Vine Linuxでのサーバーの構築方法を紹介してます。&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.tamochan.com/sogolink/banner/zitakusa-ba.gif&quot; /&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://penguin.tantin.jp/mori/&quot;&gt;ペンギンの杜 - Linux用のソフトを自由に登録でき、編集できるサイトです。
&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://honana.com/&quot;&gt;自宅サーバー革命 - Fedora Core を使って自宅サーバーを構築する方法を紹介するサイトです。
&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.maneimal.co.jp/GPL/&quot;&gt;GPL - General Public Links - コンセプトは、「ユーザーが作り上げていく検索サイト」。 &lt;/a&gt;&lt;a href=&quot; http://www.domain-easy-study.com/&quot;&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot; http://www.domain-easy-study.com/&quot;&gt;
ドメイン取得への道&lt;/a&gt; - ドメイン取得の方法、レンタルサーバーの比較&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://rentub.com/&quot;&gt;レンタルサーバー比較のつぼ！&lt;/a&gt; - 無料サーバー、格安ホスティングの比較サイト&lt;/ul&gt;
</content:encoded>


<dc:subject>リンク</dc:subject>

<dc:creator>tamochan</dc:creator>
<dc:date>2008-04-26T13:10:16+09:00</dc:date>
</item>
<item rdf:about="http://www.tamochan.com/2008/04/gentolinux-c35c.html">
<title>GentoLinux自宅サーバ構築</title>
<link>http://www.tamochan.com/2008/04/gentolinux-c35c.html</link>
<description>Homeserver Install Guide　～　Gentoo Linuxで...</description>
<content:encoded>&lt;h2&gt;&lt;a id=&quot;_1&quot; name=&quot;_1&quot;&gt;Homeserver Install Guide　～　Gentoo Linuxで自宅サーバのすすめ&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;タモチャンドットコムの自宅サーバは今３世代目。２世代目から新しくサーバを立ち上げようと思ったのは単にハードディスクが調子が悪くなったからです。じゃあせっかくだからソフトウェアRAIDでいいからRAID1を組んで・・・。それで俺も安心、ということでした。
&lt;/p&gt;
&lt;p&gt;OSは何にしようか、というところで悩みました。最初はRedHatっぽいFedora Coreか、学生時代使っていたKONDARA
Linuxを引き継いだMOMONGA
LINUXか。旧ブログにその辺を書いたところK.O.や鬼軍曹（←大学時代の俺のLinux軍曹、いや先輩)がGentoo（ジェンツー、と読むらし
い）Linuxがお勧め、だと。&lt;/p&gt;

&lt;p&gt;Gentoo Linuxとは何ぞや、と。立ち読みした（後に購入）「はじめてのGentoo
Linux(ソフトバンクパブリッシング・田中秀樹著）」によると、”日曜大工的OS”だとか、”インストールの難しさ＝楽しみの源”だとかと書いてあ
る。もののホームページによると、「Portageは馬鹿RPMと違って超楽、でもコンパイルに時間がかかる。まして、OSのインストールなど少なくとも
3日はかかる。」あ、そう。そんなにおれはひまじゃないぞ。日曜だって場合によっては仕事してんだぞ、と思って会社で（こっそり）でたばかりの
Fedora Core 4のイメージを焼いたのだった&lt;/p&gt;

&lt;p&gt;しかし、鬼軍曹にあおられてしまった・・・Fedoraにすることをブログで告げると「つまんねぇ」と。そのまま俺はアドレスバーにうったのだった。&lt;br /&gt;http://www.gentoo.gr.jp/&lt;br /&gt;と・・・&lt;/p&gt;

&lt;p&gt;ここでは、Gentoo Linuxのインストールと自宅サーバの構築について解説します、といいたいところですが、&lt;a href=&quot;http://www.gentoo.gr.jp/&quot;&gt;公式ページ&lt;/a&gt;はじめ他サイトで非常によくまとまっています。また、サーバの設定などは&lt;a href=&quot;http://www.tamochan.com/homeserver/homeold.html&quot;&gt;旧サーバ&lt;/a&gt;とあまり変わりませんので、ここは詳しいところは他のサイトに譲って、構築ドキュメントとリンク集のような形にしたいと思っています。&lt;/p&gt;


&lt;h2&gt;&lt;a id=&quot;_2&quot; name=&quot;_2&quot;&gt;Gentoo Linuxのインストール&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;まず、Gentoo Linuxをインストールするサーバ機のスペックを紹介します。&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Dell Dimension XPS T550改&lt;/li&gt;

&lt;li&gt;CPU : PentiumIII 550MHz&lt;/li&gt;

&lt;li&gt;Mem : 192MB&lt;/li&gt;

&lt;li&gt;HDD : 20GB × 2 (Software RAID1)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;例によってかなりの低スペック。でも、自宅サーバならこれくらいでもかなり動きます&lt;/p&gt;

&lt;p&gt;さて、Gentoo
Linuxのインストールをはじめるのですが、とりあえずインストールCDをダウンロードします。CDのみでインストールする方法と、インストールCDは
とっても小さい容量で、ネットワークを利用しながら、その都度必要なパッケージをダウンロードしながらインストールする方法があり、それぞれで必要なCD
が異なります。今回はネットワークを利用したインストール方法を採用します。&lt;a href=&quot;http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1&amp;amp;chap=2#doc_chap3&quot;&gt;2.c. GentooインストールCDをダウンロードして、CDに焼いて、ブートします&lt;/a&gt;からイメージをダウンロードします。&lt;/p&gt;

&lt;p&gt;インストールCDからブートすると・・・いきなりコマンドライン面が。いまどきコマンドうってインストールか・・・。とびびります。さらに、カーネル指定にキーマップを日本にしないとキーボード配列がおかしくて、非常に作業しづらくなります。&lt;/p&gt;

&lt;pre class=&quot;commandline&quot;&gt;boot:gentoo dokeymap&lt;br /&gt;&amp;gt;&amp;gt; Loading keymaps...&lt;br /&gt;Please select a keymap from the following list by typing in the &lt;br /&gt;appropriatename or number.&lt;br /&gt;Hit Enter for the default &amp;quot;us/41&amp;quot; US English keymap.&lt;br /&gt;...&lt;br /&gt;&amp;lt;&amp;lt; Load keymap: jp&lt;/pre&gt;

&lt;p&gt;起動して、&lt;/p&gt;

&lt;pre class=&quot;commandline&quot;&gt;livecd root#&lt;/pre&gt;

&lt;p&gt;が出たら準備完了。通常なら、&lt;a href=&quot;http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1&amp;amp;chap=0&quot;&gt;1. Gentooをインストールする&lt;/a&gt;にしたがって行っていけば大丈夫、かと思います。&lt;/p&gt;

&lt;p&gt;なお、Gentoo
Linuxは用途？目的？によってインストールの方法が若干異なります。インストールの段階がStage1,2,3とあり、どの段階からはじめることも可
能です。Stage1ががっつりカスタマイズ派、Stage3は簡単インストール派、みたいな感じです。&lt;a href=&quot;http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1&amp;amp;chap=2#doc_chap2&quot;&gt;2.b. GentooインストールCDを参考にしてください。&lt;/a&gt;ぼ
くはStage1から始めましたが、Stage2でなんだかんだとコンパイルしなければならず、恐ろしく時間がかかり、インストール完了まで本当に3日か
かりました。本当はそんなに時間がかからないのですが、コマンドうって放置、コマンドうって放置、ということを繰り返さないといけなくなるはずです。おそ
らくStage3でもいいでしょう・・・おそらく。&lt;/p&gt;

&lt;p&gt;今回行ったイレギュラーな物としては、Software RAID1を組んだ、というところでしょうか。まず、&lt;a href=&quot;http://www.gentoo.org/doc/ja/gentoo-x86-tipsntricks.xml?style=printable#software-raclass&quot;&gt;Gentoo/x86 インストールの Tips &amp;amp; Tricks&lt;/a&gt;を参考にして、パーティションを切り、RAIDの設定を行います。&lt;/p&gt;

&lt;pre class=&quot;commandline&quot;&gt;livecd linux # modprobe raid1&lt;br /&gt;livecd linux # mknod /dev/md0 b 9 0　←/dev/md0の作成&lt;br /&gt;livecd linux # mknod /dev/md1 b 9 1&lt;br /&gt;livecd linux # mknod /dev/md2 b 9 2&lt;br /&gt;livecd linux # mdadm --create /dev/md0 --level=1 --raid-devices=2 \&lt;br /&gt;/dev/hda1 /dev/hdb1　←raid作成&lt;br /&gt;livecd linux # mdadm --create /dev/md1 --level=1 --raid-devices=2 \&lt;br /&gt;/dev/hda2 /dev/hdb2&lt;br /&gt;livecd linux # mdadm --create /dev/md2 --level=1 --raid-devices=2 \&lt;br /&gt;/dev/hda3 /dev/hdb3&lt;br /&gt;livecd linux # mdadm --detail --scan &amp;gt; /etc/mdadm.conf &lt;br /&gt;↑confファイルの書き出し&lt;br /&gt;livecd linux # reiserfsck --check /dev/md0　&lt;br /&gt;↑ちゃんとできてるかをチェック。ここではreiserfs使用&lt;br /&gt;livecd linux # reiserfsck --check /dev/md1&lt;br /&gt;livecd linux # reiserfsck --check /dev/md2&lt;br /&gt;livecd linux # mount /mnt/gentoo/ /dev/md2&lt;br /&gt;livecd linux # mount /mnt/gentoo/boot /dev/md0&lt;br /&gt;livecd linux # mkswap /dev/md1&lt;br /&gt;livecd linux # swapon /dev/md1&lt;br /&gt;livecd linux # cp /etc/mdadm.conf /mnt/gentoo/etc/mdadm.conf &lt;br /&gt;↑confファイルのchroot後用コピー&lt;br /&gt;livecd linux # mknod /mnt/gentoo/dev/md0 b 9 0　&lt;br /&gt;↑/dev/md0のchroot後用作成&lt;br /&gt;livecd linux # mknod /mnt/gentoo/dev/md1 b 9 1&lt;br /&gt;livecd linux # mknod /mnt/gentoo/dev/md2 b 9 2&lt;/pre&gt;


&lt;p&gt;そして、chroot。さらに、GRUBの設定を以下のように行います。まず、grub.confの設定です。&lt;/p&gt;

&lt;pre&gt;default 0&lt;br /&gt;timeout 30&lt;br /&gt;splashimage=(hd0,0)/grub/splash.xpm.gz&lt;br /&gt;#通常起動用&lt;br /&gt;title=Gentoo Linux 2.6.11-gentoo-r11&lt;br /&gt;root(hd0,0)&lt;br /&gt;kernel /kernel-2.6.11-gentoo-r11 root=/dev/md2&lt;br /&gt;#hdbが破壊したとき用&lt;br /&gt;title GentooLinux 2.6.11-gentoo-r11 raclass-critics-hda&lt;br /&gt;root(hd0,0)&lt;br /&gt;kernel /kernel-2.6.11-gentoo-r11 root=/dev/hda2&lt;br /&gt;#hdaが破壊したとき用&lt;br /&gt;title GentooLinux 2.6.11-gentoo-r11 raclass-critics-hdb&lt;br /&gt;root(hd1,0)&lt;br /&gt;kernel /kernel-2.6.11-gentoo-r11 root=/dev/hdb2&lt;/pre&gt;

&lt;p&gt;つぎにMBRにgrubをインストールします。&lt;/p&gt;

&lt;pre class=&quot;commandline&quot;&gt;livecd linux # grub&lt;br /&gt;grub&amp;gt; root (hd0,0)&lt;br /&gt;grub&amp;gt; setup (hd0)&lt;br /&gt;grub&amp;gt; root (hd1,0)&lt;br /&gt;grub&amp;gt; setup (hd1)&lt;br /&gt;grub&amp;gt; quit&lt;/pre&gt;


&lt;p&gt;また、&lt;a href=&quot;http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1&amp;amp;chap=10#doc_chap4&quot;&gt;インストールの締めの部分でアンマウントするところがある&lt;/a&gt;インストールの締めの部分でアンマウントするところがあるのですが、私がやったときになかなかうまくいきませんでした。なので、無理やりはずしました。&lt;/p&gt;

&lt;pre class=&quot;commandline&quot;&gt;livecd linux # umount /mnt/gentoo/home /mnt/gentoo/boot /mnt/gentoo/proc &lt;br /&gt;livecd linux # umount -d /mnt/gentoo&lt;/pre&gt;

&lt;h2&gt;&lt;a id=&quot;_3&quot; name=&quot;_3&quot;&gt;ネームサーバ BIND9&lt;/a&gt;&lt;/h2&gt;

&lt;pre class=&quot;commandline&quot;&gt;dns # emerge bind&lt;/pre&gt;
&lt;p&gt;で、インストール完了。RedHatからGentoo Linuxにそのまま設定ファイルを移動してもほぼ問題ありませんでした。ただ、辞書ファイルのディレクトリ名が/var/bind/になるので、その辺のメンテナンスが必要でしょう。&lt;a href=&quot;http://www.atmarkit.co.jp/flinux/index/indexfiles/bind9index.html&quot;&gt;参照：実用 BIND 9で作るDNSサーバ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;あとは、&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;dns # rc-update add named default&lt;/pre&gt;
&lt;p&gt;とし、起動時に自動的にデーモンも起動するようにしてください。&lt;/p&gt;

&lt;h2&gt;&lt;a id=&quot;_4&quot; name=&quot;_4&quot;&gt;FTPサーバ vsftpd&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;RedHatで構築時にはProFTPDでしたが、別なソフトウェアも試してみようということで今回はvsftpd(very secure ftpd)。名前がいいよね。とっても安全ってところが。&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;dns # emerge vsftpd&lt;/pre&gt;
&lt;p&gt;で、vsftpdをインストールします。そうすると、/etc/vsftpd/vsftpd.confなる設定ファイルが出現するので、それを編集します。特に注意すべきところを書きに記します。&lt;/p&gt;
&lt;pre&gt;# デーモンとして立ち上げるときは下記２行をYESとします。&lt;br /&gt;background=YES&lt;br /&gt;listen=YES&lt;br /&gt;&lt;br /&gt;# anonymousを拒否するので、NOとします。&lt;br /&gt;anonymous_enable=NO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Make sure PORT transfer connections originate from port 20 (ftp-data).&lt;br /&gt;# タモチャンドットコムではパッシブモードを推奨なのでNO&lt;br /&gt;connect_from_port_20=NO&lt;br /&gt;# かわりに、下記を記述&lt;br /&gt;pasv_enable=YES&lt;br /&gt;pasv_address=192.168.0.20&lt;br /&gt;listen_port=21&lt;br /&gt;pasv_min_port=10020&lt;br /&gt;pasv_max_port=10024&lt;br /&gt;&lt;br /&gt;# You may specify an explicit list of local users to chroot() to their home&lt;br /&gt;# directory. If chroot_local_user is YES, then this list becomes a list of&lt;br /&gt;# users to NOT chroot().&lt;br /&gt;# /etc/vsftpd/vsftpd.chroot_listに記述されているユーザ以外は、&lt;br /&gt;# 自分のホームディレクトリ以上には移動できないようにする。&lt;br /&gt;chroot_local_user=YES&lt;br /&gt;chroot_list_enable=YES&lt;br /&gt;# (default follows)&lt;br /&gt;chroot_list_file=/etc/vsftpd/vsftpd.chroot_list&lt;/pre&gt;
&lt;p&gt;設定後、rc-updateを用いて、デーモンが起動時にも自動的に起動するようにします。&lt;/p&gt;

&lt;h2&gt;&lt;a id=&quot;_5&quot; name=&quot;_5&quot;&gt;Webサーバ apache&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;apache2を導入しました。apache1.3でも良いのですが、何となく。&lt;/p&gt;
&lt;p&gt;主な設定ファイルは/etc/apache2/httpd.confにあります。ちょっと前までは
/etc/apache2/conf/commonapache2.confだったのですが、アップグレードしたらhttpd.confを使うようになっ
たのでビックリです。設定の基本は&lt;a href=&quot;http://www.tamochan.com/homeserver/homeold.html&quot;&gt;OLD&lt;/a&gt;を参考にして頂くとして、apache2では日本語の文字化けがネックとなります。以下の部分をチェックします。&lt;/p&gt;
&lt;pre&gt;#790行くらい。&lt;br /&gt;DefaultLanguage ja&lt;br /&gt;&lt;br /&gt;#815行くらい。AddLanguageがたくさん並んでるが、jaを一番上に。&lt;br /&gt;AddLanguage ja .ja&lt;br /&gt;&lt;br /&gt;#850行くらい。jaを先頭に。&lt;br /&gt;LanguagePriority ja en ca cs da de el eo es et fr he hr it ko &lt;br /&gt;ltz nl nn no pl pt pt-BR &lt;br /&gt;&lt;br /&gt;#870行くらい。ISO-8859-1をコメントアウト。&lt;br /&gt;#AddDefaultCharset ISO-8859-1&lt;br /&gt;#Charsetはhtmlファイルを優先にする。&lt;br /&gt;AddDefaultCharset Off&lt;br /&gt;&lt;br /&gt;#一番最後。バーチャルホストの設定は/etc/apache2/vhosts.d/vhosts.confに書く。&lt;br /&gt;#&lt;br /&gt;# Gentoo VHosts&lt;br /&gt;# &lt;br /&gt;# For Gentoo we include External Virtual Hosts Files.&lt;br /&gt;# Please see vhosts.d/00_default_vhost.conf for the default virtual host.&lt;br /&gt;#&lt;br /&gt;Include /etc/apache2/vhosts.d/vhosts.conf&lt;/pre&gt;
&lt;p&gt;バーチャルホストの設定は別ファイルに書くので注意です。直に書いても良いと思いますが。&lt;/p&gt;
&lt;p&gt;また、phpの設定を追加しました。/etc/apache2/httpd.confで、&lt;/p&gt;
&lt;pre&gt;#phpモジュールを読む&lt;br /&gt;LoadModule php4_module modules/libphp4.so&lt;br /&gt;#.phpの動作を宣言&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;#index.phpがデフォルトページになるように&lt;br /&gt;DirectoryIndex index.html index.html.var index.php &lt;/pre&gt;
&lt;p&gt;SSLを使いたい場合は、まずapache2がSSL対応になっていることが前提です。/etc/make.confのUSEフラグにsslを追加しておきます。&lt;/p&gt;
&lt;p&gt;/etc/apache2/sslなるディレクトリを作成し、そこにサーバの秘密鍵と証明書要求（CSR）を作成します。/etc/apache2/sslに移動して、まずはserver.keyというサーバの秘密鍵を作ります。&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# openssl genrsa -des3 -rand /var/log/messages -out server.key 1024&lt;br /&gt;10441 semi-random bytes loaded&lt;br /&gt;Generating RSA private key, 1024 bit long modulus&lt;br /&gt;.......................................................++++++&lt;br /&gt;.......++++++&lt;br /&gt;e is 65537 (0x10001)&lt;br /&gt;Enter PEM pass phrase （パスワード入力）&lt;br /&gt;Verifying password - Enter PEM pass phrase: （再度パスワード入力）&lt;/pre&gt;
&lt;p&gt;次にCSRの作成です。server.csrというファイルで作成します。&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;$ openssl req -new -key server.key -out server.csr&lt;br /&gt;Using configuration from /etc/ssl/openssl.cnf&lt;br /&gt;Enter PEM pass phrase:(サーバの秘密鍵で入れたパスワード)&lt;br /&gt;You are about to be asked to enter information that will be incorporated&lt;br /&gt;into your certificate request.&lt;br /&gt;What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;There are quite a few fields but you can leave some blank&lt;br /&gt;For some fields there will be a default value,&lt;br /&gt;If you enter &#39;.&#39;, the field will be left blank.&lt;br /&gt;-----&lt;br /&gt;Country Name (2 letter code) [AU]:(日本ならと入力)&lt;br /&gt;State or Province Name (full name) [Some-State]:（自分の住所などを入力）&lt;br /&gt;Locality Name (eg, city) []: （入力）&lt;br /&gt;Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;nbsp; （入力）&lt;br /&gt;Organizational Unit Name (eg, section) []: （入力）&lt;br /&gt;Common Name (eg, YOUR name) []: （入力）&lt;br /&gt;Email Address []:&amp;nbsp; （入力）&lt;br /&gt;&lt;br /&gt;Please enter the following &#39;extra&#39; attributes&lt;br /&gt;to be sent with your certificate request&lt;br /&gt;A challenge password []:（ただEnterを押す）&lt;br /&gt;An optional company name []:（ただEnterを押す）&lt;/pre&gt;
&lt;p&gt;次にapache2の設定です。/etc/apache2/modules.d/41_mod_ssl.default-vhost.conf で、&lt;/p&gt;
&lt;pre&gt;・・・・&lt;br /&gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;##&lt;br /&gt;## SSL Virtual Host Context&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;#バーチャルホストの設定。https://でアクセスするとここにアクセスされる。&lt;br /&gt;&amp;lt;VirtualHost 192.168.0.20:443&amp;gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp; &amp;nbsp;General setup for the virtual host&lt;br /&gt;DocumentRoot &amp;quot;/var/httpd/https&amp;quot;&lt;br /&gt;ServerName www.tamochan.com:443&lt;br /&gt;ServerAdmin webmaster@tamochan.com&lt;br /&gt;ErrorLog /var/log/apache2/ssl_error_log&lt;br /&gt;&amp;lt;IfModule mod_log_config.c&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; TransferLog logs/ssl_access_log&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;br /&gt;・・・・&lt;br /&gt;#CSRファイルのありか&lt;br /&gt;SSLCertificateFile /etc/apache2/ssl/server.csr&lt;br /&gt;#サーバ秘密鍵のありか&lt;br /&gt;SSLCertificateKeyFile /etc/apache2/ssl/server.key&lt;/pre&gt;
&lt;p&gt;さらに、起動オプションの設定です。/etc/conf.d/apache2 で、ヴァーチャルホスト、SSL、SSLヴァーチャルホストを有効にする設定です。&lt;/p&gt;
&lt;pre&gt;APACHE2_OPTS=&amp;quot;-D DEFAULT_VHOST -D SSL -D SSL_DEFAULT_VHOST&amp;quot;&lt;/pre&gt;

&lt;h2&gt;&lt;a id=&quot;_6&quot; name=&quot;_6&quot;&gt;メールサーバ Postfix&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;前回同様、メールサーバソフトウェアにはPostfixを使用しました。ただ、POP Before
SMTPの設定がうまくいかなかったため、今回はSMTP AUTHを利用しました。まず、SMTP
AUTHに対応したPostfixにするためにはコンパイル前にUSEフラグに saslを追加します。&lt;/p&gt;
&lt;p&gt;emergeコマンドでPostfixを設定したら、/etc/postfix/main.cfの設定です。今回紹介するのはsaslに関係する部
分とスパムメール対策で、ブラックリストに載っているホストやつじつまの合わないヘッダを持つメールをはじく設定など、前回との変更点です。&lt;/p&gt;
&lt;pre&gt;・・・&lt;br /&gt;#ここらへんからsmtp auth(sasl)の設定&lt;br /&gt;smtpd_recipient_restrictions = permit_sasl_authenticated, &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; permit_mynetworks, &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; reject_unauth_destination&lt;br /&gt;smtpd_sasl_auth_enable = yes&lt;br /&gt;smtpd_sasl_local_domain =&lt;br /&gt;smtpd_sasl_security_options = noanonymous&lt;br /&gt;broken_sasl_auth_clients = no&lt;br /&gt;allow_mail_to_commands = alias,forward,include&lt;br /&gt;&lt;br /&gt;#スパムメール対策。reject_rbl_clientの後ろにかかれている&lt;br /&gt;#データベースに登録されているホストからは受け付けなくなります。&lt;br /&gt;smtpd_client_restrictions = permit_mynetworks,&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_invalid_hostname,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_non_fqdn_sender,&lt;br /&gt;&amp;nbsp; &amp;nbsp; 　&amp;nbsp; reject_non_fqdn_recipient,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_unknown_sender_domain,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_unknown_recipient_domain,&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client bl.spamcop.net,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client blackholes.mail-abuse.org,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client dynablock.wirehub.net,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client korea.services.net,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client opm.blitzed.org,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client relays.ordb.org,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client relays.visi.com,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; reject_rbl_client sbl-xbl.spamhaus.org,&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; permit&lt;br /&gt;・・・&lt;/pre&gt;
&lt;p&gt;次に、SASLでパスワード認証を行えるようにします。/etc/sasl2/smtpd.confを下記のように編集します。&lt;/p&gt;
&lt;pre&gt;pwcheck_method: pwcheck&lt;/pre&gt;
&lt;p&gt;pwcheckを起動し、デフォルトでサーバ起動時に自動で立ち上がるようにします。&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# /etc/init.d/pwcheck start&lt;br /&gt;# rc-update add pwcheck&lt;/pre&gt;
&lt;p&gt;Outlookでは「アカウントの設定」で、「送信メールサーバの詳細設定」の「受信メールサーバーと同じ設定を利用する」にチェックを入れておけば送信できるようになります。&lt;/p&gt;

&lt;h2&gt;&lt;a id=&quot;_10&quot; name=&quot;_10&quot;&gt;スパムメール対策 Spamassassin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#2.10&quot;&gt;旧サーバの設定&lt;/a&gt;を参考にしていただければいいですが、起動スクリプトはemergeするだけで/etc/init.d以下に用意されます。あとは&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# rc-update add spamd&lt;/pre&gt;
&lt;p&gt;でＯＫです。ただし、&lt;a href=&quot;http://www.tamochan.com/blog/archives/2006/01/spamassassin.html&quot;&gt;spamassassinの学習&lt;/a&gt;にも書いたように、最初はspam、ham両方のメールを学習させてください。させないと、うまくベイジアンフィルタが働かないようです。&lt;/p&gt;
&lt;h2&gt;&lt;a id=&quot;_7&quot; name=&quot;_7&quot;&gt;Courier-Imap&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;今回はCourier-Imapを使ってみました。前のサーバがmbox方式（１ユーザ１ファイルでメールを扱う）だったので、maildir方式（１メール１ファイルでメールを扱う）に変換しました。変換方式は&lt;a href=&quot;http://asshole.dip.jp/mb2md.php&quot;&gt;http://asshole.dip.jp/mb2md.php&lt;/a&gt;を参考にしました。&lt;/p&gt;

&lt;p&gt;emergeでインストールしたあと、ユーザのディレクトリにメールを扱うディレクトリを作成します。Postfixのmain.cfにかかれている home_mailbox = .maildir/ で指定されているユーザのディレクトリに移動して、&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# maildirmake .maildir&lt;/pre&gt;
&lt;p&gt;を実行します。.maildirが作成されます。今後ユーザのディレクトリが作成されるたびに実行するのが面倒な場合は/etc/skel/（ユーザのディレクトリの雛型）に移動して上記コマンドを実行しておくと便利です。&lt;/p&gt;
&lt;p&gt;設定は/etc/courier-imap 下にありますが、ほとんど触らなくても大丈夫です。下記の部分くらいでしょうか。imapd、pop3dファイル内で、&lt;/p&gt;
&lt;pre&gt;#Hardwire a value for ${MAILDIR}&lt;br /&gt;MAILDIR=.maildir&lt;br /&gt;MAILDIRPATH=.maildir&lt;/pre&gt;
&lt;p&gt;のように、自分の環境とMAILDIRがあっているか確認してください.&lt;/p&gt;
&lt;h2&gt;&lt;a id=&quot;_8&quot; name=&quot;_8&quot;&gt;プロキシサーバ squid&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;基本的にはインストールすれば動きますが、メモ程度に。以下の記述をすればプロキシとしての機密性が高くなります。記述をする前とあとで&lt;a href=&quot;http://www.taruo.net/e/&quot;&gt;診断くん&lt;/a&gt;で確かめてみてください。&lt;/p&gt;
&lt;pre&gt;header_access X-Forwarded-For deny all&lt;br /&gt;header_access Via deny all&lt;br /&gt;header_access Cache-Control deny all&lt;/pre&gt;
&lt;p&gt;ただし、外部に公開する場合は設定をきちんと行うべきです。私は自宅内でしか利用していませんが・・・。&lt;/p&gt;
&lt;h2&gt;&lt;a id=&quot;_9&quot; name=&quot;_9&quot;&gt;Gentoo Linuxの強力なパッケージ管理を利用したアップデート&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;セキュリティホールを埋めるためのアップデートはLinuxでは依存関係なんかがあってとても面倒くさいものだとされてきましたが、Gentoo
LinuxにはPortageと呼ばれる仕組みで強力なパッケージ管理がされているため、依存関係をほぼ意識することなくアップデートを行えるようになり
ました。ここでは、Portageを利用したアップデートを仕方を紹介します。&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# emerge --sync&lt;/pre&gt;
&lt;p&gt;で更新情報のアップデートを行った後、&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# glsa-check -t new&lt;br /&gt;dns home # glsa-check -t new&lt;br /&gt;WARNING: This tool is completely new and not very tested, so it should not be&lt;br /&gt;used on production systems. It&#39;s mainly a test tool for the new GLSA release&lt;br /&gt;and distribution system, it&#39;s functionality will later be merged into emerge&lt;br /&gt;and equery.&lt;br /&gt;Please read http://www.gentoo.org/proj/en/portage/glsa-integration.xml&lt;br /&gt;before using this tool AND before reporting a bug.&lt;br /&gt;&lt;br /&gt;This system is affected by the following GLSA:&lt;br /&gt;200510-26　←この辺から注目&lt;br /&gt;200601-10&lt;br /&gt;200511-14&lt;br /&gt;200605-02&lt;br /&gt;200605-05&lt;/pre&gt;
&lt;p&gt;というように、セキュリティ関係でアップデートが必要な情報があった場合、その日付が表示されます。さらに、&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# glsa-check -l 200601-10&lt;br /&gt;WARNING: This tool is completely new and not very tested, so it should not be&lt;br /&gt;used on production systems. It&#39;s mainly a test tool for the new GLSA release&lt;br /&gt;and distribution system, it&#39;s functionality will later be merged into emerge&lt;br /&gt;and equery.&lt;br /&gt;Please read http://www.gentoo.org/proj/en/portage/glsa-integration.xml&lt;br /&gt;before using this tool AND before reporting a bug.&lt;br /&gt;&lt;br /&gt;[A] means this GLSA was already applied,&lt;br /&gt;[U] means the system is not affected and&lt;br /&gt;[N] indicates that the system might be affected.&lt;br /&gt;&lt;br /&gt;200601-10 [N] Sun and Blackdown Java: Applet privilege escalation &lt;br /&gt;( dev-java/sun-jre-bin dev-java/blackdown-jre dev-java/blackdown-jdk ... )&lt;/pre&gt;
&lt;p&gt; glsa-check -l yyyymm-dd といった文法で、その更新情報の内容が表示されます。必要だと思われたら、&lt;/p&gt;
&lt;pre class=&quot;commandline&quot;&gt;# emerge -u [更新すべきパッケージ名]&lt;/pre&gt;
&lt;p&gt;とし、パッケージの更新を行います。cronでglsa-checkを動かしておくと、毎日メールなりで更新情報が届けられます。&lt;/p&gt;</content:encoded>


<dc:subject>アーカイブ</dc:subject>

<dc:creator>tamochan</dc:creator>
<dc:date>2008-04-26T13:05:53+09:00</dc:date>
</item>
<item rdf:about="http://www.tamochan.com/2008/04/redhatlinux-3c6.html">
<title>RedHatLinux時代の自宅サーバー</title>
<link>http://www.tamochan.com/2008/04/redhatlinux-3c6.html</link>
<description>はじめにGo To Index さまざまなインターネットのサービスを提供するサー...</description>
<content:encoded>&lt;h3&gt;はじめに&lt;a name=&quot;0&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;さまざまなインターネットのサービスを提供するサーバ．皆さんもインターネットを利用しているなら，必ずお世話になっています．&lt;/p&gt;

&lt;p&gt;通常，サーバは主にプロバイダなど第3者によって運営され，我々はその利用権限をもらったり買ったりして利用します．&lt;/p&gt;

&lt;p&gt;自宅サーバはそのサーバを自宅に設置し，自らの手で運営し，ネットワークに関するスキルアップと快適なインターネット環境を模索することを目的とします．&lt;/p&gt;
&lt;p&gt;自宅サーバは以前なら自宅まで専用線を引き，IPアドレスを買い，サーバ専用の機器を購入し･･･．と，構築には莫大な費用と手間がかかりました．しかし，近年の情報インフラの普及に伴い，非常に安価に構築が可能です．&lt;/p&gt;

&lt;p&gt;専用線はフレッツADSL・ISDN，あるいはBフレッツなどの一般向けの常時接続で代用可能ですし，IPアドレスも一つ月々1,000円ぐらいか
らもらえるようになりました．また，LINUXを利用すれば，apacheなど世界標準のサービスソフトウェアが無償で提供されているので，ソフトウェア
はOSを含め，すべて無償でそろえることができます．&lt;/p&gt;

&lt;p&gt;このページではこれから自宅サーバを構築する人のために，私の経験を踏まえて，機器の選定から導入，ソフトウェアの設定までを紹介して行きます．&lt;/p&gt;

&lt;p class=&quot;caution&quot;&gt;しかし，あくまで私の経験ですので，正しいとは限りません．ここでの内容を実行するときはすべて自らの責任の上で行ってください． &lt;/p&gt;

&lt;h3&gt;1 環境選び，環境作り&lt;a name=&quot;1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4&gt;1.1 回線&lt;a name=&quot;1.1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&quot;Bフレッツ光終端装置&quot; src=&quot;http://www.tamochan.com/images/bflets.jpg&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;思い立ったが吉日！さあ，いきなりはじめます．まずは家にインターネットを引きましょう．これを見てるなら，多分もう引いてあるでしょう．でも，本
格的にサーバを立てたいのなら，常時接続が基本．フレッツADSL・ISDN，あるいはBフレッツなどがいいのではないでしょうか．私はBフレッツ，ファミリータイプにしました．これから先は，Bフレッツであることを前提に話を進めさせていただきます．&lt;/p&gt;
&lt;p&gt;申し込んでから1ヶ月強で工事をしてくれました．工事は1時間ぐらいで終わりました．青い光ファイバを外から引っ張って，屋内にある光終端装置につ
ける程度の工事です．速度は速いときで5Mbpsぐらいです．遅いような気がしますが・・・．ADSLよりは劇的に早くなったので良しとします．&lt;/p&gt;
&lt;h4&gt;1.2 ルータ&lt;a name=&quot;1.2&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&quot;設置状況&quot; src=&quot;http://www.tamochan.com/images/connect.jpg&quot; /&gt;
&lt;img alt=&quot;SuperOPT50&quot; src=&quot;http://www.tamochan.com/images/router.jpg&quot; /&gt;

&lt;/p&gt;

&lt;p&gt;ブロードバンドルータを決めます．自宅サーバ運営で必要な機能は&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;静的IPマスカレード&lt;/li&gt;

&lt;li&gt;ファイアウォール機能&lt;/li&gt;

&lt;li&gt;PPPoE接続機能&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;しかも，ブロードバンドの場合は&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;高スループット&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;も考慮に入れる必要があります．私はマイクロ総合研究所 NetGenesis SuperOPT50にしました．設定が少々面倒くさいところがありますが，パケットフィルタリングが細かく設定できるところが嬉しいです．高機能，高スループットで最高のルータだと思います．&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h4&gt;1.3 プロバイダ&lt;a name=&quot;1.3&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;プロバイダは固定IPをくれるところがいいです．今は結構増えてきています．まだまだBフレッツの固定IPは高いですが・・・．&lt;a href=&quot;http://www.flatray.com/static-ip/index.html&quot;&gt;http://www.flatray.com/static-ip/index.html&lt;/a&gt;に，固定IPを提供しているプロバイダの一覧があります．&lt;/p&gt;

&lt;h4&gt;1.4 ドメイン名&lt;a name=&quot;1.4&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;ドメイン名を取ります．私は&lt;a href=&quot;http://www.onamae.com/&quot;&gt;お名前.com&lt;/a&gt;でとりました．&lt;/p&gt;
&lt;p&gt;もし，DNSを管理するのが面倒ならば，DNS登録も同時にやってくれるレジストリがあるので，そこを狙うのがいいでしょう．&lt;a href=&quot;http://www.eastcourt-rokko.com/domain/&quot;&gt;独自ドメイン取得情報&lt;/a&gt;は参考になります．&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;468&quot; scrolling=&quot;no&quot; height=&quot;60&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=2098943&amp;amp;pid=870680584&quot; marginheight=&quot;0&quot; allowtransparency=&quot;true&quot;&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;468&quot; scrolling=&quot;no&quot; height=&quot;60&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=2098943&amp;amp;pid=870687944&quot; marginheight=&quot;0&quot; allowtransparency=&quot;true&quot;&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;h4&gt;1.5 本体&lt;a name=&quot;1.5&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&quot;我が家のサーバ&quot; src=&quot;http://www.tamochan.com/images/server.jpg&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;たいしたスペックは要りません．私はあまりパーツで自分で組み立てました．ただ，ネットワークカードは100Mbpsにしたほうがいいです．&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;CPU:Celeron 433MHz&lt;/li&gt;

&lt;li&gt;メモリ:128MB&lt;/li&gt;

&lt;li&gt;NIC:100Mbps PCI製&lt;/li&gt;

&lt;li&gt;HDD:13GB+15GB&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;1.6 OS&lt;a name=&quot;1.6&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;Linux，特に今回はRedHat Linux 7.2にします．ほとんどの場合，OSもソフトウェアも無料です．Windowsはセキュリティ面でちょっと不安があります．世界的に見ても，Unixベースのサーバのほうが圧倒的に多いと思いますから，Linuxに慣れることはのちのち有利になるかもしれません．&lt;/p&gt;
&lt;h4&gt;1.7 提供するサービスとそのサーバソフトウェア&lt;a name=&quot;1.7&quot;&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;&lt;li&gt;DNS:BIND
&lt;/li&gt;

&lt;li&gt;FTP:ProFTPD
&lt;/li&gt;

&lt;li&gt;SSH:OpenSSH
&lt;/li&gt;

&lt;li&gt;Web:Apache
&lt;/li&gt;

&lt;li&gt;メール:PostFix&amp;amp;Qpopper
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;の5つとします．telnetはセキュリティ上提供しません．ソフトウェアは世界標準といっても過言ではないものを選んでいます．使われていないものを使っても将来役に立たなさそうですから・・・．&lt;/p&gt;


&lt;h3&gt;2 インストール&lt;a name=&quot;2&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;h4&gt;2.1 OS&lt;a name=&quot;2.1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;まずはOSのインストールからはじめます．RedHat Linux 7.2を雑誌，またはFTPでイメージを落としCDに焼くなりして手に入れます．&lt;/p&gt;
&lt;p&gt;インストール方法はカスタムインストールとします．一つ一つ自分で決めながらインストールです．&lt;/p&gt;
&lt;p&gt;まずは，パーティションの切り方です．&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;/ 3GB
&lt;/li&gt;

&lt;li&gt;/var 2GB
&lt;/li&gt;

&lt;li&gt;/home 10GB
&lt;/li&gt;

&lt;li&gt;swap 128MB
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;/varと/homeは後々のことを考えて，分けたほうがいいです．/varにはログとメール，/homeにはユーザのデータが記憶されています．swapはメモリと同じぐらいの大きさをとります．&lt;/p&gt;
&lt;p&gt;IPの割り当ててすが，DHCPではなく固定でわかりやすい番号を一つ決めておきます．ルータによってはDHCP機能が働いている場合があるので，DHCPで割り当てるIPの範囲外のものにしておきます．サーバ名も自分の好きな名前をつけます．&lt;/p&gt;
&lt;p&gt;同時にインストールするパッケージですが，ネットワーク関連のソフトウェアは入れても入れなくてもかまいません．どうせ後で最新版を探してくるからです．&lt;/p&gt;

&lt;h4&gt;2.2 RPMについて&lt;a name=&quot;2.2&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;RPM(RedHat Package Manager)とは、パッケージ管理システムです。RPMでパッケージ、平たく言うとソフトウェアを管理することで、依存性のチェックやアップデートなどを楽～に行うことができます。&lt;/p&gt;
&lt;p&gt;ソフトウェアをソースからコンパイルしてインストールすると、設定ファイルやログが/usr/local　以下に入ってしまうことが多く、管理も面
倒くさくなってしまいます。RPMでインストールすろと設定ファイルは/etc　以下、ログは/var/log　以下にきちんと置かれるので大変管理がし
やすくなります。&lt;/p&gt;
&lt;p&gt;こんな楽なRPMですが、結構探すのが面倒くさかったり、逆にインストールやアップデートが面倒くさくなることがあります。RPMのバイナリパッ
ケージはKondara用とかVine用とかって言うのがあるので、所望の物がなかなか無かったりします。インストールのときはちゃんと依存関係をチェッ
クするので、入れておかなければいけない物があったら怒られて、それを探しにいって、・・・なんてことがあったりします。また、ソフトウェアの最新版が
RPMになって無かったりということもあります。また、アーキテクチャによっても異なったりします。普通はi386ですが･･。&lt;/p&gt;
&lt;p&gt;でも、やっぱりRPMがいいです。ソースからコンパイルしてなんぼ！という人もいるかもしれませんが、僕はRPMを意地でも使って管理をしたほうが一元的に管理ができていいと思います。&lt;/p&gt;

&lt;h4&gt;2.3 BIND&lt;a name=&quot;2.3&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;では，いよいよソフトウェアを入れていきます．まずはDNSを担当するBINDを入れていきます．BINDはバージョン9を入れます．BIND9は
内部からは内部向けの名前引き、外部からは外部向けの名前引きをしてくれます．これが，IPアドレスを一つしかもらえないホームサーバにとってはありがた
いからです。/etc/named.confには以下のような設定を行ってみます。&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;468&quot; scrolling=&quot;no&quot; height=&quot;60&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=2098943&amp;amp;pid=870678999&quot; marginheight=&quot;0&quot; allowtransparency=&quot;true&quot;&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;div id=&quot;homeserver&quot;&gt;&lt;listing&gt;&lt;p&gt;options {&lt;br /&gt;	//辞書ファイルをどこに置くか？&lt;br /&gt;	directory &amp;quot;/var/named&amp;quot;;&lt;br /&gt;};&lt;br /&gt;//対内部用名前引きの設定&lt;br /&gt;view &amp;quot;internal&amp;quot;{&lt;br /&gt;	//この設定をどのIPに効かせるか&lt;br /&gt;	match-clients {192.168.0.0/24; 127.0.0.0/8;};&lt;br /&gt;	recursion yes;&lt;/p&gt;

&lt;p&gt;	zone &amp;quot;.&amp;quot; IN {&lt;br /&gt;		type hint;&lt;br /&gt;	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; file &amp;quot;named.ca&amp;quot;;&lt;br /&gt;	};&lt;br /&gt;	//ローカルホスト順引き&lt;br /&gt;	zone &amp;quot;localhost&amp;quot; IN {&lt;br /&gt;		type master;&lt;br /&gt;		file &amp;quot;localhost.zone&amp;quot;;&lt;br /&gt;		allow-update { none; };&lt;br /&gt;	};&lt;br /&gt;	//ローカルホスト逆引き&lt;br /&gt;	zone &amp;quot;0.0.127.in-addr.arpa&amp;quot; IN {&lt;br /&gt;		type master;&lt;br /&gt;		file &amp;quot;named.local&amp;quot;;&lt;br /&gt;		allow-update { none; };&lt;br /&gt;	};&lt;br /&gt;	//内部LAN用順引き&lt;br /&gt;	zone &amp;quot;tamochan.com&amp;quot; IN{&lt;br /&gt;		type master;&lt;br /&gt;		notify no;&lt;br /&gt;		file &amp;quot;tamochan.com.local.zone&amp;quot;;&lt;br /&gt;	};&lt;br /&gt;	//内部LAN用逆引き&lt;br /&gt;	zone &amp;quot;0.168.192.in-addr.arpa&amp;quot; IN{&lt;br /&gt;		type master;&lt;br /&gt;		notify no;&lt;br /&gt;		file &amp;quot;0.168.192.rev&amp;quot;;&lt;br /&gt;	};&lt;br /&gt;};&lt;/p&gt;

&lt;p&gt;//外部公開用&lt;br /&gt;view &amp;quot;external&amp;quot;{&lt;br /&gt;	match-clients {any;};&lt;br /&gt;	recursion no;&lt;/p&gt;

&lt;p&gt;	//外部用順引き&lt;br /&gt;	zone &amp;quot;tamochan.com&amp;quot; IN{&lt;br /&gt;		type master;&lt;br /&gt;		notify no;&lt;br /&gt;		file &amp;quot;domain&amp;quot;;&lt;br /&gt;	};&lt;/p&gt;

&lt;p&gt;};&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;外部用の逆引きは，プロバイダの都合上，してくれないので，記述していません．&lt;/p&gt;
&lt;p&gt;個々の辞書ファイルですが，外部向きの設定ファイル(上の設定ファイルに合わせると，/var/named/domain)だけ公開します．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;$TTL 43200&lt;br /&gt;@&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;IN&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SOA&amp;nbsp; &amp;nbsp;&amp;nbsp; dns.tamochan.com.&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; tamori.tamochan.com.&amp;nbsp; &amp;nbsp; (&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 2002022501;serial&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 28800;refresh&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 14400;retry&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 3600000;expire&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 86400;minimum&amp;nbsp; &amp;nbsp;)&lt;br /&gt;dns&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; IN&amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; 211.133.147.90&lt;br /&gt;@&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;IN&amp;nbsp; &amp;nbsp; NS&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;dns.tamochan.com.&lt;br /&gt;//メールサーバ&lt;br /&gt;@&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;IN&amp;nbsp; &amp;nbsp; MX 10&amp;nbsp; &amp;nbsp;mail.tamochan.com.&lt;br /&gt;//エイリアスの設定&lt;br /&gt;www&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; IN&amp;nbsp; &amp;nbsp; CNAME&amp;nbsp; &amp;nbsp;dns.tamochan.com.&lt;br /&gt;ftp&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; IN&amp;nbsp; &amp;nbsp; CNAME&amp;nbsp; &amp;nbsp;dns.tamochan.com.&lt;br /&gt;mail&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;IN&amp;nbsp; &amp;nbsp; CNAME&amp;nbsp; &amp;nbsp;dns.tamochan.com.&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;細かい部分は他所に譲るとして，結構重要なのは，上で行くとserial．これはシリアル番号で，変更を行った際には必ず，さらに大きな番号をつけておきます．変更した日付(YYYYMMDD)+2桁の通し番号としておくと，大きな番号になっていきます．また，忘れがちなのがdns.tamchan.com.の最後のピリオド．本当に忘れます．&lt;/p&gt;

&lt;h4&gt;2.4 ProFTPD&lt;a name=&quot;2.4&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;FTPサービスを実現するソフトウェアにProFTPDがあります．RPMでインストールすると設定ファイルは/etc/proftpd.confです．この設定を見ていきます．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;# This is the ProFTPD configuration file&lt;br /&gt;# 起動時に最初に表示させるメッセージ&lt;br /&gt;ServerIdent&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;on &amp;quot;tamochan.com FTP Server ready.&amp;quot;&lt;br /&gt;#アドミニストレータのメールアドレス&lt;br /&gt;ServerAdmin&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;root@tamochan.com&lt;br /&gt;#ined経由で起動するので，standaloneではなくて，inetd&lt;br /&gt;ServerType&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; inetd&lt;br /&gt;DefaultServer&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; on&lt;/p&gt;

&lt;p&gt;# Use pam to authenticate by default&lt;br /&gt;AuthPAMAuthoritative&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;on&lt;/p&gt;

&lt;p&gt;# Do not perform ident lookups (hangs when the port is filtered)&lt;br /&gt;IdentLookups&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; off&lt;/p&gt;

&lt;p&gt;# Port 21 is the standard FTP port.&lt;br /&gt;Port&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; 21&lt;/p&gt;

&lt;p&gt;# Umask 022 is a good standard umask to prevent new dirs and files&lt;br /&gt;# from being group and world writable.&lt;br /&gt;Umask&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;022&lt;/p&gt;

&lt;p&gt;# Chmod isn&#39;t allowed by default&lt;br /&gt;#AllowChmod&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;on&lt;/p&gt;

&lt;p&gt;# Default to show dot files in directory listings&lt;br /&gt;LsDefaultOptions&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;quot;-a&amp;quot;&lt;/p&gt;

&lt;p&gt;# See Configuration.html for these (here are the default values)&lt;br /&gt;#MultilineRFC2228&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;off&lt;br /&gt;#RootLogin&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; off&lt;br /&gt;#LoginPasswordPrompt&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;on&lt;br /&gt;#MaxLoginAttempts&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;3&lt;br /&gt;#MaxClientsPerHost&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; none&lt;/p&gt;

&lt;p&gt;# To prevent DoS attacks, set the maximum number of child processes&lt;br /&gt;# to 30.&amp;nbsp; If you need to allow more than 30 concurrent connections&lt;br /&gt;# at once, simply increase this value.&amp;nbsp; Note that this ONLY works&lt;br /&gt;# in standalone mode, in inetd mode you should use an inetd server&lt;br /&gt;# that allows you to limit maximum number of processes per service&lt;br /&gt;# (such as xinetd)&lt;br /&gt;MaxInstances&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 30&lt;br /&gt;# Set the user and group that the server normally runs at.&lt;br /&gt;User&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; nobody&lt;br /&gt;Group&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;nobody&lt;/p&gt;

&lt;p&gt;# Normally, we want files to be overwriteable.&lt;br /&gt;&amp;lt;Directory /*&amp;gt;&lt;br /&gt;&amp;nbsp; AllowOverwrite&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; on&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;&lt;p&gt;#anonumous(匿名)は受け付けないようにするため，コメントアウト．&lt;br /&gt;# A basic anonymous configuration, no upload directories.&lt;br /&gt;#&amp;lt;Anonymous ~ftp&amp;gt;&lt;br /&gt;&amp;nbsp; # Uncomment the following line to allow anonymous access&lt;br /&gt;&amp;nbsp; #RequireValidShell&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;off&lt;br /&gt;#&amp;nbsp; AllowChmod&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; off&lt;/p&gt;

&lt;p&gt;#&amp;nbsp; User&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; ftp&lt;br /&gt;#&amp;nbsp; Group&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ftp&lt;br /&gt;#&amp;nbsp; AccessGrantMsg&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;Anonymous login ok, restrictions apply.&amp;quot;&lt;/p&gt;

&lt;p&gt;&amp;nbsp; # We want clients to be able to login with &amp;quot;anonymous&amp;quot; as well as &amp;quot;ftp&amp;quot;&lt;br /&gt;#&amp;nbsp; UserAlias&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; anonymous ftp&lt;br /&gt;#&lt;br /&gt;&amp;nbsp; # Limit the maximum number of anonymous logins&lt;br /&gt;&amp;nbsp; #&amp;nbsp; User&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; ftp&lt;br /&gt;#&amp;nbsp; Group&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ftp&lt;br /&gt;#&amp;nbsp; AccessGrantMsg&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;Anonymous login ok, restrictions apply.&amp;quot;&lt;/p&gt;

&lt;p&gt;&amp;nbsp; # We want clients to be able to login with &amp;quot;anonymous&amp;quot; as well as &amp;quot;ftp&amp;quot;&lt;br /&gt;#&amp;nbsp; UserAlias&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; anonymous ftp&lt;br /&gt;#&lt;br /&gt;&amp;nbsp; # Limit the maximum number of anonymous logins&lt;br /&gt;#&amp;nbsp; MaxClients&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; 10&lt;/p&gt;

&lt;p&gt;&amp;nbsp; # We want &#39;welcome.msg&#39; displayed at login, &#39;.message&#39; displayed in&lt;br /&gt;&amp;nbsp; # each newly chdired directory and tell users to read README* files.&lt;br /&gt;#&amp;nbsp; DisplayLogin&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; welcome.msg&lt;br /&gt;#&amp;nbsp; DisplayFirstChdir&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;.message&lt;br /&gt;#&amp;nbsp; DisplayReadme&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;README*&lt;/p&gt;

&lt;p&gt;&amp;nbsp; # Limit WRITE everywhere in the anonymous chroot&lt;br /&gt;#&amp;nbsp; &amp;lt;Limit WRITE&amp;gt;&lt;br /&gt;#&amp;nbsp; &amp;nbsp; DenyAll&lt;br /&gt;#&amp;nbsp; &amp;lt;/Limit&amp;gt;&lt;/p&gt;

&lt;p&gt;#&amp;lt;/Anonymous&amp;gt;&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;FTPはinetdを経由して起動します．inetdとは，一つのプロセスでいろんなポートを見張っていて、クライアントからの通信が来た場合に初
めてサーバを実行してくれる便利な仕組みのことです．そこで次に，このinetdの設定をします．RedHatでは，inetdのさらに強力な管理機能を
持つxinetdになっています．設定ファイルは/etc/xinetd.d/proftpdです．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;# default: off&lt;br /&gt;# description: The ProFTPD FTP server serves FTP connections. It uses \&lt;br /&gt;#&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; normal, unencrypted usernames and passwords for authentication.&lt;br /&gt;service ftp&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; socket_type&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; = stream&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; wait&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; = no&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; user&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; = root&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; server&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;= /usr/sbin/in.proftpd&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; log_on_success&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; += DURATION USERID&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; log_on_failure&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; += USERID&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; nice&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; = 10&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; disable&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; = no&lt;br /&gt;}&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;曲者はdisableでしょうか．デフォルトではyesになっていますが，noにしないと，起動しません．&lt;/p&gt;

&lt;h4&gt;2.5 SSH&lt;a name=&quot;2.5&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;リモートでサーバを管理するために，従来はtelnetを使っていました．しかし，telnetは内容が暗号化されないため，パスワードなどが容易
に盗聴できました．そこで，SSH(Secure
SHell)を採用するところが多くなってきています．パケットをすべてRSAまたはDSAという方法で暗号化して送るため，盗聴しにくくなっています．
また，SSHにはポートフォワードという便利な機能もあるため，利用しない手はありません．&lt;/p&gt;
&lt;p&gt;RSA方式を採用するものがSSH1，DSA方式を採用するものがSSH2となります．暗号強度的にはDSA方式のほうが有利ですが，
Windowsからアクセスするためには，ソフトウェアの都合からRSA方式でなくてはならないようです．両方に対応しているものがOpenSSHです．
RPMでいれると，/etc/ssh/sshd_configが設定ファイルになります．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin&lt;/p&gt;

&lt;p&gt;# This is the sshd server system-wide configuration file.&amp;nbsp; See sshd(8)&lt;br /&gt;# for more information.&lt;/p&gt;

&lt;p&gt;Port 22&lt;br /&gt;Protocol 2,1&lt;br /&gt;#ListenAddress 0.0.0.0&lt;br /&gt;#ListenAddress ::&lt;br /&gt;HostKey /etc/ssh/ssh_host_key&lt;br /&gt;HostKey /etc/ssh/ssh_host_rsa_key&lt;br /&gt;HostKey /etc/ssh/ssh_host_dsa_key&lt;br /&gt;ServerKeyBits 768&lt;/p&gt;

&lt;p&gt;#ポートフォワードなどでつなぎっぱなしにしたいときは0&lt;br /&gt;LoginGraceTime 0&lt;/p&gt;

&lt;p&gt;KeyRegenerationInterval 3600&lt;/p&gt;

&lt;p&gt;#ルートでのログインを拒否&lt;br /&gt;PermitRootLogin no&lt;/p&gt;

&lt;p&gt;# Don&#39;t read ~/.rhosts and ~/.shosts files&lt;br /&gt;IgnoreRhosts yes&lt;br /&gt;# Uncomment if you don&#39;t trust ~/.ssh/known_hosts for RhostsRSAAuthentication&lt;br /&gt;#IgnoreUserKnownHosts yes&lt;br /&gt;StrictModes yes&lt;br /&gt;X11Forwarding yes&lt;br /&gt;X11DisplayOffset 10&lt;br /&gt;PrintMotd yes&lt;br /&gt;#AllowUsers tamori&lt;br /&gt;#PrintLastLog no&lt;br /&gt;KeepAlive yes&lt;/p&gt;

&lt;p&gt;# Logging&lt;br /&gt;SyslogFacility AUTH&lt;br /&gt;LogLevel INFO&lt;br /&gt;#obsoletes QuietMode and FascistLogging&lt;/p&gt;

&lt;p&gt;RhostsAuthentication no&lt;br /&gt;#&lt;br /&gt;# For this to work you will also need host keys in /usr/local/etc/ssh_known_host&lt;br /&gt;s&lt;br /&gt;RhostsRSAAuthentication no&lt;br /&gt;# similar for protocol version 2&lt;br /&gt;HostbasedAuthentication no&lt;/p&gt;

&lt;p&gt;RSAAuthentication yes&lt;/p&gt;

&lt;p&gt;#平文パスワードの拒否&lt;br /&gt;# To disable tunneled clear text passwords, change to no here!&lt;br /&gt;PasswordAuthentication no&lt;br /&gt;PermitEmptyPasswords no&lt;/p&gt;

&lt;p&gt;Subsystem&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; sftp&amp;nbsp; &amp;nbsp; /usr/local/libexec/sftp-server&lt;br /&gt;(END)&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;平文パスワードの拒否はnoにしておいたほうがいいでしょう．クライアントには秘密鍵，サーバ側には自分のホームディレクトリに.sshというディレクトリを作り，中に公開鍵を置きます．&lt;/p&gt;
&lt;p&gt;SSHはVPNにも応用されているようですので，暗号化ということに免疫をつけるにはちょうどいい第一歩かもしれません．&lt;/p&gt;

&lt;h4&gt;2.6 Apache&lt;a name=&quot;2.6&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;Apacheはいわずと知れたウェブサービスを提供するソフトウェアです．今では最新版として2.0が出ていますが，ここでは1.3について紹介し
ます．RPMでのインストールではインストール後，デーモンを立ち上げ，127.0.0.1にアクセスするとすぐに「It
worked!」などという画面がすぐに出てくれます．ただ，外部に公開するにはいくつか設定を変更しなくてはなりません．以下に，
/etc/httpd/conf/httpd.confの変更するべき一部を抜粋して紹介します．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;#サーバの管理者のメールアドレス&lt;br /&gt;ServerAdmin webmaster@tamochan.com&lt;br /&gt;#サーバの名前&lt;br /&gt;ServerName www.tamochan.com&lt;br /&gt;#http://www.tamochan.comのルートディレクトリ．まずはじめに参照するディレクトリ．&lt;br /&gt;DocumentRoot &amp;quot;/home/webmaster/public_html&amp;quot;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;p&gt;#/home/*/public_htmlの設定．CGIやSSIが動くようにしてある．&lt;br /&gt;&amp;lt;directory home/*/public_html&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; AllowOverride FileInfo AuthConfig Limit&lt;br /&gt;&amp;nbsp; &amp;nbsp; #CGIの実行を許可&lt;br /&gt;&amp;nbsp; &amp;nbsp; Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI&lt;br /&gt;　　#SSIの実行を許可&lt;br /&gt;&amp;nbsp; &amp;nbsp; Options +Includes&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Limit GET POST OPTIONS PROPFIND&amp;gt;&lt;br /&gt;&amp;nbsp; 	&amp;nbsp; Order allow,deny&lt;br /&gt;&amp;nbsp; 	&amp;nbsp; Allow from all&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Limit&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;LimitExcept GET POST OPTIONS PROPFIND&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Order deny,allow&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Deny from all&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;

&lt;p&gt;#CGIのファイルを設定&amp;nbsp; &amp;nbsp; &lt;br /&gt;AddHandler cgi-script .cgi&lt;br /&gt;#SSIのファイルを設定&lt;br /&gt;AddType text/html .shtml&lt;br /&gt;AddHandler server-parsed .shtml&lt;/p&gt;

&lt;p&gt;#バーチャルホストの設定&lt;br /&gt;#まずはNameVirtualHostにサーバのIPを設定&lt;br /&gt;NameVirtualHost 192.168.0.22&lt;br /&gt;#もし，http://tanpopo.tamochan.comでアクセスしてきた場合&lt;br /&gt;#ドキュメントルートは/home/tanpopo/public_htmlに設定&lt;br /&gt;&amp;lt;VirtualHost 192.168.0.22&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; ServerAdmin tanpopo@tamochan.com&lt;br /&gt;&amp;nbsp; &amp;nbsp; DocumentRoot /home/tanpopo/public_html&lt;br /&gt;&amp;nbsp; &amp;nbsp; ServerName tanpopo.tamochan.com&lt;br /&gt;&amp;nbsp; &amp;nbsp; #ログの出力先&lt;br /&gt;&amp;nbsp; &amp;nbsp; ErrorLog /var/log/httpd/error_log&lt;br /&gt;&amp;nbsp; &amp;nbsp; CustomLog /var/log/httpd/access_log common&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/p&gt;&lt;/listing&gt;

&lt;p&gt;CGIやSSIの設定が少々面倒くさいといったところでしょうか．ユーザに好評なのがヴァーチャルホストの設定．ユーザのホームページがhttp:
//***.tamochan.comのような，チルダなしのアドレスで公開できます．ヴァーチャルホストの設定後は，違う名前でもアクセスできるよう
に，/var/named/domain(正引きファイル)に，たとえば次の一行を足しておきます．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;tanpopo	IN	CNAME	dns.tamochan.com.&lt;/p&gt;&lt;/listing&gt;

&lt;h4&gt;2.7 Postfix&amp;amp;Qpopper&lt;a name=&quot;2.7&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;一番重要なのがメールでしょう．ここはしっかり設定しないと，スパムメールの発信元などになりかねないので，気をつけます．&lt;/p&gt;
&lt;p&gt;tamochan.comは&amp;quot;POP before SMTP&amp;quot;というものを採用しています．SMTPには本来,
認証手続きがないために，外部からのメールのリレーを許可すると，スパムメールのようなメールの不正中継に使われてしまう恐れがあります．だからといって
メールのリレーを許可しないと外部からSMTPが使えなくなるので，たとえば自宅にメールサーバがあって，外出先から自宅のアカウントでメールを出した
い，なんてときには不便です．そこで，外部のマシンがPOP接続をした場合，その後数分間は同じマシンからの
SMTPリレーを許可することで，あたかもSMTPにユーザ認証機能が付いているかのようにするのが&amp;quot;POP before SMTP&amp;quot;です．（一部，&lt;a href=&quot;http://www.paken.org:8080/linux/linux-tips/postfix.html&quot;&gt;PostfixとAPOP,POP before SMTP&lt;/a&gt;より引用)&lt;/p&gt;
&lt;p&gt;今回はは，SMTPを提供するものにPostfix，POP3を提供するものにQpopper，POP before SMTPを提供するものにはDRACをそれぞれ利用します．&lt;/p&gt;
&lt;p&gt;まずはDRACのインストール．&lt;a href=&quot;http://mail.cc.umanitoba.ca/drac/&quot;&gt;http://mail.cc.umanitoba.ca/drac/&lt;/a&gt;よりDRACをダウンロードし，解凍します．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% tar xzvf drac.tar.Z&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;次にDRACのMakefileを編集します．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;INSTALL = install&lt;br /&gt;EBIN = /usr/sbin&lt;br /&gt;DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH&lt;br /&gt;CFLAGS = $(DEFS) -g&lt;br /&gt;LDLIBS = -ldb&lt;br /&gt;TSTLIBS = -L. -ldrac&lt;br /&gt;RPCGENFLAGS = -C -I&lt;br /&gt;MANADM = 8&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;rpc.dracd.c を編集します．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;#define DBFILE &amp;quot;/etc/postfix/dracd.db&amp;quot;&lt;br /&gt;#define ALFILE &amp;quot;/etc/postfix/dracd.allow&amp;quot;&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;dracd-setup.linux を編集します．ここでは，POP認証の有効期限を60分に設定しています． &lt;/p&gt;
&lt;listing&gt;&lt;p&gt;&amp;quot;daemon rpc.dracd&amp;amp;&amp;quot;の行を&amp;quot;daemon rpc.dracd -e 5&amp;amp;&amp;quot;に変更．&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;コンパイルとインストールを行います．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% make&lt;br /&gt;% make install&lt;br /&gt;% make install-man&lt;br /&gt;% cp dracd-setup.linux /etc/rc.d/init.d/dracd&lt;br /&gt;% ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc3.d/S78dracd&lt;br /&gt;% ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc5.d/S78dracd&lt;br /&gt;% ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc6.d/K22dracd&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;DRACの最後の仕上げは，Qpopperのインストール時に必要なライブラリを自分でインストールします．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% cp libdrac.a /usr/lib/&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;つぎは，Qpopperのインストールです．まず，ソースのRPMを探してきて，インストールします．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% rpm -ivh qpopper-4.0.3-0vl1.src.rpm&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;QpopperをDRAC対応にするため，specファイルを編集します．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% cd /usr/src/redhat/SPECS&lt;br /&gt;% vi qpopper.spec&lt;/p&gt;

&lt;p&gt; (%buildセクションに追加)&lt;br /&gt;&amp;nbsp; --prefix=/usr \&lt;br /&gt;&amp;nbsp; --enable-bulletins=/var/spool/mail/bulletins \&lt;br /&gt;&amp;nbsp; --enable-specialauth \&lt;br /&gt;&amp;nbsp; --with-pam=qpopper \&lt;br /&gt;&amp;nbsp; --with-popuid=pop \&lt;br /&gt;&amp;nbsp; --enable-apop=/etc/pop.auth \&lt;br /&gt;&amp;nbsp; --enable-drac&amp;nbsp; &amp;nbsp; (←これを追加)&lt;/p&gt;

&lt;p&gt; (%preセクションのuseraddにオプションを追加)&lt;br /&gt; /usr/sbin/useradd -M -g pop pop -c &amp;quot;Pop Account&amp;quot; -d /dev/null -s /dev/null&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;rpmを作成します．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% rpm -bb qpopper.spec&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;Qpopperの仕上げとして，作ったQpopperをアップデートします．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% cd /usr/src/redhat/RPMS/i386&lt;br /&gt;% rpm -Uvh qpopper-4.0.3-0vl1drac.i386.rpm&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;いよいよPostfixのインストールです．RPMでインストールすると，設定ファイルは/etc/postfix/main.cfです．それでは見ていきましょう！主なものを抜粋です．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;#キューをためるディレクトリ&lt;br /&gt;queue_directory = /var/spool/postfix&lt;/p&gt;

&lt;p&gt;#メールオーナー&lt;br /&gt;mail_owner = mail &lt;/p&gt;

&lt;p&gt;#ホストネーム&lt;br /&gt;myhostname = mail.tamochan.com&lt;/p&gt;

&lt;p&gt;#ドメイン&lt;br /&gt;mydomain = tamochan.com&lt;/p&gt;

&lt;p&gt;# myorigin パラメータにはローカルで送信されたメールがどのドメインから&lt;br /&gt;# 来るように見えるかを指定&lt;br /&gt;myorigin = $mydomain&lt;/p&gt;

&lt;p&gt;#このマシンが自分自身が最終目的地だとみなすドメインのリストを指定&lt;br /&gt;mydestination = $myhostname, localhost.$mydomain, $mydomain,&lt;br /&gt;	mail.$mydomain, www.$mydomain, ftp.$mydomain&lt;/p&gt;

&lt;p&gt;#エイリアスのファイル&lt;br /&gt;alias_maps = hash:/etc/aliases&lt;/p&gt;

&lt;p&gt;#/sbin/newaliacesを実行したとき，どんなデータベースを作るか&lt;br /&gt;alias_database = hash:/etc/aliases&lt;/p&gt;

&lt;p&gt;#メールをためるディレクトリ&lt;br /&gt;mail_spool_directory = /var/spool/mail&lt;/p&gt;

&lt;p&gt;#このメールシステムがどのクライアントから&lt;br /&gt;#リレーを受けるか、またはどの目的地にメールをリレーするかを制限&lt;br /&gt;relay_domains = $mydestination&lt;/p&gt;

&lt;p&gt;#SMTPを受け付けるアドレス&lt;br /&gt;mynetworks = 192.168.0.0/16, 127.0.0.0/8, 211.133.147.90/32&lt;/p&gt;

&lt;p&gt;#POP before SMTPを動かす設定&lt;br /&gt;smtpd_recipient_restrictions = &lt;br /&gt;	permit_mynetworks, &lt;br /&gt;	check_client_access btree:/etc/mail/dracd,&lt;br /&gt;	check_relay_domains&lt;/p&gt;

&lt;p&gt;#わかんないドメインからのメールは拒否&lt;br /&gt;smtpd_sender_restrictions = reject_unknown_sender_domain&lt;/p&gt;

&lt;p&gt;#送信を許可する最大のファイルサイズ&lt;br /&gt;message_size_limit = 1024000&lt;/p&gt;

&lt;p&gt;#メールの寿命&lt;br /&gt;maximal_queue_lifetime = 12h&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;POP before SMTPを動かす設定を忘れないようにします．また，送信を許可する最大のファイルサイズも設定しておいたほうが，メール爆弾などが送られなくてすみます．&lt;/p&gt;
&lt;p&gt;一番トラフィックが多いのはメールになってくると思います．きちんと設定しなければ損害賠償！なってこともあるかもしれないので，慎重に設定をしてください．なお，第三者中継のチェックは&lt;a href=&quot;http://www.nanet.co.jp/rlytest/relaytest.html&quot;&gt;http://www.nanet.co.jp/rlytest/relaytest.html&lt;/a&gt;でやってくれますので，公開する前に試してみてください．&lt;/p&gt;

&lt;h4&gt;2.8 ルータの設定&lt;a name=&quot;2.8&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;さぁ，いよいよ外部に公開！そこで最後の仕上げとして，ルータの設定をします．必要な設定は静的IPマスカレードです．これは，インターネット側か
ら配信されたIPフレームを，プロトコルやポート番号に応じて内部LANの特定のIPアドレスへ転送する機能です．今回はサーバのアドレスを
192.168.0.100として，設定をしてみます．&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;ftp-data 20/tcp -&amp;gt; 192.168.0.100
&lt;/li&gt;

&lt;li&gt;ftp 21/tcp -&amp;gt; 192.168.0.100
&lt;/li&gt;

&lt;li&gt;ssh 22/tcp -&amp;gt; 192.168.0.100
&lt;/li&gt;

&lt;li&gt;smtp 25/tcp -&amp;gt; 192.168.0.100
&lt;/li&gt;

&lt;li&gt;dns 53/udp -&amp;gt; 192.168.0.100
&lt;/li&gt;

&lt;li&gt;www 80/tcp -&amp;gt; 192.168.0.100
&lt;/li&gt;

&lt;li&gt;pop3 110/tcp -&amp;gt; 192.168.0.100
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;試しに，ポートスキャンをかけてみます．&lt;a href=&quot;http://210.143.99.143/%7Ep-sec/pscan.html&quot;&gt;http://210.143.99.143/~p-sec/pscan.html&lt;/a&gt;からかけてみて，余計なポートは開いていませんか？確認してみてください．&lt;/p&gt;

&lt;h4&gt;2.9 WebDAV&lt;a name=&quot;2.9&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;WebDAVとは（簡単に言うと）HTTPでファイル転送を行う，FTPに変わるものと注目されるファイル共有プロトコルです．コネクションが単一
方向なので，どうもファイアウォールでFTPが邪魔される，ということも無くなるようです．また，サーバサイドでの処理，一本のコネクションでの処理とい
うメリットもあります．なお，ここで紹介する設定例はapache1.3用です．ご了承ください．&lt;/p&gt;
&lt;p&gt;まず，apacheに必要なモジュールが入っているか確認します．mod_so.cが入っていれば利用可能です&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% httpd -l&lt;br /&gt;Compiled-in modules:&lt;br /&gt;&amp;nbsp; http_core.c&lt;br /&gt;&amp;nbsp; mod_so.c&lt;br /&gt;SUExec: enabled; valid wrapper /usr/sbin/suexec&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;rpmを探してきてインストールしましょう．パッケージによってはすでに入っていることもあるようです．以下のコマンドで確認してみましょう．私はすでにインストール済みでした．入れた覚えはないのですが…．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% rpm -qa | grep mod_dav&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;いよいよhttpd.confの設定です．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;#以下の2行はあらかじめ書いてあるかもしれません&lt;br /&gt;LoadModule dav_module modules/libdav.so&lt;br /&gt;AddModule mod_dav.c&lt;/p&gt;

&lt;p&gt;#ロックデータベースの設定．どこに設定してもいいが，ディレクトリに&lt;br /&gt;#httpdプロセスのユーザ権限で書き込み可能でなくてはならない．&lt;br /&gt;DAVLockDB /usr/local/apache/DAVLock&lt;/p&gt;

&lt;p&gt;#Aliasの設定．設定した方がいいかも．&lt;br /&gt;#エイリアス先はpublic_html以下はさけた方が無難．&lt;br /&gt;Alias /dav &amp;quot;/home/httpd/davhome&amp;quot;&lt;/p&gt;

&lt;p&gt;#指定のディレクトリに対してWebDAV可能にする．&lt;br /&gt;&amp;lt;Location /dav&amp;gt;&lt;br /&gt;	DAV on&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;httpdの再起動を忘れずに．ここまででとりあえず可能です．Windowsだと，「ネットワークプレイスの追加」により利用可能です．上の設定
例だとホスト名http://www.tamochan.com/davで設定します．XPだと，ドライブ名を割り当てることもできます．&lt;/p&gt;
&lt;p&gt;しかし，ここまでだと誰でもファイルを閲覧可能です．ここで，.htaccessファイルにより認証設定を行います．以下に.htaccessの設定例を示します．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;AuthUserFIle /usr/local/apache/pass.pwd #パスワードファイル名．後述．&lt;br /&gt;AuthGroupFile /dev/null #認証用グループファイル&lt;br /&gt;AuthName DAVhome #認証ダイアログ表示用文字列&lt;br /&gt;AuthType Basic #認証タイプ&lt;br /&gt;&amp;lt;LimitExcept GET OPTIONS&amp;gt;&lt;br /&gt;	Require user tamochan&lt;br /&gt;&amp;lt;/LimitExcept&amp;gt;&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;GET,OPTIONS以外の操作は認証が必要という設定でした．次にパスワードの設定です．以下のコマンドによりパスワードを入力してください．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% htpasswd -c /usr/local/apache/pass.pwd tamochan&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;さらに，.htaccessが動くようにhttpdの設定です．httpd.confに以下の設定を加えてください．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;&amp;lt;Directory /home/httpd/davhome&amp;gt;&lt;br /&gt;	AllowOverride Limit AuthConfig&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;これで，(WinXPではなく)Win2000ではアクセスすると認証画面が表示されます．WinXPではなぜか認証画面が出ても認証されません．&lt;/p&gt;
&lt;p&gt;さらに，このままだと日本語のファイル名を持つものを登録するとファイル名が文字化けしてしまいます．よって，mod_encodingというモジュールを導入します．これはWinXPの認証問題と日本語の問題を一気に解決してくれるものです．&lt;/p&gt;
&lt;p&gt;まず，&lt;a href=&quot;http://webdav.todo.gr.jp/&quot;&gt;WebDAV Resources&lt;/a&gt;からソースアーカイブをダウンロードします．適当に展開します．&lt;/p&gt;
&lt;p&gt;次にコンパイルですが，まず展開されたディレクトリの直下にlibディレクトリがあるので，そこの中からコンパイルです．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% cd lib&lt;br /&gt;% ./configure&lt;br /&gt;% make&lt;br /&gt;% make install&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;これについては詳しいことはあまり述べないことにします．次に本体のコンパイルです．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% cd ..&lt;br /&gt;（コメント）apxsというコマンドのパスとiconv_hookライブラリのパスの指定をしてください．&lt;br /&gt;% ./configure --with-apxs=/usr/sbin/apxs --with-iconv-hook=/usr/local/lib&lt;br /&gt;% make&lt;br /&gt;% make install&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;さらに，httpd.confの設定です．
&lt;/p&gt;&lt;listing&gt;&lt;p&gt;LoadFile /usr/local/lib/libiconv_hook.so&lt;br /&gt;LoadModule encoding_module modules/mod_encoding.so&lt;/p&gt;

&lt;p&gt;&amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; Header add MS-Author-Via &amp;quot;DAV&amp;quot;&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;IfModule mod_encoding.c&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; EncodingEngine&amp;nbsp; &amp;nbsp; on&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; NormalizeUsername on&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; SetServerEncoding&amp;nbsp; &amp;nbsp;&amp;nbsp; UTF-8&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DefaultClientEncoding JA-AUTO-SJIS-MS SJIS&lt;/p&gt;

&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; AddClientEncoding &amp;quot;cadaver/&amp;quot; EUC-JP&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;httpdを再起動して確認してください．&lt;/p&gt;
&lt;h4&gt;2.10 SpamAssassin&lt;a name=&quot;2.10&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;あまり望ましくないことですが、運営していると外部にメールアドレスが漏れたりしてスパムメールが頻発してくるようになることがあります。そういうときの強い見方が&lt;a href=&quot;http://www.spamassassin.org/&quot;&gt;SpamAssassin&lt;/a&gt;です。これをMTAに組み合わせて使うことにより、強力なスパムフィルタにより自動的にスパムメールと思われるメールを廃棄してくれます。今回はデーモン(spamd)を起動しておいて、一回ずつ呼び出して処理するという手法を紹介します。&lt;/p&gt;
&lt;p&gt;まず、&lt;a href=&quot;http://www.spamassassin.org/&quot;&gt;SpamAssassin&lt;/a&gt;より、tarボールをダウンロードしてきます。このtarボールにはspecファイルが含まれているのでrpmパッケージが作成可能です。rpmパッケージは3つ作られると思いますが、いずれも一応インストールします。&lt;/p&gt;
&lt;p&gt;次に、デーモンとして動かすための準備をします。以下のスクリプトを用意します。(rpmを入れたら入っているかもしれません。)&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# spamassassin This script starts and stops the spamd daemon&lt;br /&gt;#&lt;br /&gt;# chkconfig: 2345 80 30&lt;br /&gt;#&lt;br /&gt;# description: spamd is a daemon process which uses SpamAssassin to check&lt;br /&gt;#&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; email messages for SPAM.&amp;nbsp; It is normally called by spamc&lt;br /&gt;#	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; from a MDA.&lt;/p&gt;

&lt;p&gt;# Source function library.&lt;br /&gt;. /etc/rc.d/init.d/functions&lt;/p&gt;

&lt;p&gt;# Source networking configuration.&lt;br /&gt;. /etc/sysconfig/network&lt;/p&gt;

&lt;p&gt;# Check that networking is up.&lt;br /&gt;[ ${NETWORKING} = &amp;quot;no&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;/p&gt;

&lt;p&gt;# Source spamd configuration.&lt;br /&gt;if [ -f /etc/sysconfig/spamassassin ] ; then&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; . /etc/sysconfig/spamassassin&lt;br /&gt;else&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; SPAMDOPTIONS=&amp;quot;-d -c -a -m5 -H&amp;quot;&lt;br /&gt;fi&lt;/p&gt;

&lt;p&gt;[ -f /usr/bin/spamd -o -f /usr/local/bin/spamd ] || exit 0&lt;br /&gt;PATH=$PATH:/usr/bin:/usr/local/bin&lt;/p&gt;

&lt;p&gt;# See how we were called.&lt;br /&gt;case &amp;quot;$1&amp;quot; in&lt;br /&gt;&amp;nbsp; start)&lt;br /&gt;	# Start daemon.&lt;br /&gt;	echo -n &amp;quot;Starting spamd: &amp;quot;&lt;br /&gt;	daemon spamd $SPAMDOPTIONS&lt;br /&gt;	RETVAL=$?&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; [ $RETVAL = 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/spamassassin&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; stop)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; # Stop daemons.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; echo -n &amp;quot;Shutting down spamd: &amp;quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; killproc spamd&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; RETVAL=$?&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; [ $RETVAL = 0 ] &amp;amp;&amp;amp; rm -f /var/lock/subsys/spamassassin&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; restart)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; $0 stop&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; $0 start&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; condrestart)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; [ -e /var/lock/subsys/spamassassin ] &amp;amp;&amp;amp; $0 restart&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; status)&lt;br /&gt;	status spamd&lt;br /&gt;	;;&lt;br /&gt;&amp;nbsp; *)&lt;br /&gt;	echo &amp;quot;Usage: $0 {start|stop|restart|status|condrestart}&amp;quot;&lt;br /&gt;	exit 1&lt;br /&gt;esac&lt;/p&gt;

&lt;p&gt;exit 0&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;このスクリプトをspamdとして保存し実行権限を与え、各ランレベルでデーモンとして起動するようにします。&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% chmod +x spamd&lt;br /&gt;% /sbin/chkconfig spamd on&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;&lt;a href=&quot;http://tlec.linux.or.jp/docs/user_prefs&quot;&gt;TLEC&lt;/a&gt;より、設定ファイルをダウンロードし利用します。これを/etc/mail/spamassassin/local.cfとして保存します。&lt;/p&gt;
&lt;p&gt;次に、Postfixのフィルタとしてのスクリプトを用意します。要するに、メールを受け取ったり発信したりする都度にこのスクリプトを実行するようにさせるわけです。様々なHPを参考に、私は以下のようなスクリプトを作成しました。&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;#!/bin/bash&lt;br /&gt;#SpamAssasin filter with Postfix&lt;/p&gt;

&lt;p&gt;#FILE PATH&lt;br /&gt;RM=/bin/rm&lt;br /&gt;INSPECT_DIR=/var/spool/filter&lt;br /&gt;OUTPUTFILE=out.$$&lt;/p&gt;

&lt;p&gt;SENDMAIL=/usr/sbin/sendmail&lt;br /&gt;KILLFILE=/var/log/spammail&lt;br /&gt;SPAMASSASSIN=/usr/bin/spamc&lt;br /&gt;#Exit codes from &lt;/p&gt;&lt;sysexits.&gt;&lt;p&gt;EX_TEMPFAIL=75&lt;br /&gt;EX_UNAVAILABLE=69&lt;/p&gt;

&lt;p&gt;#Move to Work Dir&lt;br /&gt;cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist : exit $EX_TEMPFAIL; }&lt;/p&gt;

&lt;p&gt;#Clean up when done or when aborting&lt;br /&gt;trap &amp;quot;$RM -f $OUTPUTFILE&amp;quot; 0 1 2 3 15&lt;br /&gt;cat | $SPAMASSASSIN -x &amp;gt; $OUTPUTFILE&lt;/p&gt;

&lt;p&gt;#メールのヘッダにspamdによってつけられる&amp;quot;X-Spam-Status: Yes&amp;quot;があるなら、KILLFILEに捨てる。&lt;br /&gt;spamflag=`less $OUTPUTFILE | grep -c &#39;X-Spam-Status: Yes&#39;`&lt;br /&gt;if [ $spamflag = 1 ]; then&lt;br /&gt;	cat $OUTPUTFILE &amp;gt;&amp;gt; $KILLFILE&lt;br /&gt;#それ以外なら処理。&lt;br /&gt;else&lt;br /&gt;	$SENDMAIL &amp;quot;$@&amp;quot; &amp;lt; $OUTPUTFILE&lt;br /&gt;fi&lt;br /&gt;exit $?&lt;/p&gt;&lt;/sysexits.&gt;&lt;/listing&gt;
&lt;p&gt;さらに、Postfixのmain.cfに、フィルタの定義を追加します。&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;filter unix - n n - - pipe user=filter argv=/usr/local/bin/sa_filter.sh -f ${sender} -- ${recipient}&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;次にmain.cfのsmtpの部分を書き換えます。&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;smtp&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;inet&amp;nbsp; n&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; -&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; n&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; -&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; -&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; smtpd -o content_filter=filter:&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;Postfixを再起動し、きちんと動作するか確認します。&lt;/p&gt;
&lt;p&gt;参考：&lt;a href=&quot;http://www.sonorilo.net/spamassassin&quot;&gt;http://www.sonorilo.net/spamassassin&lt;/a&gt;。ありがとうございました。&lt;/p&gt;
&lt;h3&gt;3 日々の管理&lt;a name=&quot;3&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4&gt;3.1 logcheck&lt;a name=&quot;3.1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;日々の管理は，やはり/var/log以下のログを随時チェックすることが大事ですが，膨大なログを，逐一チェックするのは大変に手間のかかる作業です．&lt;/p&gt;
&lt;p&gt;しかし，我々には大きな見方がいます．その名はlogcheck．大事なログだけを抜粋して設定時間おきにメールで送ってきてくれます．&lt;/p&gt;
&lt;p&gt;RPMで入れて，早速設定します．まず，どのログファイルチェックするかを設定します．/usr/bin/logcheck.shを編集します．以下に抜粋を示します．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;# Linux Red Hat Version 3.x, 4.x&lt;br /&gt;$LOGTAIL /var/log/messages &amp;gt; $TMPDIR/check.$$&lt;br /&gt;$LOGTAIL /var/log/secure &amp;gt;&amp;gt; $TMPDIR/check.$$&lt;br /&gt;$LOGTAIL /var/log/maillog &amp;gt;&amp;gt; $TMPDIR/check.$$&lt;br /&gt;$LOGTAIL /var/log/router &amp;gt;&amp;gt; $TMPDIR/check.$$&lt;br /&gt;#apacheのエラーログも送るようにする．&lt;br /&gt;$LOGTAIL /var/log/httpd/error_log &amp;gt;&amp;gt; $TMPDIR/check.$$&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;次に，どんなログが大事で，どんなログがいらないかを設定します．特に，いらないログを設定することは大事です．一杯送られてきたら意味がないです
から・・・．この設定は/etc/logcheck以下にありますが，今回はいらないログの設定を示します．/etc/logcheck/ignoreに
は，「こんな文字列があるものは，いらない！」という設定をすることができます．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;authsrv.*AUTHENTICATE&lt;br /&gt;cron.*CMD&lt;br /&gt;cron.*RELOAD&lt;br /&gt;cron.*STARTUP&lt;br /&gt;ftp-gw.*: exit host&lt;br /&gt;ftp-gw.*: permit host&lt;br /&gt;ftpd.*ANONYMOUS FTP LOGIN&lt;br /&gt;ftpd.*FTP LOGIN FROM&lt;br /&gt;ftpd.*retrieved&lt;br /&gt;ftpd.*stored&lt;br /&gt;http-gw.*: exit host&lt;br /&gt;http-gw.*: permit host&lt;br /&gt;mail.local&lt;br /&gt;named.*Lame delegation&lt;br /&gt;named.*Response from&lt;br /&gt;named.*answer queries&lt;br /&gt;named.*points to a CNAME&lt;br /&gt;named.*reloading&lt;br /&gt;named.*starting&lt;br /&gt;netacl.*: exit host&lt;br /&gt;netacl.*: permit host&lt;br /&gt;popper.*Unable&lt;br /&gt;popper: -ERR POP server at&lt;br /&gt;popper: -ERR Unknown command: &amp;quot;uidl&amp;quot;.&lt;br /&gt;telnetd.*ttloop:&amp;nbsp; peer died&lt;br /&gt;tn-gw.*: exit host&lt;br /&gt;tn-gw.*: permit host&lt;br /&gt;x-gw.*: exit host&lt;br /&gt;x-gw.*: permit host&lt;br /&gt;xntpd.*Previous time adjustment didn&#39;t complete&lt;br /&gt;xntpd.*time reset&lt;br /&gt;root 1&lt;br /&gt;named.*Cleaned&lt;br /&gt;named.*USAGE&lt;br /&gt;named.*NSTATS&lt;br /&gt;named.*XSTATS&lt;br /&gt;ntpd.*ntpd&lt;br /&gt;ntpd.*precision&lt;br /&gt;ntpd.*using&lt;br /&gt;ntpd.*frequency&lt;br /&gt;ntpd.*: synchronisation lost&lt;br /&gt;postfix/pickup.*: uid=&lt;br /&gt;postfix/cleanup.*: message-id&lt;br /&gt;postfix/nqmgr.*: from=&lt;br /&gt;postfix/local.*: to=&lt;br /&gt;postfix/smtp.*250&lt;br /&gt;postfix/smtpd.*: connect from&lt;br /&gt;postfix/smtpd.*: disconnect from&lt;br /&gt;postfix/smtpd.*client&lt;br /&gt;sshd.*: Connection closed by&lt;br /&gt;sshd.*: Accepted rsa&lt;br /&gt;PAM_pwdb.*: (login) session opened&lt;br /&gt;PAM_pwdb.*: (login) session closed&lt;br /&gt;named.*bad referral&lt;br /&gt;named.*Lame server on&lt;br /&gt;popper.*: login&lt;br /&gt;popper.*: Stats:&lt;br /&gt;xinetd.*pop3&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;.* というのはワイルドカードです．上手に利用して，アタックの早期発見を心がけましょう．&lt;/p&gt;
&lt;p&gt;最後に，一時間おきにlogcheckを起動します．cronに書いておきます．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% su&lt;br /&gt;% crontab -e&lt;br /&gt;(この行を追加）&lt;br /&gt;00 * * * * /usr/bin/logcheck.sh&lt;/p&gt;&lt;/listing&gt;

&lt;h4&gt;3.2 SYSLOG機能を利用したルータのログ管理&lt;a name=&quot;3.2&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;私の所有するルータには，SYSLOG機能があります．ログを，指定したIPアドレスに送ってくれる機能です．もしルータにこの機能があるなら，絶対に利用するべきです．&lt;/p&gt;
&lt;p&gt;ルータの設定は説明書にお任せして，ここではサーバ側の設定を行います．/etc/sysconfig/syslogを編集します．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;#Options to syslogd&lt;br /&gt;# -m 0 disables &#39;MARK&#39; messages.&lt;br /&gt;# -r enables logging from remote machines&lt;br /&gt;# -x disables DNS lookups on messages recieved with -r&lt;br /&gt;# See syslogd(8) for more details&lt;br /&gt;SYSLOGD_OPTIONS=&amp;quot;-m 0 -r&amp;quot; #&amp;lt;-ここを変更&lt;br /&gt;# Options to klogd&lt;br /&gt;# -2 prints all kernel oops messages twice; once for klogd to decode, and&lt;br /&gt;#&amp;nbsp; &amp;nbsp; once for processing with &#39;ksymoops&#39;&lt;br /&gt;# -x disables all klogd processing of oops messages entirely&lt;br /&gt;# See klogd(8) for more details&lt;br /&gt;KLOGD_OPTIONS=&amp;quot;-2&amp;quot;&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;SYSLOGD_OPTIONS=&amp;quot;-m 0 -r&amp;quot;の&amp;quot;-r&amp;quot;オプションをつけることで外部からのSYSLOGを受け付けるようになります．最後に，SYSLOGデーモンを再起動すると，/var/log/messagesにルータのログが記録されていきます．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% /etc/init.d/syslog restart&lt;/p&gt;&lt;/listing&gt;
&lt;h4&gt;3.3 攻撃がしつこいときに・・・パケットフィルタリングのマスク&lt;a name=&quot;3.3&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;たとえば，こんなログが残ったりします．&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;[Wed May 15 20:50:53 2002] [error] [client 211.5.***.***] &lt;br /&gt;File does not exist: /home/webmaster/public_html/scripts/..%5c../winnt/system32/cmd.exe&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;ルータのパケットフィルタリングはわかりづらいことがあります．IP/MASKといわれても，MASKってなに？って感じです．ここでは，このマスクについて解説します．&lt;/p&gt;
&lt;p&gt;これは有名なNimdaから攻撃されたログです．IPドメインサーチで211.5.***.***を見ると、こんな感じで返事が返ってきます。&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;………&lt;br /&gt;inetnum:&amp;nbsp; &amp;nbsp;&amp;nbsp; 211.0.0.0 - 211.7.255.255&lt;br /&gt;………&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;この全体をパケットフィルタリングします．おもむろに電卓で前から2進数になおしてみます．&lt;/p&gt;
&lt;img class=&quot;ex&quot; alt=&quot;おもむろに2進数&quot; src=&quot;http://www.tamochan.com/images/netmask.png&quot; /&gt;
&lt;p&gt;前から13桁は変化なし，後ろの19桁はがらりと変わっています．この変化のなかった桁数，13という数字がマスクになります．ですから，この範囲からのパケットをはじきたい場合には&lt;/p&gt;
&lt;listing&gt;&lt;p&gt;211.0.0.0/13&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;という設定になります．フィルタリングしたい最初のIP/変化のない桁数　です．&lt;/p&gt;
&lt;p&gt;気をつけて設定しないと，予期しないところからもアクセスできない場合が出てきますので，気をつけて設定しましょう（汗）．&lt;/p&gt;
&lt;p&gt;ちなみに，&lt;a href=&quot;http://www.nextcom.co.jp/tools/addr.htm&quot;&gt;http://www.nextcom.co.jp/tools/addr.htm&lt;/a&gt;で，サブネットに関する計算をしてくれます．参考にしてみてください．&lt;/p&gt;
&lt;h4&gt;3.4 up2dateでアップデートを簡単にする！&lt;a name=&quot;3.4&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;RedHatにはup2dateという自動アップデート機能があるんです．設定方法を簡単にご説明します．まずはRedHat Networkだかに登録をします．登録は無料のようです．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% rhn_register --configure&lt;br /&gt;% rhn_register --nox&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;初期設定です．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% up2date --nox --configure&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;自動起動の設定です．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% ntsysv&lt;br /&gt;この後，rhnsdをON&lt;/p&gt;&lt;/listing&gt;
&lt;p&gt;いよいよアップデート．以下のコマンドを打つと，ずら～っとアップデートしてくれます．&lt;/p&gt;
&lt;listing class=&quot;commandline&quot;&gt;&lt;p&gt;% up2date -u&lt;/p&gt;&lt;/listing&gt;
&lt;h3&gt;4 最後に&lt;a name=&quot;4&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;最後に，私が自宅サーバを立ち上げてよかったなって思うことをいくつか．&lt;/p&gt;
&lt;p&gt;まず，知識レベルがものすごく高くなりました．インターネットって，どんな仕組みなんだろうってことがだいぶわかるようになってきました．これは，
資格などに非常に有利だと思います．資格は実務経験がものをいうことが多いです．学生のうちはそんなものは得ることができないので，この自宅サーバを通じ
て得る経験は大変に意義深いものだと思います．&lt;/p&gt;
&lt;p&gt;リアクションがあるのも非常に嬉しいです．「DNSのセカンダリになって」とか，「設定わからないので教えて」というメールが多くなってきています．やりがいがあります．&lt;/p&gt;
&lt;p&gt;最近は，就職活動の面接のネタとして非常に役に立ちました．私はネットワークスペシャリストを持っていますが，資格ではなく，経験を重視する企業も多いはずです．僕は面接で自宅サーバについて，たとえば苦労話など，熱く語ったらそこから話が弾むことも多かったです．&lt;/p&gt;
&lt;p&gt;どうでしょう，皆さん．今すぐ始めてみたらいかがですか？少々費用がかさむかもしれませんが，自分の将来への投資と考えて・・・．&lt;/p&gt;
&lt;h3&gt;参考文献&lt;a name=&quot;ref&quot;&gt;&lt;/a&gt;&lt;span class=&quot;gotop&quot;&gt;&lt;a href=&quot;http://www.tamochan.com/homeold.html#index&quot;&gt;Go To Index&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;怒涛のLinuxネットワーク　ぱぱんだ著
&lt;/li&gt;

&lt;li&gt;UNIXUSER 2003年11月号　ソフトバンク　パブリッシング社
&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content:encoded>


<dc:subject>アーカイブ</dc:subject>

<dc:creator>tamochan</dc:creator>
<dc:date>2008-04-26T13:05:07+09:00</dc:date>
</item>
<item rdf:about="http://www.tamochan.com/2008/04/post-e9f5.html">
<title>最後に</title>
<link>http://www.tamochan.com/2008/04/post-e9f5.html</link>
<description>最後に，私が自宅サーバを立ち上げてよかったなって思うことをいくつか． まず，知識...</description>
<content:encoded>&lt;p&gt;最後に，私が自宅サーバを立ち上げてよかったなって思うことをいくつか．&lt;/p&gt;
&lt;p&gt;まず，知識レベルがものすごく高くなりました．インターネットって，どんな仕組みなんだろうってことがだいぶわかるようになってきました．これは，
資格などに非常に有利だと思います．資格は実務経験がものをいうことが多いです．学生のうちはそんなものは得ることができないので，この自宅サーバを通じ
て得る経験は大変に意義深いものだと思います．&lt;/p&gt;
&lt;p&gt;リアクションがあるのも非常に嬉しいです．「DNSのセカンダリになって」とか，「設定わからないので教えて」というメールが多くなってきています．やりがいがあります．&lt;/p&gt;
&lt;p&gt;最近は，就職活動の面接のネタとして非常に役に立ちました．私はネットワークスペシャリストを持っていますが，資格ではなく，経験を重視する企業も多いはずです．僕は面接で自宅サーバについて，たとえば苦労話など，熱く語ったらそこから話が弾むことも多かったです．&lt;/p&gt;
&lt;p&gt;どうでしょう，皆さん．今すぐ始めてみたらいかがですか？少々費用がかさむかもしれませんが，自分の将来への投資と考えて・・・．&lt;/p&gt;</content:encoded>


<dc:subject>最後に</dc:subject>

<dc:creator>tamochan</dc:creator>
<dc:date>2008-04-26T13:03:48+09:00</dc:date>
</item>
<item rdf:about="http://www.tamochan.com/2008/04/post-b251.html">
<title>ファイアウォールの作成</title>
<link>http://www.tamochan.com/2008/04/post-b251.html</link>
<description>iptablesスクリプト作成 習うより慣れろ・・・ということで、実際のipta...</description>
<content:encoded>&lt;h3&gt;iptablesスクリプト作成&lt;/h3&gt;
&lt;p&gt;習うより慣れろ・・・ということで、実際のiptablesの設定を見ていただきたいと思います。iptablesの設定は、特に設定ファイル書く
というよりは、shellスクリプトを書いて、実行させ、それをiptablesに記憶させるという方法をとります。以下は、そのshellスクリプトで
す。途中、for文などですっきりさせたつもりですが、不都合などございましたらご連絡ください。&lt;/p&gt;
&lt;pre&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;##########################################################################&lt;br /&gt;# 変数の設定&lt;br /&gt;##########################################################################&lt;br /&gt;LAN_PORT=eth2&lt;br /&gt;LAN_NET=&amp;quot;192.168.20.0/24&amp;quot;&lt;br /&gt;LAN_BASE=&amp;quot;192.168.20.0&amp;quot;&lt;br /&gt;LAN_BCAST=&amp;quot;192.168.20.255&amp;quot;&lt;br /&gt;LAN_IP=&amp;quot;192.168.20.1&amp;quot;&lt;br /&gt;&lt;br /&gt;DMZ_PORT=eth1&lt;br /&gt;DMZ_NET=&amp;quot;192.168.10.0/24&amp;quot;&lt;br /&gt;DMZ_BASE=&amp;quot;192.168.10.0&amp;quot;&lt;br /&gt;DMZ_BCAST=&amp;quot;192.168.10.255&amp;quot;&lt;br /&gt;DMZ_SVR=&amp;quot;192.168.10.2&amp;quot;&lt;br /&gt;DMZ_IP=&amp;quot;192.168.0.1&amp;quot;&lt;br /&gt;&lt;br /&gt;WAN_PORT=ppp0&lt;br /&gt;WAN_IP=&amp;quot;218.45.162.31&amp;quot;&lt;br /&gt;			&lt;br /&gt;IPTABLES=&amp;quot;/sbin/iptables&amp;quot;	&lt;br /&gt;MODPROBE=&amp;quot;/sbin/modprobe&amp;quot;&lt;br /&gt;		&lt;br /&gt;# 通信すべきでないホストとネットワークのIPアドレス&lt;br /&gt;SHUN=&amp;quot;&amp;quot;&lt;br /&gt;&lt;br /&gt;# ありえなさそうなIPアドレス&lt;br /&gt;BADIP=&amp;quot;$DMZ_BCAST $DMZ_BASE $LAN_BASE $LAN_BCAST 0.0.0.0/8 \&lt;br /&gt;10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 224.0.0.0/4 \&lt;br /&gt;240.0.0.0/5 255.255.255.255&amp;quot;&lt;br /&gt;&lt;br /&gt;#ログの出力のタイミング&lt;br /&gt;LOGOPT=&amp;quot;--log-level=3 -m limit --limit 3/minute --limit-burst 3&amp;quot;&lt;br /&gt;#SYNFLOODと扱うしきい値&lt;br /&gt;SYNOPT=&amp;quot;-m limit --limit 10/second --limit-burst 20&amp;quot;&lt;br /&gt;#pingを許可するネットワーク&lt;br /&gt;PING=&amp;quot;192.168.10.0/24 192.168.20.0/24&amp;quot;&lt;br /&gt;##########################################################################&lt;br /&gt;# モジュールの読み込み、カーネル動作の設定&lt;br /&gt;##########################################################################&lt;br /&gt;$MODPROBE ip_tables&lt;br /&gt;$MODPROBE iptable_filter&lt;br /&gt;$MODPROBE ip_conntrack&lt;br /&gt;$MODPROBE iptable_nat&lt;br /&gt;$MODPROBE ip_nat_ftp&lt;br /&gt;$MODPROBE ip_conntrack_ftp&lt;br /&gt;$MODPROBE ipt_state&lt;br /&gt;$MODPROBE ipt_MASQUERADE&lt;br /&gt;$MODPROBE ipt_LOG&lt;br /&gt;$MODPROBE ipt_REJECT&lt;br /&gt;$MODPROBE ipt_limit&lt;br /&gt;# IPマスカレード許可&lt;br /&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;# pingのブロード／マルチキャストを無視&lt;br /&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;# ソースアドレスの妥当性検査&lt;br /&gt;for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 &amp;gt; $f; done&lt;br /&gt;# ありえないアドレスをログに記録&lt;br /&gt;for f in /proc/sys/net/ipv4/conf/*/log_martians; do echo &amp;quot;1&amp;quot; &amp;gt; $f; done&lt;br /&gt;# ICMP redirect messageを無視&lt;br /&gt;for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do echo 1 &amp;gt; $f; done&lt;br /&gt;# SYN FLOOD攻撃対策&lt;br /&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies&lt;br /&gt;# Smurf攻撃対策&lt;br /&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;&lt;br /&gt;##########################################################################&lt;br /&gt;# DMZで公開するポート&lt;br /&gt;##########################################################################&lt;br /&gt;&lt;br /&gt;DMZ_SVC_TCP=&amp;quot;ssh smtp domain http pop3&amp;quot;&lt;br /&gt;&lt;br /&gt;DMZ_SVC_UDP=&amp;quot;domain&amp;quot;&lt;br /&gt;&lt;br /&gt;##########################################################################&lt;br /&gt;# 既存のファイアウォールルールをクリアする&lt;br /&gt;##########################################################################&lt;br /&gt;&lt;br /&gt;if [ ! -x $IPTABLES ]&lt;br /&gt;then&lt;br /&gt;	echo &amp;quot;firewall: can&#39;t execute $IPTABLES&amp;quot;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;$IPTABLES -P INPUT&amp;nbsp; &amp;nbsp;DROP # デフォルトポリシーはDROP&lt;br /&gt;$IPTABLES -P OUTPUT&amp;nbsp; DROP # デフォルトポリシーはDROP&lt;br /&gt;$IPTABLES -P FORWARD DROP # デフォルトポリシーはDROP&lt;br /&gt;$IPTABLES -F&amp;nbsp; &amp;nbsp;# すべてのチェインをフラッシュ&lt;br /&gt;$IPTABLES -X&amp;nbsp; &amp;nbsp;# すべてのチェインをフラッシュ&lt;br /&gt;&lt;br /&gt;#すべてのテーブルでルール、チェイン、カウンタをクリアする&lt;br /&gt;for table in filter nat mangle&lt;br /&gt;do&lt;br /&gt;	$IPTABLES -t $table -F&amp;nbsp; # ルールの削除&lt;br /&gt;	$IPTABLES -t $table -X&amp;nbsp; # チェインの削除&lt;br /&gt;	$IPTABLES -t $table -Z&amp;nbsp; # カウンタのクリア&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;##########################################################################&lt;br /&gt;#ユーザ定義のチェイン。プログラムで言うところの自作した関数。&lt;br /&gt;##########################################################################&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------&lt;br /&gt;# BAD_IPチェイン。望ましくないIPのものはログを残して破棄。&lt;br /&gt;#-------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;$IPTABLES -N BAD_IP&lt;br /&gt;$IPTABLES -A BAD_IP -j LOG --log-prefix &amp;quot;IPTABLES BAD_IP: &amp;quot; $LOGOPT&lt;br /&gt;$IPTABLES -A BAD_IP -j DROP&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------&lt;br /&gt;# SHUNチェイン。敵対ホストのIPアドレスならBAD_IPチェインに渡す。&lt;br /&gt;#-------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;$IPTABLES -N SHUN&lt;br /&gt;for ip in $SHUN&lt;br /&gt;do&lt;br /&gt;	$IPTABLES -A SHUN -s $ip -j BAD_IP&lt;br /&gt;	$IPTABLES -A SHUN -d $ip -j BAD_IP&lt;br /&gt;done&lt;br /&gt;#-------------------------------------------------------------------------&lt;br /&gt;# IN_IP_CHECKチェイン。送信元IPアドレスがありえないものなら&lt;br /&gt;# BAD_IPチェインに渡す&lt;br /&gt;#-------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;$IPTABLES -N IN_IP_CHECK &lt;br /&gt;&lt;br /&gt;#送信元IPアドレスが変数 BADIP にあるものならBAD_IPチエインに渡す&lt;br /&gt;for sip in $BADIP&lt;br /&gt;do&lt;br /&gt;	$IPTABLES -A IN_IP_CHECK -s $sip -j BAD_IP&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;#それぞれのポートから入るパケットで、ありえない送信元IPアドレスなら、&lt;br /&gt;#BAD_IPチエインへ&lt;br /&gt;$IPTABLES -A IN_IP_CHECK -i $WAN_PORT -s $DMZ_NET -j BAD_IP&lt;br /&gt;$IPTABLES -A IN_IP_CHECK -i $WAN_PORT -s $LAN_NET -j BAD_IP&lt;br /&gt;$IPTABLES -A IN_IP_CHECK -i $DMZ_PORT -s $WAN_IP&amp;nbsp; -j BAD_IP&lt;br /&gt;$IPTABLES -A IN_IP_CHECK -i $DMZ_PORT -s $LAN_IP&amp;nbsp; -j BAD_IP&lt;br /&gt;$IPTABLES -A IN_IP_CHECK -i $LAN_PORT -s $WAN_IP&amp;nbsp; -j BAD_IP&lt;br /&gt;$IPTABLES -A IN_IP_CHECK -i $LAN_PORT -s $DMZ_NET -j BAD_IP&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;# OUT_IP_CHECKチェイン。送信先、送信元IPアドレスが正しくなければ&lt;br /&gt;# BAD_IPチエインに渡す&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;$IPTABLES -N OUT_IP_CHECK &lt;br /&gt;&lt;br /&gt;#送信先IPアドレスが変数 BADIP にあるものならBAD_IPチェインに渡す&lt;br /&gt;for dip in $BADIP&lt;br /&gt;do&lt;br /&gt;$IPTABLES -A OUT_IP_CHECK -d $dip -j BAD_IP&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;#それぞれのポートから出るパケットで、送信元IPが正しければこのチェインは通過。&lt;br /&gt;#正しくなければBAD_IPチェインに渡す&lt;br /&gt;$IPTABLES -A OUT_IP_CHECK -o $WAN_PORT -s $WAN_IP&amp;nbsp; -j RETURN&lt;br /&gt;$IPTABLES -A OUT_IP_CHECK -o $LAN_PORT -s $LAN_NET&amp;nbsp; -j RETURN&lt;br /&gt;$IPTABLES -A OUT_IP_CHECK -o $DMZ_PORT -s $DMZ_NET&amp;nbsp; -j RETURN&lt;br /&gt;$IPTABLES -A OUT_IP_CHECK -j BAD_IP&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;# CHKMSNETチェイン。Microsoftネットワーク関連のFORWARD拒否。&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;$IPTABLES -N CHKMSNET&lt;br /&gt;$IPTABLES -A CHKMSNET -p tcp --dport 42 -j DROP	# wins dup&lt;br /&gt;$IPTABLES -A CHKMSNET -p tcp --dport 135 -j DROP # MS-RPC&lt;br /&gt;$IPTABLES -A CHKMSNET -p udp --dport 135 -j DROP # MS-RPC&lt;br /&gt;$IPTABLES -A CHKMSNET -p udp --dport 137:138 -j DROP # MS browse&lt;br /&gt;$IPTABLES -A CHKMSNET -p udp --dport 137:138 -j DROP # MS browse&lt;br /&gt;$IPTABLES -A CHKMSNET -p tcp --dport 139 -j DROP # SMB&lt;br /&gt;$IPTABLES -A CHKMSNET -p tcp --dport 445 -j DROP # DHSMB&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;# BADFLAGSチェイン。望ましくないTCPフラグならばログに残して破棄。&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;$IPTABLES -N BADFLAGS&lt;br /&gt;$IPTABLES -A BADFLAGS -j LOG --log-prefix &amp;quot;IPTABLES BADFLAGS: &amp;quot; $LOGOPT&lt;br /&gt;$IPTABLES -A BADFLAGS -j DROP&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;# TCPフラグの検査。望ましくないTCPフラグならBADFLAGSチェインに渡す。&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;echo &amp;quot;tcp flag&amp;quot;&lt;br /&gt;$IPTABLES -N TCP_FLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ACK,FIN FIN -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ACK,PSH PSH -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ACK,URG URG -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags FIN,RST FIN,RST -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags SYN,RST SYN,RST -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ALL ALL -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ALL NONE -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ALL FIN,PSH,URG -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j BADFLAGS&lt;br /&gt;$IPTABLES -A TCP_FLAGS -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j BADFLAGS&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;# SYN_FLOODチェイン。しきい値以上のタイミングでパケットがきたら&lt;br /&gt;# SYNフラッド攻撃としてログに残した上で拒否する。&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;echo &amp;quot;syn flood&amp;quot;&lt;br /&gt;$IPTABLES -N SYN_FLOOD&lt;br /&gt;$IPTABLES -A SYN_FLOOD -p&amp;nbsp; &amp;nbsp;tcp&amp;nbsp; &amp;nbsp;--syn $SYNOPT -j RETURN&lt;br /&gt;$IPTABLES -A SYN_FLOOD -p ! tcp&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; -j RETURN&lt;br /&gt;$IPTABLES -A SYN_FLOOD -p&amp;nbsp; &amp;nbsp;tcp ! --syn&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;-j RETURN&lt;br /&gt;$IPTABLES -A SYN_FLOOD -j LOG --log-prefix &amp;quot;IPTABLES SYN_FLOOD: &amp;quot; $LOGOPT&lt;br /&gt;$IPTABLES -A SYN_FLOOD -j DROP&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;# IN_ICMPチェイン。入ってくるICMPが害のあるものならログに残して拒否&lt;br /&gt;#------------------------------------------------------------------------&lt;br /&gt;echo &amp;quot;inbound icmp&amp;quot;&lt;br /&gt;$IPTABLES -N IN_ICMP&lt;br /&gt;&lt;br /&gt;#変数 PING に指定されるネットワークからのpingには応答する。&lt;br /&gt;for sip in $PING&lt;br /&gt;do&lt;br /&gt;$IPTABLES -A IN_ICMP&amp;nbsp; -p icmp --icmp-type echo-request -s $sip&amp;nbsp; &amp;nbsp;-j ACCEPT&lt;br /&gt;$IPTABLES -A FORWARD_FROM_WAN -o $DMZ_PORT -p tcp --dport $i -j ACCEPT&lt;br /&gt;$IPTABLES -A IN_ICMP&amp;nbsp; -p icmp --icmp-type echo-reply&amp;nbsp; &amp;nbsp;-s $sip&amp;nbsp; &amp;nbsp;-j ACCEPT&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;#ネットワーク管理上必要なicmpパケットは許可する。ないものは拒否。&lt;br /&gt;$IPTABLES -A IN_ICMP&amp;nbsp; -p icmp --icmp-type destination-unreachable&amp;nbsp; -j ACCEPT&lt;br /&gt;$IPTABLES -A IN_ICMP&amp;nbsp; -p icmp --icmp-type source-quench&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;-j ACCEPT&lt;br /&gt;$IPTABLES -A IN_ICMP&amp;nbsp; -p icmp --icmp-type time-exceeded&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;-j ACCEPT&lt;br /&gt;$IPTABLES -A IN_ICMP&amp;nbsp; -p icmp --icmp-type parameter-problem&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; -j ACCEPT&lt;br /&gt;$IPTABLES -A IN_ICMP -j LOG --log-prefix &amp;quot;IPTABLES In ICMP: &amp;quot; $LOGOPT&lt;br /&gt;$IPTABLES -A IN_ICMP -j DROP&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------------&lt;br /&gt;# OUT_ICMPチェイン。出て行くICMPが害のあるものならログに残して拒否&lt;br /&gt;#------------------------------------------------------------------------------&lt;br /&gt;echo &amp;quot;outbound icmp&amp;quot;&lt;br /&gt;$IPTABLES -N OUT_ICMP&lt;br /&gt;&lt;br /&gt;#送信先が変数 PING に登録されていれば許可&lt;br /&gt;for dip in $PING&lt;br /&gt;do&lt;br /&gt;$IPTABLES -A OUT_ICMP -p icmp --icmp-type echo-request -d $dip&amp;nbsp; &amp;nbsp;&amp;nbsp; -j ACCEPT&lt;br /&gt;$IPTABLES -A OUT_ICMP -p icmp --icmp-type echo-reply&amp;nbsp; &amp;nbsp;-d $dip&amp;nbsp; &amp;nbsp;&amp;nbsp; -j ACCEPT&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;#ネットワーク管理上必要なicmpパケットは許可する。ないものはログに残して拒否。&lt;br /&gt;$IPTABLES -A OUT_ICMP -p icmp --icmp-type fragmentation-needed -j ACCEPT&lt;br /&gt;$IPTABLES -A OUT_ICMP -p icmp --icmp-type source-quench&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;-j ACCEPT&lt;br /&gt;$IPTABLES -A OUT_ICMP -p icmp --icmp-type parameter-problem&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; -j ACCEPT&lt;br /&gt;$IPTABLES -A OUT_ICMP -j LOG --log-prefix &amp;quot;IPTABLES Out ICMP: &amp;quot; $LOGOPT&lt;br /&gt;$IPTABLES -A OUT_ICMP -j DROP&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------------&lt;br /&gt;# DROPPACKETチェイン。不正なパケットをログに記録して破棄&lt;br /&gt;#------------------------------------------------------------------------------&lt;br /&gt;echo &amp;quot;droppacket&amp;quot;&lt;br /&gt;$IPTABLES -N DROPPACKET		# DROPPACKTチェインの作成&lt;br /&gt;$IPTABLES -A DROPPACKET -j LOG --log-prefix &amp;quot;INVALID_PACKET: &amp;quot; $LOGOPT&lt;br /&gt;$IPTABLES -A DROPPACKET -j DROP&lt;br /&gt;&lt;br /&gt;#------------------------------------------------------------------------------&lt;br /&gt;# FORWARD_BEFORE_CHECKチェイン。FORWARD前の不正なパケットでないかをチェック&lt;br /&gt;#------------------------------------------------------------------------------&lt;br /&gt;echo &amp;quot;checking before forward&amp;quot;&lt;br /&gt;$IPTABLES -N FORWARD_BEFORE_CHECK&lt;br /&gt;&lt;br /&gt;# LANから外部へフォワードされるMicrosoftネットワークのチェック&lt;br /&gt;$IPTABLES -A FORWARD_BEFORE_CHECK -o $WAN_PORT -j CHKMSNET&lt;br /&gt;&lt;br /&gt;# ブラックホールルータ対策&lt;br /&gt;$IPTABLES -A FORWARD_BEFORE_CHECK -o $WAN_PORT -p tcp --tcp-flags SYN,RST \&lt;br /&gt;SYN -j TCPMSS --clamp-mss-to-pmtu&lt;br /&gt;&lt;br /&gt;# PINGについてのチェック&lt;br /&gt;$IPTABLES -A FORWARD_BEFORE_CHECK -p icmp -j IN_ICMP&lt;br /&gt;$IPT