サーバー設定 · 3 min read · Oct 10, 2025

Ubuntu-Server 6.06 LTSを小規模ビジネス環境のファイアウォール/ゲートウェイとして設定する - ページ8

各実ユーザーにウェルカムメッセージを送信し、アカウントにログインできるようにするために必要な初期Maildir構造をホームディレクトリに作成する必要があります。これにはWebminのPostfixモジュールを使用できます。エイリアスに何かを送信する必要はありません。ただし、ウェルカムメッセージを送信するために外部のメールアカウントを使用したい場合は、最初にファイアウォールでポート25を開く必要があります。このチュートリアルのこのページに示されています。

もちろん、この初期設定の後に追加された新しいユーザーにもメッセージを送信する必要があります。

あなたのWebメールサーバーは https://your.domain/webmail にあります(最初にこれらのメッセージを送信してください!)

Muninは http://your.domain/munin にあります

Webminは https://your.domain:10000 にあります

ドメインを設定していない場合は、 https://192.168.1.1/webmail などを使用してください。

Webメールにログインでき、実際にローカルネットワーク内でメールを送受信できることを確認してください。満足している場合は、ファイアウォールで受信TCPトラフィック(Postfix)のためにポート25を開き、受信UDPトラフィック(DCC)のためにポート6277を開きます。外部からユーザーにWebメールサーバーを利用可能にしたい場合は、受信TCPトラフィックのためにポート443も開きます(Apache SSL)。受信TCP接続のためにポート993を開くことも良いアイデアです。IMAPSを容易にするからです。

私の/etc/shorewall/rulesは現在次のようになっています:(まずは、この記事に示されているすべてのファイアウォール設定は、あなたを立ち上げるためのものであり、完了したらこれらの設定を調整したいかもしれません!)

#############################################################################################################  
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/  
# PORT PORT(S) DEST LIMIT GROUP  
# PORT PORT(S) DEST LIMIT GROUP  
ACCEPT net $FW tcp 25  
ACCEPT net $FW tcp 443  
ACCEPT net $FW tcp 993  
ACCEPT net $FW udp 6277  
#  
# DNS接続をファイアウォールからネットワークへ受け入れる  
#  
DNS/ACCEPT $FW net  
ACCEPT $FW net all  
ACCEPT $FW loc all  
ACCEPT loc $FW all  
#  
# 管理のためにローカルネットワークからSSH接続を受け入れる  
#  
SSH/ACCEPT loc $FW  
#  
# ローカルネットワークからPingを許可  
#  
Ping/ACCEPT loc $FW  
#  
# "悪い"ネットゾーンからPingを拒否し、ログが洪水になるのを防ぐ  
#  
Ping/REJECT net $FW  
ACCEPT $FW loc icmp  
ACCEPT $FW net icmp  
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

ファイアウォールを再起動します:

/etc/init.d/shorewall restart

次に、次のコマンドを実行します:

/var/dcc/libexec/updatedcc

次に、VPNサーバーを構成します。

/etc/pptpd.confを編集します。現在は次のようになっているはずです:

###############################################################################  
# $Id: pptpd.conf 4255 2004-10-03 18:44:00Z rene $  
#  
# Sample Poptop configuration file /etc/pptpd.conf  
#  
# 変更はpptpdが再起動されると有効になります。  
###############################################################################  
  
# TAG: ppp  
# pppdプログラムへのパス、Linuxではデフォルトは'/usr/sbin/pppd'  
#  
#ppp /usr/sbin/pppd  
  
# TAG: option  
# PPPオプションファイルの場所を指定します。  
# デフォルトではPPPは'/etc/ppp/options'を見ます  
#  
option /etc/ppp/pptpd-options  
  
# TAG: debug  
# syslogへの(より多くの)デバッグをオンにします  
#  
#debug  
  
# TAG: stimeout  
# ctrl接続の開始時のタイムアウト(秒単位)を指定します  
#  
# stimeout 10  
  
# TAG: noipparam  
# クライアントのIPアドレスをPPPに渡すのを抑制します。  
# デフォルトではそうしません。  
#  
#noipparam  
  
# TAG: logwtmp  
# クライアントの接続と切断を記録するためにwtmp(5)を使用します。  
#  
logwtmp  
  
# TAG: bcrelay   
# インターフェースからクライアントへのブロードキャストリレーをオンにします  
#  
#bcrelay eth1  
  
