RasPi2 Asterisk iptables

これまでの作業で内線通話が可能になりました。
会議室も使えるようになりました。
しかし、外線発信が出来ていません。
そこで、先日契約したOCNモバイルに付いている050plusを使いたいと思います。
もちろん、LTEを使って外から050plus回線を使うわけですから、セキュリティ的には十二分に注意を払わなければなりません。
まず、

  1. 050plusの契約を国際電話は利用できないよう設定しています。
  2. iptablesを使って、国内IPからのみ接続可能とします。
  3. iptablesのログを監視し、fial2BANで弾く設定をする。

今、これくらいしか思いつきません。

さて、iptablesですが正直今まであまり利用したことがありません。

基本RTX1200ですべて弾いていたものですから。

iptables

iptablesはdefaultでインストールされていますが、iptables-persistentをインストールします。

# apt-get install iptables-persistent

iptables-persistentをインストールすれば、boot時 自動的にruleを復元してくれます。

国外IPのはじき方
国外IPは国別のIP ADDRESS一覧を掲載してくれているところが多々ありますが、
今回は、http://www.ipdeny.com/を利用します。

国内限定と言ってもたくさん有るので、scriptで処理します。
JP_INPUT_OK.sh

ZONE_FILE_URL="http://www.ipdeny.com/ipblocks/data/countries"

#http://www.ipdeny.com/ipblocks/data/countries/jp.zone

for IP in $(wget -O - http://www.ipdeny.com/ipblocks/data/countries/jp.zone | grep -v "^#|^$" )
do
  iptables -A INPUT -s $IP -j ACCEPT
done

  iptables -A INPUT -s 60.37.58.74 -p udp -m udp --dport 5061 -j ACCEPT
  iptables -A INPUT -p udp -m udp --dport 4000:4009 -j ACCEPT
  iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

国内全てのIPを許可するのは危ないので、
“iptables -A INPUT -s $IP -j ACCEPT”を工夫すればいいでしょう。
また、ACCEPTには050plusのアドレスを別途記載しています。
これ以外は、DENNYしておきます。

fail2banのインストール

# apt-get install fail2ban

asteriskのログフォーマットを変更します。
/etc/asterisk/logger.conf

[deneral]
dateformat=%F %T

この状態だとFROMヘッダが偽装されたfail2banで対応できません。
http://www.voip-info.jp/index.php/SIP-Fail2banにあるpatchを適応することで、

Failed to authenticate user "Anonymous" <sip:anonymous@192.168.1.2>;tag=as105e401c (123.45.67.89:5060)

と表示されるようになり、fail2banで攻撃を防御出来るようなるとのことです。

このあたりの作業は、一番最初に行った作業なので不備間違いが多々あると思います。
よくよく確認しながら作業したほうがいいです。でないと電話代の請求が”どえらい”ことになる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA