Konfiguracja trunku Sipgate w Trixbox (Asterisk)

Trixbox i Sipgate

Sipgate udostępnia darmowe numery DID (direct inward dialing) z USA, UK oraz DE z których korzystać można za pośrednictwem trunków SIP.

W roli PBX wybrany został Trixbox ze względu na szybką i łatwą konfigurację oraz doświadczenia związane z obecną już w firmie centralną telefoniczną opartą na tej dystrybucji. Doświadczenia zebrane z jej podstawowym zabezpieczeniem zostały już wcześniej zebrane we wpisie bezpieczny Trixbox.

Poprawne działanie opisanej konfiguracji zostało potwierdzone w praktyce – zarówno w nawiązywaniu jak i odbieraniu połączeń. W dalszej części zakładam, że trixbox został świeżo zainstalowany na maszynie dostępnej pod NAT-owanym adresem IPv4 192.168.0.6, a adres publiczny IPv4 to 12.34.56.789;

Konfiguracja Trixbox

Konfiguracji dokonujemy przez wygodne gui dostępne pod http://trixbox/maint z jako \”maint\” z hasełem \”password\”.

Dodajemy SIP extension dla lokalnego telefonu

  1. W PBX Settings -> Basic -> Extensions wybieramy Add an Extension -> Generic SIP device
  2. Wypełniamy pole \”User extension\” wpisując wewnętrzny numer, np. \”100\”, w \”Display Name\” określającą go nazwę, oraz w \”secret\” przypisujemy doń hasło.

Dodajemy SIP trunk od Sipgate

  1. W PBX Settings -> Basic -> Trunks wybieramy Add SIP Trunk
  2. W Outbound Caller ID wpisujemy otrzymany od Sipgate numer
  3. Ograniczamy ilość wychodzących jednocześnie połączeń wpisując w Outbound Caller ID wartość 1
  4. Wypełniamy Outgoing Settings, wpisując w Trunk Name \”sipgate\” oraz w PEER Details poniższą konfigurację, zamieniając \”ID-UŻYTKOWNIKA\” na ID dostępne szczegółach konta na Sipgate oraz \”HASŁO-SIP-UŻYTKOWNIKA\” na dostępne tam hasło SIP różne od hasła używanego do logowania na stronie

    authuser=ID-UŻYTKOWNIKA
    context=ext-did
    dtmfmode=info
    fromdomain=sipgate.co.uk
    fromuser=ID-UŻYTKOWNIKA
    host=sipgate.co.uk
    insecure=very
    qualify=yes
    secret=HASŁO-SIP-UŻYTKOWNIKA
    type=peer
    username=ID-UŻYTKOWNIKA

  5. W Incoming Settings ustawiamy USER Context na \”ext-did\”, a USER Details identycznie jak PEER Details
  6. W Register String ustawiamy \”ID-UŻYTKOWNIKA:HASŁO-SIP-UŻYTKOWNIKA@sipgate.co.uk/ID-UŻYTKOWNIKA\”

Konfigurujemy inbound i outbound route

  1. W PBX Settings -> Inbound Call Control-> Inbound routes wybieramy Add Incoming Route
  2. W DID Number wpisujemy \”ID-UŻYTKOWNIKA\”
  3. W sekcji Set Destination wybieramy utworzony wcześniej numer (extension)
  4. W PBX Settings -> Basic -> Outbound routes wybieramy Add Route
  5. W Route Name wpisujemy np. \”sipgate_outside\”
  6. Aby skierować wszystkie rozmowy do trunku w Dial Patterns wpisujemy \”.\”
  7. W Trunk Sequence wybieramy utworzony trunk: \”SIP/sipgate\”
Konfiguracja NAT
  1. Przekierowujemy porty 12.34.56.789:5060-5070 TCP i UDP na porty 192.168.0.6:5060-5070
  2. Przekierowujemy porty 12.34.56.789:10000:20000 UDP na porty 192.168.0.6:10000:20000

W Vyatta Core 6.2 realizują to polecenia:

