Briker kebobolan


(Ayam Juara) #1

Selamat sore teman-teman semua

Setelah berhasil install dan setup briker, digunakan tetapi hari ini saya terkejut luar biasa briker saya kebobolan dengan menelpon keluar negeri dengan total durasi hampir 8 jam, ternyata basic instal saja ga cukup, langkah pengamanan harus dilakukan, saya jadi ragu apakah briker dan atau asterisk layak digunakan di production environment terutama kayak saya yang awam

mohon petunjuk para master


(godril) #2

Instalasi default saja tidak cukup mas, harus ada pengamanan berlapis sebelum benar2 launching di ip public. Saya rasa ini berlaku untuk semua server entah itu server VoIP, email, http, sebelum dilepas, harus kuat pengamanannya.
Dari topologi, saya pribadi menyukai topologi Asterisk di belakang firewall dan tidak tersambung ke ip public langsung. Biasanya saya menggunakan port forward (bukan Nat 1:1 lho ya). Port forward untuk SIP biasanya saya ganti dengan port lain, misal port SIP menjadi 9060, atau brapapun asal jangan 5060, karena pasti banyak scanner di luar sana. Untuk client SIP yang hendak register, gpp agak repot sedikit dengan menambahkan port di belakang setting sip server di softphone/ip phone.

Sedangkan untuk port RTP bisa apa adanya saja (biasanya 10000 - 20000, di port forward ke Asterisk server di LAN dengan port yang sama).

Jika, Asterisk server kepepet banget harus di pasang ip public maka di layer 3 & 4 , iptables WAJIB dinyalakan. Kalau mau baca2 silahkan ada di :

http://www.otakudang.org/?p=208

iptables bisa juga dilengkapi dengan fail2ban. Fail2ban ini akan membaca log Asterisk untuk melihat apakah ada indikasi fraud dengan bruteforce passsword ekstensi atau Asterisk Management Interface (AMI)? Saya ada contoh setting untuk Issabel, tapi saya yakin bisa diterapkan di semua Asterisk based PBX

http://www.otakudang.org/?p=632

port default SIP amat sangat direkomendasikan untuk diganti dari 5060 ke angka lain, minimal supaya tidak kena scan dulu.

Untuk Asterisk, biasanya saya akan mematikan semua call dari Guest di sip.conf/sip_custom.conf

allowguest=no

Lalu jika tidak banget2 butuh panggilan ke luar negeri, coba diakali dari dialplan supaya panggilan ke luar negeri tidak termasuk dalam dialplan. Biasanya banyak yang males nih, dialplan cuma dibuat seperti -> .X (titik dan huruf X) supaya bisa manggil ke mana saja. Di asterisk dialplan luar negeri biasanya diawali dengan 00, oleh karena itu jangan kasih kesempatan dialplan bisa mendial 00 dengan cara ditulis (misal):

XNXXZ.  

artinya, jika user memanggil nomer dengan awalan 0, maka digit kedua (yang difilter dengan N), tidak akan bisa menerima 0 lagi karena:
X mewakili 0 -9
N mewaikili 2 - 9
Z mewakili 1 - 9

Atau jika astereisk bisa menerima tanda + (panggilan luar negeri biasanya juga diawali tanda + diikuti kode negara), bisa dilakukan filter dialplan dengan:

+|XNXXZ.

artinya semua awalan + akan dibuang apa pun yang terjadi.

Trus kalau mau buat panggilan ke luar negeri bagaimana? Langsung saja pake techprefix operator seperto 01017, 01018, atau 01022 tergantung operator. Biasanya mereka menyediakan tech prefix untuk panggilan ke luar negeri, dengan tujuan routing dan juga bisa mengurangi kemungkinan fraud dari dialplan.

Dan pengamanan terakhir adalah dengan setup billing. Dengan billing kita bisa membatasi penggunaan misal kita set paling banyak penggunaan 300 rb. Lebih dari itu panggilan langsung cut. Untuk setting billing sistem ini per distro sih. Briker mungkin sudah ada module nya. Bisa ditanyakan ke mas @asoka langsung atau tim briker lain.

Mungkin dari teman2 lain ada masukan silahkan ditambahkan.


(Ayam Juara) #3

Terima kasih pak @godril saya akan coba setup satu persatu, sepertinya untuk standard pengamanan server saya sudah lakukan, hanya memang server saya tersambung langsung dengan IP publik, port standard. fail2ban sudah saya jalankan juga.