# TAG: localip  
# TAG: remoteip  
# ローカルおよびリモートIPアドレス範囲を指定します。  
#  
# 任意のアドレスが機能しますが、ローカルマシンがルーティングを処理する必要があります。  
# ただし、MS-Windowsネットワーキングを使用する場合は、LANアドレス空間からIPアドレスを使用し、  
# pppdオプションファイルでproxyarpオプションを使用するか、bcrelayを実行する必要があります。  
#  
# 単一のIPアドレスをカンマで区切って指定することも、範囲を指定することもできます。  
# 例えば:  
#  
# 192.168.0.234,192.168.0.245-249,192.168.0.254  
#  
# 重要な制限:  
#  
# 1. カンマの間やアドレス内にスペースは許可されません。  
#  
# 2. MAX_CONNECTIONSより多くのIPアドレスを指定すると、  
# リストの最初から始まり、MAX_CONNECTIONS IPに達するまで続きます。  
# 他は無視されます。  
#  
# 3. 範囲内のショートカットは許可されません!つまり、234-8は234から238を意味しません。  
# 234-238と入力する必要があります。  
#  
# 4. 単一のlocalIPを指定する場合は問題ありません - すべてのローカルIPが指定されたものに設定されます。  
# 同時クライアントごとに少なくとも1つのリモートIPを指定する必要があります。  
#  
# (推奨)  
localip 192.168.1.1  
remoteip 192.168.1.10-30  
# または  
#localip 192.168.0.234-238,192.168.0.245  
#remoteip 192.168.1.234-238,192.168.1.245  

次に、/etc/ppp/optionsを編集します。次のようになっているはずです:

asyncmap 0  
noauth  
lock  
hide-password  
proxyarp  
lcp-echo-interval 30  
lcp-echo-failure 4  
noipx

/etc/ppp/pptpd-optionsを編集します。次のようになっているはずです:

###############################################################################  
# $Id: pptpd-options 4643 2006-11-06 18:42:43Z rene $  
#  
# Sample Poptop PPP options file /etc/ppp/pptpd-options  
# クライアントから接続が到着したときにPPPが使用するオプション。  
# このファイルは/etc/pptpd.confオプションキーワードによって指し示されます。  
# 変更は次の接続で有効になります。"man pppd"を参照してください。  
#  
# このファイルはシステムに合わせて変更することが期待されています。  
# パッケージ化された状態では、PPP 2.4.2とカーネルMPPEモジュールが必要です。  
###############################################################################  
  
# 認証  
# 認証目的のためのローカルシステムの名前  
# (/etc/ppp/chap-secretsエントリの2番目のフィールドと一致する必要があります)  
name pptp-vpn  
  
# オプション:認証に使用するドメイン名  
# domain mydomain.net  
  
# 認証前にユーザー名からドメインプレフィックスを削除します。  
# (chapms-strip-domainパッチを使用してpppdを使用する場合に適用されます)  
#chapms-strip-domain  
  
# 暗号化  
# Debian:パッケージでビルドされたカーネルを持つシステムで  
# kernel-patch-mppe >= 2.4.2およびppp >= 2.4.2を使用している場合、...  
# {{{  
refuse-pap  
refuse-chap  
refuse-mschap  
# ピアがMS-CHAPv2 [Microsoft Challenge Handshake Authentication Protocol, Version 2]認証を使用して自分自身を認証することを要求します。  
require-mschap-v2  
# MPPE 128ビット暗号化を要求します  
# (MPPEは認証中にMSCHAP-V2の使用を必要とします)  
require-mppe-128  
# }}}  
  
# ネットワークとルーティング  
# pppdがMicrosoft Windowsクライアントのサーバーとして機能している場合、このオプションは  
# pppdがクライアントに1つまたは2つのDNS(ドメインネームサーバー)アドレスを供給することを許可します。  
# このオプションの最初のインスタンスはプライマリDNSアドレスを指定します。  
# 2番目のインスタンス(指定されている場合)はセカンダリDNSアドレスを指定します。  
# 注意!この情報はWindowsクライアントによって考慮されない場合があります。  
# MicrosoftのナレッジベースのKB311218を参照してください。  
#ms-dns 10.0.0.1  
ms-dns 192.168.0.1  
  
# pppdがMicrosoft Windowsまたは"Samba"クライアントのサーバーとして機能している場合、このオプションは  
# pppdがクライアントに1つまたは2つのWINS(Windows Internet Name Services)サーバーアドレスを供給することを許可します。  
# このオプションの最初のインスタンスはプライマリWINSアドレスを指定します。  
# 2番目のインスタンス(指定されている場合)はセカンダリWINSアドレスを指定します。  
#ms-wins 10.0.0.3  
ms-wins 192.168.0.1  
  
# ピアのIPアドレスとこのシステムのEthernetアドレスを持つ  
# このシステムのARP [アドレス解決プロトコル]テーブルにエントリを追加します。  
# これにより、ピアが他のシステムにローカルイーサネット上にあるように見えます。  
# (PPTPサーバーがクライアントへのパケットのルーティングを担当している場合は必要ありません -- James Cameron)  
proxyarp  
  
# Debian:デフォルトルートを置き換えない  
nodefaultroute  
  
# ロギング  
# 接続デバッグ機能を有効にします。  
# (pppdが送信する場所についてはsyslog設定を参照してください)  
#debug  
  
# 設定されたすべてのオプション値を出力します。  
# (オプションを確認するためにメーリングリストでよく要求されます)  
#dump  
  
# その他  
# 専用ttyのためにUUCPスタイルのロックファイルを作成して、排他的なアクセスを確保します。  
lock  
  
# BSD-Compress圧縮を無効にします  
nobsdcomp   
auth

次に、/etc/ppp/chap-secretsを編集します。次のようになっているはずです:

# CHAPを使用した認証のためのシークレット  
# client server secret IPアドレス  
user pptp-vpn abcdefg "*"

次に、次のコマンドを実行します:

/etc/init.d/pptpd restart

これで、ファイアウォールの内側から”user”として新しいサーバーにVPN接続を設定できるはずです。パスワードは”abcdefg”(引用符なし)です。この初期のユーザー名とパスワードを変更し、必要に応じてユーザーを追加してください。機能させるためにいくつかのマシンを再起動する必要があるかもしれません。

次に、受信VPN接続のためにファイアウォールを開きます。これを行うには、/etc/shorewall/rulesを次のように設定します。

私の/etc/shorewall/rulesはこの時点で次のようになっています:

#############################################################################################################  
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/  
# PORT PORT(S) DEST LIMIT GROUP  
# PORT PORT(S) DEST LIMIT GROUP  
ACCEPT net $FW tcp 25  
ACCEPT net $FW tcp 443  
ACCEPT net $FW tcp 993  
ACCEPT net $FW udp 6277  
DNAT net fw:192.168.1.1 tcp 1723  
DNAT net fw:192.168.1.1 47  
#  
# DNS接続をファイアウォールからネットワークへ受け入れる  
#  
DNS/ACCEPT $FW net  
ACCEPT $FW net all  
ACCEPT $FW loc all  
ACCEPT loc $FW all  
#  
# 管理のためにローカルネットワークからSSH接続を受け入れる  
#  
SSH/ACCEPT loc $FW  
#  
# ローカルネットワークからPingを許可  
#  
Ping/ACCEPT loc $FW  
#  
# "悪い"ネットゾーンからPingを拒否し、ログが洪水になるのを防ぐ  
#  
Ping/REJECT net $FW  
ACCEPT $FW loc icmp  
ACCEPT $FW net icmp  
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

このステップを完了するには、次のコマンドを実行します:

/etc/init.d/shorewall restart

これで、顧客は自宅で(コンピュータネットワーク関連の)仕事をすることができるようになります。

このことは、サーバーがインターネットへの信頼できるブロードバンド接続を持っている場合にのみ意味があります。オランダでは、これは非常に小さなオフィスやほとんどの家庭の住所にとって事実上の標準です。この点において、私たちは世界の他の地域よりもはるかに進んでいます。

次に、/etc/MailScanner/spam.assassin.prefs.confを編集し、次の行を下部に追加します:

score RCVD_IN_SORBS_WEB 10  
score RCVD_IN_WHOIS_INVALID 10  
score RCVD_IN_WHOIS_BOGONS 10  
score RCVD_IN_NJABL_PROXY 10  
score RCVD_IN_DSBL 10  
score RCVD_IN_XBL 10  
score RCVD_IN_BL_SPAMCOP_NET 10  
score RCVD_IN_SORBS_DUL 10  
score SARE_LWSYMFMT 3  
score SARE_MLB_Stock4 3  
score SARE_BAYES_5x8 3  
score SARE_BAYES_6x8 3  
score URIBL_SC_SURBL 10  
score URIBL_WS_SURBL 10  
score URIBL_PH_SURBL 10  
score URIBL_OB_SURBL 10  
score URIBL_AB_SURBL 10  
score URIBL_JP_SURBL 10  
score URIBL_SBL 10  
score ALL_TRUSTED 0  

次に、/rootディレクトリをクリーンアップします。そこがすべてのダウンロード先です。

Sambaはインストールされています。Sambaのセットアップはすべてユニークなので、ここではお手伝いできません。やり方がわからない?これは良い出発点です。

これをすべて完了するには、次のコマンドを実行します:

/etc/init.d/mailscanner restart

次に、受信メールのヘッダーにスパムレポートを監視します(ただし、ユーザーがこれに同意していることを確認してください。そうしないと、いくつかの郵便法やその他の法律に違反することになります)最後の編集を調整し(追加することも)、あなたの望むように機能させます。特に偽陰性やさらに多くの偽陽性に注意を払う必要があります。完了したら、ほとんどのスパム、もし可能ならすべてを/dev/nullに送信することを検討してください。

このスパイ作業を簡単にするために、サーバーによって処理されたすべてのメールのコピーを送信する特別なアカウントを作成します。このユーザーを作成し、”spy”(引用符なし)と呼ぶと仮定し、/etc/postfix/virtualにspyの行を追加します(”[email protected] spy”のように、引用符なし)。次に、次のコマンドを実行します:

postmap /etc/postfix/virtual

次に、spyにウェルカムメッセージを送信します。一般的なルールとして、spyのアカウントが完全に機能していることを確認します。次に、次のコマンドを実行します:

postconf -e 'always_bcc = spy' 

完了!

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。