for i in 1 2; do set service nat rule 60${i} type destination; set service nat rule 60${i} inside-address address 192.168.0.6; set service nat rule 60${i} inbound-interface eth0; done
set service nat rule 601 protocol tcp_udp
set service nat rule 601 destination port 5060-5070
set service nat rule 602 protocol udp
set service nat rule 602 destination port 10000:20000

Konfiguracja dla trunków USA i DE przebiega analogicznie z dokładnością co do domeny.

Outsourcing – czy warto?

\"\"W dzisiejszych czasach żadna licząca się firma nie może istnieć bez swojej witryny internetowej oraz całego zaplecza IT, dzięki któremu nie tylko zaprezentuje się w sieci, ale również wewnętrzny przepływ danych i informacji będzie optymalny. Na szczęście firma nie potrzebuje mieć specjalistów od wszystkiego – i ku temu właśnie służy outsourcing. Czym właściwie jest i czy warto w niego zainwestować?

Czytaj dalej

FreePBX

\"asterisk-by-digium-300x245\"

FreePBX jest darmową implementacją panelu zarządzania programowymi centralami telefonicznym opartymi na oprogramowaniu Asterisk.

Centrala telefoniczna wdrożona dla Contact Center w \”pracy\”. Wszystkie rozmowy są nagrywane oraz archiwizowane, zgodnie z opracowaną polityką bezpieczeństwa.

\"\"

Bezpieczny Trixbox

Dzisiaj prezentujemy mały przewodnik, który przeprowadzi was przez zmianę haseł w domyślnej instalacji Trixbox\’a.

Unikamy nieszyfrowanego połączenia przez http:

Zmieniamy \"Listen 80\" na \"#Listen 80\" w pliku \"/etc/httpd/conf/httpd.conf\"

Zmieniamy domyślny port dla serwera https:

Zmieniamy \"Listen 443\" na \"Listen 12444\" w pliku \"/etc/httpd/conf.d/ssl.conf\"

oraz \”\” na \”\”

Zmieniamy domyśly port na jakim nasłuchuje panel:

Zamień linię \";listen_port=4445\" na \"listen_port=12555\" w pliku \"/var/www/html/panel/op_server.cfg\"

Zabezpieczenie SSH:

– zmiana portu
Zamień linię \"#Port 22\" na \"Port 12666\" w pliku \"/etc/ssh/sshd_config\"

-logowanie na roota
Zamień linię \"#PermitRootLogin yes\" na \"PermitRootLogin no\" w pliku \"/etc/ssh/sshd_config\"

Zmiana hasła roota:

passwd

Dodajemy użytkownika z prawami logowania przez SSH:

adduser nazwa_usera
passwd hasło_usera

Zabezpieczamy MySQL:

mysqladmin -u asteriskuser -p password nowe_super_bezpieczne_hasło

Kiedy zostaniemy poproszeni o hasełko wpisujemy \”amp109\” – jest to domyśle hasło w Trixboxie.

Następnie musimy wprowadzić nowe hasło do plików konfiguracyjnych:

Zamień hasło \"AMPDBPASS\" w pliku \"/etc/amportal.conf\"

Zamień hasło \”password\” w pliku \”/etc/asterisk/cdr_mysql.conf\”

Zamień hasło \”dbpass\” w pliku \”/etc/asterisk/res_mysql.conf\”

iptables, chronimy połączenia przychodzące inne niż:

– SIP
– SSH
– WEB
– FOP

Po zmianie Twojego zewnętrznego adresu IP z 111.222.111.222 w skrypcie, można go skopiować bezpośrednio do konsoli.

IPTABLES=/sbin/iptables
$IPTABLES -F
$IPTABLES -F INPUT; $IPTABLES -P INPUT ACCEPT; $IPTABLES -Z INPUT
$IPTABLES -F FORWARD; $IPTABLES -P FORWARD ACCEPT; $IPTABLES -Z FORWARD
$IPTABLES -F OUTPUT; $IPTABLES -P OUTPUT ACCEPT; $IPTABLES -Z OUTPUT
$IPTABLES -X
$IPTABLES -N ALEX-INPUT;
$IPTABLES -N REJECT-PKT;
$IPTABLES -N SYN-FLOOD;