(Asoka Wardhana) #4

Halo,

Untuk langkah-langkah pengamanan apabila menggunakan direct IP Public pada Briker adalah sebagai berikut :

  1. Strong password User extension
    Pastikan semua password User Extensions itu tidak mudah ditebak, biasanya yang menyebabkan kebobolan adalah password sama dengan nomor extension, atau menggunakan yang sederhana biar memudahkan dalam menginput di perangkat user client, misal password, 123456. Sangat disarankan gunakan kombinasi huruf, angka dan simbol, setelah itu cek pada apakah password tersebut sudah tidak terdeteksi sebagai password yang lemah, lakukan pengecekan pada menu IPPBX Administration -> Tools -> Weak Password Detection

  2. Strict dialplan
    Pada konfigurasi outbound routes, bisa mengikuti saran yang diinformasikan pak @godril, tambahan dari saya lakukan konfigurasi yang strict, jadi hanya mengizinkan jumlah digit yang sesuai yang biasa digunakan, jangan menggunakan . (dot) diakhir konfigurasi outbound routes. Contoh Untuk konfigurasi ke nomor GSM di Indonesia yang total digitnya ada 12, 11, 10, 9 maka buat 4 konfigurasi : 08XXXXXXXXXX, 08XXXXXXXXX, 08XXXXXXXX , 08XXXXXXX . Berikut adalah list yang bisa digunakan pada outbound routes :

    • briker-dialplan

    • Untuk SLI disarankan hanya mengizinkan prefix negara tujuan yang biasanya digunakan tujuan telepon (white list), biasanya beberapa perusahaan untuk tujuan SLI hanya negara tertentu saja, tidak semua, misal apabila hanya tujuan ke Malaysia, buka prefix SLI untuk yang 10 Digit : 60XXXXXXXXX, apabila menggunakan kode 007 , maka 00760XXXXXXXXX

  3. Aktifkan beberapa fitur keamanan untuk outgoing call seperti :

    • PIN/Password, bisa menggunakan fitur PIN Sets
    • Billing System, menggunakan prepaid, sehingga setiap user sudah dibatasi penggunaannya.
  4. Mengaktifkan system firewall pada Briker.
    Selain menggunakan fail2ban, bisa juga aktifkan system white list IP Address yang diizinkan masuk ke Briker, misal penggunaan IP Public hanya untuk SIP Trunk ke IP Public tertentu maka izinkan IP Public tujuan SIP Trunk tersebut saja, lalu apabila digunakan untuk register dari smartphone untuk user-user di Indonesia maka izinkan hanya IP Address Public Local Indonesia (IIX) saja, untuk mendaptkan list IP IIX Indonesia bisa dari sini https://www.routeros.co.id/download//nice.rsc. Berikut adalah langkah-langkah untuk mengaktifkan system firewall pada Briker, saya terbiasa menggunakan console, namun hal ini bisa dilakukan via Server Manager pada menu Linux Firewall.

    • Login ke console Briker sebagai root
    • Tuliskan script iptables berikut untuk allow IP Addres tertentu, jangan lupa allow IP Localhost dan IP Local apabila ada user dari Local Network

    iptables -t filter -A INPUT -s 203.114.72.0/24 -j ACCEPT
    iptables -t filter -A INPUT -s 192.168.1.0/24 -j ACCEPT
    iptables -t filter -A INPUT -s 127.0.0.1 -j ACCEPT
    iptables -t filter -A INPUT -i lo -j ACCEPT
    iptables -t filter -A INPUT -s 0.0.0.0/0.0.0.0 -j DROP

    Note :

    • IP Address 203.114.72.0/24 adalah IP Public yang diizinkan
    • IP Addresss 192.168.1.0/24 adalah IP Lokal yang diizinkan
    • Pastikan urutan untuk rules yang di ACCEPT ada diatas, seperti contoh.
    • Apabila menambahkan firewall ini melalui remote, pastikan IP komputer/laptop anda sudah masuk dalam chain rule yang di ACCEPT :slightly_smiling_face:
    • Untuk save firewall ini, bisa melalui Server Manager, lalu pilih Linux Firewall, nanti akan muncul chain rules yang sudah kita input diatas, langsung saja tekan tombol Apply Configuration dan pastikan Active at boot Yes

Semoga membantu dan bisa diterapkan.