これまでの作業で内線通話が可能になりました。
会議室も使えるようになりました。
しかし、外線発信が出来ていません。
そこで、先日契約したOCNモバイルに付いている050plusを使いたいと思います。
もちろん、LTEを使って外から050plus回線を使うわけですから、セキュリティ的には十二分に注意を払わなければなりません。
まず、
- 050plusの契約を国際電話は利用できないよう設定しています。
- iptablesを使って、国内IPからのみ接続可能とします。
- 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で攻撃を防御出来るようなるとのことです。
このあたりの作業は、一番最初に行った作業なので不備間違いが多々あると思います。
よくよく確認しながら作業したほうがいいです。でないと電話代の請求が”どえらい”ことになる。