$IPTABLES -A INPUT -j ALEX-INPUT
$IPTABLES -A ALEX-INPUT -i lo -j ACCEPT
$IPTABLES -A ALEX-INPUT -s 127.0.0.0/8 -j DROP
$IPTABLES -A ALEX-INPUT -d 127.0.0.0/8 -j DROP

$IPTABLES -A ALEX-INPUT -s 111.222.111.222 -j DROP

$IPTABLES -A ALEX-INPUT -p tcp -m tcp ! –syn -m state –state NEW -j DROP
$IPTABLES -A ALEX-INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A ALEX-INPUT -p icmp -m icmp –icmp-type ping -j ACCEPT

$IPTABLES -A ALEX-INPUT -p tcp -m tcp –dport 12444 -j ACCEPT
$IPTABLES -A ALEX-INPUT -p tcp -m tcp –dport 12555 -j ACCEPT
$IPTABLES -A ALEX-INPUT -p tcp -m tcp –dport 12666 -j ACCEPT
$IPTABLES -A ALEX-INPUT -p udp -m udp –dport 5060 -j ACCEPT
$IPTABLES -A ALEX-INPUT -p udp -m udp –dport 5061 -j ACCEPT
$IPTABLES -A ALEX-INPUT -p udp -m udp –dport 10000:20000 -j ACCEPT

$IPTABLES -A ALEX-INPUT -j REJECT-PKT

$IPTABLES -A REJECT-PKT -p tcp -m tcp -j REJECT –reject-with tcp-reset
$IPTABLES -A REJECT-PKT -p udp -m udp -j REJECT –reject-with icmp-port-unreachable
$IPTABLES -A REJECT-PKT -p icmp -m icmp –icmp-type ping -j REJECT –reject-with icmp-host-unreachable

Zapisujemy iptables poleceniem:

service iptables save

Ustawiamy bootowanie skryptu iptables, przy starcie systemu:

ln -s /etc/init.d/iptables /etc/rc3.d/S20iptables

Zmiana hasła maint-password:

passwd-maint

Wpisujemy nowe hasło dwukrotnie.

Zmiana hasła do FOP\’a:

Zamień \”FOPPASSWORD=passw0rd\” to \”FOPPASSWORD=nowe_super_bezpieczne_hasło\” w pliku \”/etc/amportal.conf\”

Zmieniamy hasło dla użytkownika admin na stronie z nagraniami (ARI):

Zaień linię $ARI_ADMIN_PASSWORD =\”ari_password\” na $ARI_ADMIN_PASSWORD =\”nowe_super_bezpieczne_hasło\” w pliku \”/var/www/html/recordings/includes/main.conf.php\”

Zmieniamy hasło do AMP-Managera:

Zamień \”AMPMGRPASS=amp111\” na \”AMPMGRPASS=nowe_super_bezpieczne_hasło\” w pliku /etc/amportal.conf

Zamień \”secret = amp111\” na \”secret = nowe_super_bezpieczne_hasło\” w pliku \”/etc/asterisk/manager.conf\”

Jak dostać się do Trixbox\’a?

User page: https://111.222.111.222:12444/user/

Maintanance page: https://111.222.111.222:12444/maint/ (user=maint, pass=nowe_super_bezpieczne_hasło)

FreePBX page: https://111.222.111.222:12444/admin/ (user=maint, pass=nowe_super_bezpieczne_hasło)

Recordings page: https://111.222.111.222:12444/recordings/ (user=admin, pass=nowe_super_bezpieczne_hasło)

SSH : login with nazwa_usera oraz hasło_usera następnie wykonaj polecenie \”su -\” oraz podaj swoje nowe_super_bezpieczne_hasło root\’a 😉

Na koniec, 9 rad dotyczących bezpieczeństwa central telefonicznych.