iOS で L2TP over IPsec ソリューション

▼セキュリティ

L2TP/IPsec に必要なソフトウェアをインストールし、設定まで行いました。

この段階で既に iPod Touch や iPad 等の VPN クライアントから接続可能な状態になっていますが、iptables によって不必要なポートへのアクセスがないように設定しておきます。

そう言うおせっかいなのは必要無いって方は、スルーしてくださいね。

 

iptables 設定

新しいチェーンを作って書いた方が美しいでしょうし、書き方は人それぞれですが、以下のようなスクリプトを実行すれば良いでしょう。 よく分からない人は、特に SSH ポートを塞いでしまわないようにお気を付け下さい。

前提
  • IPsec 接続は NAT トラバーサルによって接続
  • ppp インターフェース (VPN 接続した時のサーバ側のインターフェース) への進入は全部許可
  • インターフェース間ルーティング(FORWARD) も全部許可
  • 後々のソリューションによっては、接続を許可するポート番号等が追加される
# vi fw.sh

(以下内容)
#!/bin/sh

/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP

# -------------------------------------------------------------
#  INPUT Chain
# -------------------------------------------------------------
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#
## L2TP/IPsec
/sbin/iptables -A INPUT -p udp --dport 500 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p udp --dport 4500 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT

#
## Allow packets via L2TP tunnel
/sbin/iptables -A INPUT -i ppp+ -j ACCEPT

#
##  Insert your own rule(s) here to allow access via INPUT chain:
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -i eth0 -j ACCEPT

# -----------------------
#  OUTPUT Chain
# -----------------------
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#
## L2TP/IPsec
/sbin/iptables -A OUTPUT -p udp --sport 500 -o eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp --sport 4500 -o eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp -m policy --dir out --pol ipsec -m udp --sport 1701 -j ACCEPT

#
## ICMP request/reply
/sbin/iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

#
## Allow packets via L2TP tunnel
/sbin/iptables -A OUTPUT -o ppp+ -j ACCEPT

#
##  Insert your own rule(s) here to allow access via INPUT chain:
/sbin/iptables -A OUTPUT -p tcp --dport 21:22 -m state --state NEW -j ACCEPT -o eth0
/sbin/iptables -A OUTPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT -o eth0
/sbin/iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT -o eth0
/sbin/iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT -o eth0
/sbin/iptables -A OUTPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT -o eth0
/sbin/iptables -A OUTPUT -p udp --dport 53 -o eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp --sport 123 -o eth0 -j ACCEPT

# -----------------------
#  Forwarding Chain
# -----------------------
/sbin/iptables -A FORWARD -j ACCEPT

service iptables save
service iptables restart

実行して iptables を設定する

# sh fw.sh

前のページへ 次ページへ

 

関連するコンテンツ


コメントを残す


メモ - 以下の HTML タグと属性が利用できます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>