ติดตั้ง firewalld

root@voip:~# apt install firewalld

เช็ค status ว่า firewalld run อยู่หรือเปล่า

root@voip:~# systemctl status firewalld

เช็ค network interface

root@voip:~# ip a

network interface ที่ใช้อยู่ คือ enp4s0 และ IP address = 192.168.100.70

add interface เข้ากับ default zone

root@voip:~# firewall-cmd --add-interface=enp4s0 --permanent

root@voip:~# firewall-cmd --reload

root@voip:~# firewall-cmd --list-all

 

default zone = public

interfaces = enp4s0 ตามที่เราเพิ่มเข้าไป

default services = dhcpv6-client และ ssh

add web port, SIP port และ rtp port

root@voip:~# firewall-cmd --add-port=80/tcp --permanent

root@voip:~# firewall-cmd --add-port=5060/udp --permanent

root@voip:~# firewall-cmd --add-port=10000-20000/udp --permanent

root@voip:~# firewall-cmd --reload

root@voip:~# firewall-cmd --list-all

เป็นอันว่าเราเพิ่ม ports ต่างๆ เรียบร้อย

 

ขั้นตอนต่อไปติดตั้ง fail2ban

root@voip:~# apt install fail2ban

เช็ค status ว่า fail2ban run อยู่หรือเปล่า

root@voip:~# systemctl status fail2ban

Edit ไฟล์ /etc/fail2ban/jail.conf

set bantime ตามต้องการ เช่น bantime = 12h เป็นต้น

ตรง section [asterisk] edit ดังนี้

logpath = /var/log/asterisk/full

 

Edit ไฟล์ /etc/fail2ban/jail.d/defaults-debian.conf

ดังนี้

==============================

[sshd]

enabled = true

[asterisk]

enabled = true

[apache-auth]

enabled = true

[apache-badbots]

enabled = true

[apache-noscript]

enabled = true

[apache-overflows]

enabled = true

[apache-nohome]

enabled = true]

[apache-botsearch]

enabled = true

[apache-fakegooglebot]

enabled = true

[apache-modsecurity]

enabled = true

[apache-shellshock]

enabled = true

==============================

Restart fail2ban

root@voip:~# systemctl restart fail2ban

เช็ค status

root@voip:~# fail2ban-client status

root@voip:~# fail2ban-client status sshd

root@voip:~# fail2ban-client status asterisk

root@voip:~# fail2ban-client status apache-auth

...