|
論 理 設 計  |
物理的な接続が終わった所で、論理的な設計をしましょう。
取得したドメイン名:mydomein.net (と仮にした場合))
プロバイダーから取得するIPアドレス:動的IPアドレス
公開用サーバーのIPアドレス:192.168.0.100
サーバー名:sv1
公開するサーバーについて
・Web Server :80ポート tcp
・Ftp Server :21ポート tcp
以上2つのサーバーを1台のsv1で運用を今回のレッスンで行います。
公開条件
・外部から内部サーバー192.168.0.100に対してポート80、21のみアクセス可能にする。
・ホームディレクトリーは、/home/turbo とする。
・外部からはホームディレクトリー以外にアクセスさせない
・ユーザーは、turboとする。
注:固定IPを取得されている方は、動的IPを固定IPとして考えてください。 |
Webサーバーを公開しよう!  |
とりあえず、ドメインの取得が完了しサーバーも立ち上がったところで、
まずは、マイドメインでWEBサーバーを公開してみよう。
Apacheをインストール
今回は、バージョン2で行うことにしましょう。
最新のファイルをLesson8で行った方法でhttpd-2.0.47.tar.gzをダウンロードしインストールしましょう。
configファイルのポイント(Lesson2を参考)
ServerRoot "/usr/local/apache2"
ServerAdmin turbo@mydomein.net (ここは自分のメールアドレスを入力)
ServerName www.mydomein.net:80 (ここは自分で取得したドメインを入力:80はポート指定)
DocumentRoot "/home/turbo/" (Lesson2を参考)
ScriptAlias /cgi-bin/ "/home/turbo/cgi-bin/"(Lesson7を参考)
他の設定はデフォルトでOK
ではAPACHEを起動しましょう。
起動方法は、/usr/local/apache2/bin/apachectl start
pa axで確認して見ましょう(Lesson5を参考)
これでwebサーバーは起動しました。
まず内側からアクセスしてみましょう
http://192.168.0.100
その前にドキュメントルートにindexファイルをアップしておいてね!
表示されましたか?
NGの人は・・・どこか設定ミスの可能性があります。
okの人はルーターの設定へ
ルーターの設定
ルーターに風穴を開けましょう。
外部からの進入を許す設定は、ポート番号80番tcpを外から内向けをオープンにし、192.168.1.100へアクセスさせます。
BA8000Proの場合、
NAPTを選択
NAPT:有効
プロトコル:tcp
リモートipアドレス:*(外から来るアドレスたち)
リモートポート:*(外から入り込もうとするポートたち)
外部ipアドレス:WAN側ポートipアドレス
外部ipアドレス入力:(固定ipの場合入力)
外部ポート:80
内部ipアドレス:192.168.0.100(外部から入りこんだ時に入る内部アドレスを限定する)
内部ポート:指定を選択
内部ポート指定:80(入り込もうとするポートを限定する)
上記設定により192.168.0.100のサーバーにポート80でtcpのみアクセス可能になる。
さらに確認事項として静的フィルターを見て見ましょう
アカウント方向:LAN0⇒プロバイダー
64 pass * * * * *
になっていることが前提です。
他の設定は特にしません、デフォルトのままです。
ルーターを再起動させたらマイドメインにアクセスしてみよう。
http://www.mydomein.net
・・・・???アクセスできません!
これは自分が発信しているIPアドレスと着信するIPアドレスが同じだからです。
詳しくはわかりませんが、この場合はアクセスできないのです。
確認方法その1:携帯のiモードでアクセスしてみる
確認方法その2:電話回線を利用しリモートアクセスからアクセスしてみる
確認方法その3:知り合いの人にアクセスを頼む
確認方法その4:会社からアクセスしてみる
確認方法その5:ネットカフェからアクセスしてみる
確認方法その6:別なプロバイダーと契約する
等がありますので色々試してください。
うまく表示できれば完成です。 |
Ftpサーバーを公開しよう!  |
Proftpdをインストール
最新のファイルをLesson8で行った方法でproftpd-1.2.9rc1.tar.gzをダウンロードしインストールしましょう。
'proftpd.conf'ファイルのポイント
ServerType inetd (Lesson8を参照)スーパーデーモンから起動したほうがいいかも
RootLogin off ルートログインさせる必要性は無い。
ExtendedLog /var/log/proftpd.log (ログは収集して不正アクセスが無いかチェックしましょう
DefaultRoot ~ ホームディレクトリーより上位にアクセス禁止
anonymousFTPは、全てコメントアウトし利用不可にする。
他の設定はデフォルトでOK
ではProftpdを起動しましょう。
これでftpサーバーは起動しました。
まず内側からアクセスしてみましょう
Lesson3を参照しFFFTP等利用しホスト名に、192.168.0.100を入力しアクセスして見ましょう
NGの人は・・・どこか設定ミスの可能性があります。
okの人はルーターの設定へ
ルーターの設定
ルーターに風穴を開けましょう。
外部からの進入を許す設定は、ポート番号20,21番tcpを外から内向けをオープンにし、192.168.1.100へアクセスさせます。
BA8000Proの場合、
NAPTを選択
NAPT:有効
プロトコル:tcp
リモートipアドレス:*(外から来るアドレスたち)
リモートポート:*(外から入り込もうとするポートたち)
外部ipアドレス:WAN側ポートipアドレス
外部ipアドレス入力:(固定ipの場合入力)
外部ポート:20-21
内部ipアドレス:192.168.0.100(外部から入りこんだ時に入る内部アドレスを限定する)
内部ポート:指定を選択
内部ポート指定:20-21(入り込もうとするポートを限定する)
上記設定により192.168.0.100のサーバーにポート20,21でtcpのみアクセス可能になる。
ルーターを再起動させたらFFFTP等を利用し、ホスト名の所にmydomein.netを入力しアクセスしてみてください。
注:この場合もwebサーバーと同様にアクセスできませんので、上記例に習ってアクセスしてみてください。
うまく自分のホームディレクトリーに入れればokです。
|
独自ドメインでメールの送受信にトライしよう  |
Lesson6において上記のmcファイルを作成したと思います。
このままでは、ローカルエリア内のみにしかメールが送れませんでした。
ここでは外部インターネットへ向けてのメールのやり取りが出来るまでの
設定を行います。
前提条件
・ドメインを取得していること。取得したドメインを「nagano.homesite.net」とします。
・DDNSサーバーでMXレコードをサポートしていること(Lessn10で取得していればOK)
・メールサーバーIPアドレス:192.168.0.100
・クライアントが利用するIPアドレス:192.168.0.10から192.168.0.29までの20台とする。
・ルーターのIPアドレス:192.168.0.1とする。
・クライアントが利用するDNSサーバーは、プロバイダーが提供するサーバーを利用する。
・ローカルDNSサーバーは利用しない。
・メールアカウントとして「taro」、「hanako」、「jiro」の3アカウントとします。
・パスワードは全て「123456」とします。
(アカウントは作成しておいてください)
設定する前に最新バージョンにアップしょう。
旧バージョンんはセキュリティーホールが見つかっているようです。
簡単な方法としてTurboLinuxのFtpサイトからRPMファイルを入手しインストールするします。
ftp.turbolinux.co.jpへアクセスし
/pub/TurboLinux/TurboLinux/ia32/Server/8/updates/RPMSから
・sendmail-8.12.9-4.i586.rpm
・sendmail-cf-8.12.9-4.i586.rpm
・sendmail-devel-8.12.9-4.i586.rpm
・sendmail-doc-8.12.9-4.i586.rpm
・imap-2002b-4.i586.rpm
・imap-devel-2002b-4.i586.rpm
の6つのファイルをダウンロードし、/usr/sbin/turbopkg
を実行し古いsemdmailとimapを削除し新しいsemdmailとimapをインストールしてください。
インストール及び削除の方法は各自自習してください。
sendmail.mcの設定例(標準mcファイルから必要最低限を抜粋)
OSTYPE(`linux')dnl
Dwsv1
Dmnagano.homesite.net
define(`confDOMAIN_NAME',`$w.$m')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',`true')dnl
define(`confDONT_PROBE_INTERFACES',`true')dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`LOCAL_MAILER_ARGS',`procmail -Y -a $h -d $u ')dnl
define(`STATUS_FILE', `/var/log/sendmail.st')dnl
define(`UUCP_MAILER_MAX', `1000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`always_add_domain')dnl
FEATURE(`local_procmail')dnl
FEATURE(`access_db')dnl
MASQUERADE_AS(`$m')dnl
FEATURE(`masquerade_envelope')dnl
MAILER(`smtp')dnl
MAILER(`local')dnl
MODIFY_MAILER_FLAGS(`LOCAL', `+S')
上記ファイルからcfファイルを生成しましょう。
/etc/mail/access.dbの作成
受け取ったメールのアドレスに自サイト宛のドメイン名が指定されたものは、
正しい中継とみなし自サイト内のメールサーバーに転送します。
そこでその中継を許可するあて先ドメイン名を指定します。
accessの記述(txtファイル標準添付ファイルに追加)
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
192.168.0 RELAY
上記ファイルをaccess.dbに変換する
カレントディレクトリーを/etc/mailに変更
cd /etc/mail
/usr/sbin/makemap hash access < access
と実行すると/etc/mail/access.dbファイルが生成される。
この設定をした場合は、sendmailを再起動させなくても反映されます。
/etc/mail/relay-domainsの作成
自サイトからsmtp接続された場合、メールのあて先に関係なく転送したい場合、
relay-domainsファイルに自サイトのドメイン名又はipアドレスを指定します。
relay-domainsの記述(txtファイル)
192.168.0
と上記のようにクライアントのipアドレス又はドメイン名も記述する。
記述されていないクライアントからのメール送信はできません。
上記の場合192.168.0.0〜192.168.0.255までが対象
/etc/mail/aliasesの作成
たとえば、実際にあるアカウントでtaroにwebmasterという宛名でメールを送りたい場合、
又は、infoという宛名をjitoに送りたい場合などに使われます。この例を記述すると、
/etc/mail/aliasesの記述
root: jiro
webmaster: taro
info: jiro
と上記のようなtxtファイルを作成します。
標準で添付されているファイルを編集すればよいかと思います。
root宛のメールはtaro宛にした方が良いかも
作成したら、newaliases を実行するとaliases.dbが作成されます、
これをしないと反映されません。
これで取りあえず設定が完了です。
sendmailを再起動しておきましょう。
pop3の設定
pop3の設定ですが、特に設定する項目はありませんので、Lesson6を参照して起動しておいてください。
ルーターの設定
ルーターにメールの風穴を開けましょう。
外部からの進入を許す設定は、ポート番号25番tcpを外から内向けをオープンにし、
192.168.1.100へアクセスさせます。
BA8000Proの場合、
NAPTを選択
NAPT:有効
プロトコル:tcp
リモートipアドレス:*(外から来るアドレスたち)
リモートポート:*(外から入り込もうとするポートたち)
外部ipアドレス:WAN側ポートipアドレス
外部ipアドレス入力:(固定ipの場合入力)
外部ポート:25
内部ipアドレス:192.168.0.100(外部から入りこんだ時に入る内部アドレスを限定する)
内部ポート:指定を選択
内部ポート指定:25(入り込もうとするポートを限定する)
上記設定により192.168.0.100のサーバーにポート25でtcpがアクセス可能になり、
外部から自ドメイン宛のメールがメールサーバーに入り込んできます。
注意として、pop3の110ボートは、開放する必要はありません。
外部から自分のメールサーバーにアクセスする必要が、今の所無いからです。
自ドメイン宛のメールは、ローカルサイトからサーバーにアクセスし受信できるからです。
これを自分の会社から受信したい場合は、110ポートを空ける必要がありますが、セキュリティがまったくなくなります。
これを克服する為にPOP Before SMTPという仕組みを導入する必要性がありますが、
今回のレッスンでは行いません。機会があればレッスンしたいと思います。(チョト難しいけど)
実験
それでは、メーラーに3人のアカウントを前提条件で作成した名前「taro、hanako、jiro」を作成します。smtpとpopのアドレスには、192.168.0.100を入力し、送受信して見ましょう。
携帯電話や会社などからメールを送ったり受けたりして見ましょう。
上手く行かない場合は、logファイルを見て悩んでください。
logファイルは、/var/log/maillogを見てください。
尚、logファイルをリアルタイムに見るには、
tail -f /var/log/maillog を実行します。
他人に迷惑をかけないように気をつけてくださいね!全て自己責任です。
試験方法は、
内部でのやり取り
1.taroからhanako,jiroへメールを送る
2.hanako、jiroからtaroにメールを送る
3.受信したメールを返信し間違いなく送信者へ届くことを確認する。
外部とのやり取り
4.taroから自分のケータイとかにメールを送る
5.自分のケータイからtaroやhanokoにメールを送る
6.受信したメールを返信し間違いなく送信者へ届くことを確認する。
上記の送受信が出来ればまず間違えなく動作してると言えます。
以上メールのやり取りが出来たら、技術書とにらめっこしながら、
セキュリティについて深く追求し設定してください。
出来れば、メールのヘッダーを解析して見てください。
ここでの設定は、かなり大雑把です。どこに落とし穴があるか分かりませんので、
色々設定を変えて実験をしてみて下さい。特にaccessやrelay-domainsは注意が必要です。
参考
mcファイル参考設定内容
FEATUREによる設定
FEATURE命令は、sendmailにあらかじめ定義された機能で、動作に最低限必要な内容を設定ファイルに与え有効にしたり無効にします。
defineによる設定
define命令は、特定のオプションを設定ファイルに記述し、上書きし、設定変更ます。
FEATURE(`accept_unqualified_senders')
:ドメイン名の無い相手を拒否する。(設定したほうが良い)
FEATURE(`accept_unresolvable_domains')
:有効なドメイン名のチェック。dnsを利用しドメイン名の有効無効を調査します。
define(`MAIL_SETTING_DIR',`/mail/')
:システムディレクトリーの指定/mail/がシステムディレクトリーになります。(デフォルトは/etc/mail/)
define(`confMAX_MESSAGE_SIZE',`1000000')
:1MB以上のメールは受け取らない。(デフォルトは制限なし)
define(`confMAX_RCPTS_PER_MESSAGE',`100')
:一度に受け取るメールの数を制限。100以上の宛先アドレスを持つメールは受け取らない。
(デフォルトは無制限)
define(`confMIN_QUEUE_AGE',`30m')
:メールの再送信の間隔30分おきに再送する。デフォルトは起動時に1回
さらに詳細は、/usr/lib/sendmail-cf/READMEを調べて解釈するか、技術書を参考にしてください。
以上でこのレッスンは終了です。 |
本サイト利用者数は 名です。本日は 名、 昨日は 名の受講ありがとうございます. |
| TOPページへ Lesson11 ハードウェアーを考える Lesson13 サイトの維持管理をしよう |
|
| Since 2003/2/8 Copyright(C) 2003 Parterre.homelinux.net All Rights Reserved. |
|