能書き:
常時接続時代のサーバ構築 -フレッツISDNでインターネットサーバを構築する。
1.常時接続時代のインフラ
1)CATV
■ インターネットの接続は電話回線だけじゃない
通常インターネットは電話回線を使うが、ケーブルインターネットでは本来のテレビ画像の伝送に利用していた同軸ケーブル及び光ケーブルを用いて、プロバイダのサーバとやり取りを行う。
■ 接続料
CATV各局で違うが、平均月額6000円程度の定額料金である。
■ 通信速度
ケーブルインターネットの場合、帯域を使い切るので「通信速度に上限がないに等しい」と言う方が正しい。しかし、通信するためのケーブルモデムに限界値があるのでこれに左右される。さらに、「高速が間違い」と言う理論がある。リアルタイムでダウンロードしているユーザー数によって通信速度が変化する。このためいわゆる、回線速度の保証はしていない。(これを、ベストエフォート型という)
2)ADSL
■ ADSLの通信方法
ADSLは、ケーブルインターネットと似ている。電話の加入者線、または有線放送線中の音声やFAXに使われていない高い周波数帯域を利用して通信を行う。
■ ADSLの特徴
① 同じ契約でもユーザによって速度が違う!
② ISDNでもないのに電話の同時使用が出来る
③ 帯域を効率よく使う
④ 電話線を使っているのに高速
⑤ サービス地域内でも利用できないことがある
3)フレッツISDN
■ フレッツISDNとは!
既存のISDN回線同様、2つ有るチャネルのうちの1つを利用した最大スループットが64kbpsのベスト・エフォート型サービスである。「最大スループットが64kbpsの”ベスト・エフォート型”である」と言うことは、「最大の努力」をしたときに達成できる通信速度であるという事で、常にこの通信速度を保証するものではないことを意味している。
●費用
通信料金は2000年11月現在で、月額4500円定額となっている。
●その他
フレッツISDNを利用する場合は、接続先のプロバイダがフレッツISDNに対応している必要がある。
2.フレッツISDN
1)フレッツISDNのサービス
フレッツISDNの仕組みは上の図1のようになっている。さらに、接続にはTA(ターミナルアダプタ)もしくはダイアルアップルータが必要となる。
2)動的IP割り当て
フレッツISDNは、あくまでもダイアルアップ接続方式を採用している。したがって、サーバを運用するにあったって致命的な欠点がある。現在のISPのほとんどが手持ちのIPアドレスのプールから任意のIPアドレスを動的(Dynamic)に接続もとに付与する仕組みになっている。DDNS用のサーバ構築のノウハウは有るが、基本的に再接続の度にIPアドレスが変化するため、サーバ構築には向かない!
3)固定IP割り当て
現在では、まだ少ないがISPによっては手持ちのIPアドレスを固定的(Static)に付与してくれる所がある。サーバを立てたい場合は、特に初心者はIP固定サービスを選ぶべきである。
3.サーバ構築への準備1
1)自前でサーバを運営する目的
① 自分専用のホームページを作成できるのはもちろん、レンタルサーバで禁止されている。CGI、SSIなども自由に使える
② 自分独自のドメインを取得して、メールアカウントもいくつでも持てる
③ コマースサイト作成もOK!
④ 場合によっては、スモールプロバイダ運営も夢ではない
⑤ DataBaseも自由に使える
2)サーバの構成を検討する
■ 目的は何か?
① Webを公開する
② メールサーバのみとしての運営
③ ①と②の両方
■ サーバのOSの選定
① Windows
② Linux
③ FreeBSD
④ その他(Solaris等)
■ 構成例
上の図2は、俺の自宅サーバの構成例である。以降、この構成例を中心に話を進めたい。
3)SOHOルータを選ぶ
フレッツISDNに接続するために、最も重要な機器である。以下の点に注意して選定する。
① DSUが内蔵されていること
② 設定が、ブラウザで簡単に出来ること
③ Hubが内蔵されていること(これは、必須ではない。用途に合わせて)
④ 当たり前のことであるが、フレッツISDN対応であること
メーカ的には、NTT-ME、ヤマハ、NEC、富士通、アライドテレシス、等が代表的である。尚、100BaseTが使えるルータも市販されているようだが高価だし、あまり必要性がないので選択する必要はないと考える。
4.サーバ構築への準備2
1)プロバイダを選ぶ
プロバイダの選択だが、現在フレッツISDNに対応しているプロバイダはかなりある。しかし、固定IPアドレスを提供してくれるプロバイダはまだ少ない。例えば、インターリンクというプロバイダがあるが比較的安価で月々使用できる。それでは仮に、プロバイダをインターリンクと言うプロバイダに加入した場合で以降説明する。
■ フレッツISDNの工事日が決まり次第、インターリンクに加入する。
2)ドメインの取得(ドメイン代行業者を選ぶ)
ワールドニックやJPNIC直接やお名前.comのような代行業者などいろいろあるので、comドメイン、netドメイン、orgドメインなら年間3000円程度の管理費で代行してくれる業者もあるので自分でさがしてみた方がよい。もちろん、プロバイダーでも代行してくれるが少しお高い。
3)プロバイダーのサービスを選ぶ(セカンダリDNS確保)
① 前後するが、インターリンクに加入する前にドメインを取得する(取得については次の項で説明)。ドメイン名をhogehoge.comと仮に命名する
② メインとなるLinuxサーバ名を決める。ここでは、”ns.hogehoge.com”とする
③ インターリンクに加入するときに、サーバ名が”ns.hogehoge.com”を伝える(あるいは必要書類に記入する)
④ 諸通知事項が書類になって手元に届く。IP固定契約なので、IPアドレスが1つもらえる。さらに、インターリンク側のセカンダリDNSが使用できるようになる
⑤ セカンダリDNSに”ns.hogehoge.com”が与えられたグローバルアドレス203.***.***.***で登録される(インターリンク側でのホスト情報として設定される)
5.さあ!実践サーバ構築
注)かなり、簡略して記述してあるため、要点だけつかんで欲しい!
ネットワーク構築は、下記の仕様で行った。ネットワーク図は、図2の自宅サーバ構成を参照されたい。
■ Linuxサーバ(Web公開とメールサーバとして運営)
① OS:Laser5 6.5ServerEdition
② NIC:10BaseT NIC一枚差し
③ Webサーバ機能:Apache
④ Mailサーバ機能:Sendmail&Qpopper
⑤ DNSサーバ機能:Bind8
■ SOHOルータ
① NTT-ME MN128-SOHO
■ Hub
① 8ポート10/100BaseT Switching(自動切り替え)
■ クライアント
① 複数台(詳細省略)
1)設置・配線を行う
■ 図3のネットワーク図に従ってPCおよびネットワーク機器を接続する。
フレッツISDNは、あくまでもダイアルアップなのでルータのダイアルアップの設定を、まず行う。
■ ルータの設定を行う
① ルータのIPアドレスを設定する
② ブラウザにてインターリンクからもらったユーザIDとパスワードを設定する
③ 接続に必要なインターリンクのDNSサーバアドレスを設定する
④ NTTからもらったフレッツISDN用の電話番号を設定する。
■ クライアント側の設定を行う。
① WindowsのTCP/IPの設定を行う
② IPアドレスを設定する
③ ゲートウェイをルータのIPアドレスに設定する。
2)とりあえず、インターネットにつなげてみる
■ ルータでダイアルアップを実行してみる。接続ランプが点灯したらOK!
■ クライアントからブラウザーを立ち上げてブラウズ出来たら接続成功!
3)Linuxでサーバ構築
うまく、インターネットに接続出来たら、今度は本格的にサーバ構築である。Web機能Apacheの設定、メール機能Sendmail&Qpopperの設定は説明を割愛する。
■ Laser5 6.5をインストールする
■ IPアドレスを192.168.0.2に設定し、サブネットマスクを255.255.255.0に設定する
■ ドメインをhogehoge.comに設定する
■ ホスト名をns.hogehoge.comに設定する
■ プライマリDNSを192.168.0.2にに設定する
■ セカンダリDNSをインターリンク側のセカンダリDNSに設定する。(仮に111.111.111.111)とする
■ インストール終了。勝手にリブートする
■ いよいよBIND(DNS)の設定
以下の要領で、BINDのconfファイルを編集する。
① named.confの編集
options {
directory “/var/named”;
};
zone “.” {
type hint;
file “named.ca”;
};
zone “localhost”{
type master;
file “named.local”;
};
zone “hogehoge.com”{
type master;
file “hogehoge.com.zone”;
};
zone “0.0.127.in-addr.arpa”{
type master;
file “named.local.rev”;
};
zone “***.***.203.in-addr.arpa”{
type master;
file “named.rev”;
};
② hogehoge.com.zoneの編集
; File Name “hogehoge.com.zone” by hogehoge.com
@ IN SOA ns.hogehoge.com. root.ns.hogehoge.com. (
2001010102 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Name Server & Mail Server
@ IN NS ns.hogehoge.com.
@ IN NS NS.INTERLINK.OR.JP.
@ IN MX 10 ns.hogehoge.com.
; Server PC
ns IN A 203.***.***.180
; CLIENT PC
; alias CNAME
www IN CNAME ns
mail IN CNAME ns
smtp IN CNAME ns
pop IN CNAME ns
proxy IN CNAME ns
③ named.localの編集
; File Name “named.local” by hogehoge.com
@ IN SOA ns.hogehoge.com. root.ns.hogehoge.com. (
2000122502 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Name Server
@ IN NS ns.hogehoge.com.
loclhoat. IN A 127.0.0.1
④ named.local.revの編集
; File Name “named.local.rev” by hogehoge.com
@ IN SOA ns.hogehoge.com. root.ns.hogehoge.com. (
2000122901 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl); Name Server
@ IN NS ns.hogehoge.com.
1 IN PTR localhost
⑤ named.revの編集
; File Name “named.rev” by hogehoge.com
@ IN SOA ns.hogehoge.com. root.ns.hogehoge.com. (
2001010102 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Subnet
; Name Server
@ IN NS ns.hogehoge.com.
@ IN NS NS.INTERLINK.OR.JP.
; Server Group
180 IN PTR ns.hogehoge.com.
⑥ resolve.confの編集
domain hogehoge.com
nameserver 192.168.0.2
nameserver 111.111.111.111
■ namedをstartもしくはrestartする。この時エラーがでないか注意する
■ BINDの設定確認
# nslookup
・
・
・
> server 203.***.***.180
・
・
・
> ns.hogehoge.com
・
・
・
> 203.***.***.180
・
・
・
> exit
上記のコマンドにより、正常に名前解決が出来ればDNSは成功!
間は、省略しました。手抜きm(_ _)mすいません。でも、解りますよね。
4)ルータの設定
■ ルータの設定は、MN128-SOHOの設定例を紹介する。
特に、フィルターリングの設定は、 セキュリティポリシー となる。俺の場合、フィルタリングは極力ルータ側で設定しておきたかった。
ip address 192.168.0.1/24 ip dhcp server off ip dns relay off ip dns server 192.168.0.2 | |
① | ip filter 1 pass in * * tcp * ftpdata-ftp remote 0 ip filter 2 pass in * * udp * domain remote 0 ip filter 3 pass in * * tcp * domain remote 0 ip filter 4 pass in * * tcp * pop3 remote 0 ip filter 5 pass in * * tcp * smtp remote 0 ip filter 6 pass in * * tcp * www remote 0 ip filter 7 pass in * * tcp * ntp remote 0 ip filter 8 pass in * * udp * ntp remote 0 ip filter 9 pass in * * tcp * 113 remote 0 ip filter 10 pass in * * tcp * 443 remote 0 ip filter 11 pass in * * tcp * 22 remote 0 ip filter 12 pass in * * udp * 22 remote 0 ip filter 13 pass in * * icmp * * remote 0 |
② | ip filter 14 pass in * * tcp * 1024-65535 remote 0 ip filter 15 pass in * * udp * 1024-65535 remote 0 |
③ | ip filter 23 reject out * 10.0.0.0-10.255.255.255 * * * remote 0 ip filter 24 reject out * 172.16.0.0-172.31.255.255 * * * remote 0 ip filter 25 reject out * 192.168.0.0-192.168.255.255 * * * remote 0 |
④ | ip filter 26 reject in 10.0.0.0-10.255.255.255 * * * * remote 0 ip filter 27 reject in 172.16.0.0-172.31.255.255 * * * * remote 0 ip filter 28 reject in 192.168.0.0-192.168.255.255 * * * * remote 0 |
⑤ | ip filter 29 reject in * * * * 445 remote 0 ip filter 30 reject in * * * * 137-139 local ip filter 31 reject in * * * 137-139 * local |
⑥ | ip filter 32 reject in * * * * * remote 0 |
⑦ | ip nat 1 192.168.255.103/tcp/ftpdata-ftp ipcp remote 0 ip nat 2 192.168.255.103/udp/domain ipcp remote 0 ip nat 3 192.168.255.103/tcp/domain ipcp remote 0 ip nat 4 192.168.255.103/tcp/pop3 ipcp remote 0 ip nat 5 192.168.255.103/tcp/smtp ipcp remote 0 ip nat 6 192.168.255.103/tcp/www ipcp remote 0 ip nat 7 192.168.255.103/tcp/113 ipcp remote 0 ip nat 8 192.168.255.103/tcp/22 ipcp remote 0 ip nat 9 192.168.255.103/udp/22 ipcp remote 0 ip nat 10 192.168.255.103/icmp ipcp remote 0 |
⑧ | ip nat 32 */*/* ipcp remote 0 |
ip route 0.0.0.0/0/7 remote 0 auto ip syslog host 192.168.0.2 ip syslog info on ip syslog notice on remote 0 disconnect idle 0 remote 0 dnsserver 203.141.***.*** remote 0 name ZOOT remote 0 number 960784 remote 0 send id xxxxxxx@ad.il24.net remote 0 send password IECLk2IKGzeDea encrypted remote 1 disconnect idle 0 |
図4 ルータの設定
図4の設定の説明を以下に示す。フィルタの設定は、32個しか出来ないので色々悩んだ末、上記のような設定となった。使った結果言えるのだが、このルータは機能的に使えないので選択しない方が得策である。
① こちらから、相手のサーバへftpの接続を許可し、相手からも許可する。
こちらから、DNSへの接続を許可し、相手からも許可する。
こちらから、POP3への接続を許可し、相手からも許可する。
こちらから、SMTPへの接続を許可し、相手からも許可する。
こちらから、Webへの接続を許可し、相手からも許可する。
こちらから、NTPサーバへの接続を許可し、相手からも許可する。
こちらから、113番「IDENTポート」認証用サービスポートの接続を許可し、相手からも許可する。
(Sendmailを使う場合は、許可が必要)
こちらから、443番「SSL暗号化ポート」の接続を許可し、相手からも許可する。(https://....のサイト観覧に必要)
こちらから、22番「SSH」の接続を許可し、相手からも許可する(SSHを使って、自サーバへログインさせる場合に許可する)。
こちらから、icmpへの接続を許可し、相手からも許可する。(ping等の自サーバの存在確認をする場合、許可が必要)
事情があって、存在を隠す場合は必要なし!!
② 1024~65535まで通過許可。これは、自前サーバを立てる場合に必要に応じてサーバが、このポート何れかで通信するため。
③ プライベートアドレスを外部に送出しない。(外部からの踏み台防止!)
④ 外部からの有り得ないアドレスの流入防止!(念のため!)
⑤ 当然の事ながら、NetBIOSポート(Windowsネットワークサービスは特に狙われ易いので危険!)であるため、外部からのアクセスを禁止する(穴埋め)。
⑥ これ以外のパケットは、すべて外部からの進入を禁止する(必須:重要)。
⑦ こちらからFTPサーバをルータの割り当てIPアドレスから外部へ公開。
こちらからDNSサーバをルータの割り当てIPアドレスから外部へ公開。
こちらからPOP3サーバをルータの割り当てIPアドレスから外部へ公開。
こちらからSMTPサーバをルータの割り当てIPアドレスから外部へ公開。
こちらからWebサーバをルータの割り当てIPアドレスから外部へ公開。
こちらからIDENTサーバをルータの割り当てIPアドレスから外部へ公開。
こちらからSSHサーバをルータの割り当てIPアドレスから外部へ公開。
⑧ LAN側のクライアントを外部アクセス許可。
6.ルータでフィルターリング
1)簡易セキュリティ
前項での説明でも有ったように、自分のPCには、様々なデータが流れている。その中には当然不要なデータも有るわけである(クラッカーの故意による攻撃も含む)。その不必要なデータをルータでカット(防御)してしまおうというのがフィルタリングだ。そうすることにより、不必要なデータが自分のPCめがけて悪さをしたりすることを防ぐ効果がある。ポートスキャンなどには特に効果的である。
注:MN128-SOHOは、フィルタリングの設定が32個迄となっているので、効果的な設定が必要と考える。
以上
コメント