Меры повышения безопасности
Если Elastix находится в открытом доступе, перечисленные в данном приложении мероприятия по защите станции жизненно необходимы. Без должной защиты через несколько недель или месяцев станция будет взломана и начнет использоваться злоумышленниками для звонков за счет вашей компании.
Для Elastix, установленных в локальной сети предприятия, описанные ниже меры не столь критичны, но настоятельно рекомендуются. Не забывайте про компьютеры пользователей – наличие антивирусов не спасает компьютеры от заражения и рано или поздно они станут источником взлома станции. Для взломщиков станция из локальной сети представляет не меньший интерес – злоумышленники получат пароли подключения к вашим провайдерам и будут использовать их услуги за Ваш счет.
Кроме описанных ниже настроек рекомендую приобрести и установить дополнение Anti-Hacker. Дополнение стоит $15 и позволяет существенно упростить процесс настройки защиты, защищая Elastix от атак «грубой силы» – атак, перебирающих пароли. Конечно, из чисто спортивного интереса можно самостоятельно настроить Fail2ban, но практичнее приобрести и настроить Anti-Hacker, проделать описанные ниже настройки по изменению портов используемых сервисов и активировать FireWall, встроенный в Elastix.
Дополнительную информацию по защите Elastix и его компонентов не сложно найти в Интернет. Например, полезно, в дополнение к описанному ниже, прочитать:
• «9 правил, как защитить свой Asterisk» ()
• «Семь шагов по улучшению безопасности Asterisk» ()
• «Грабли, или 5 типичных ошибок настройки Asterisk ()
Усложнение перебора паролей
Рекомендуется включать опцию Asterisk «alwaysauthreject=yes», чтобы усложнить задачу злоумышленников по подбору паролей. В Elastix эта опция активируется через WEB-интерфейс. Зайдите в меню PBX\Tools\Asterisk File Editor, найдите файл «sip_general_custom.conf», нажмите на него и добавьте в него «alwaysauthreject=yes»:
Установка и настройка дополнения Anti-Hacker
Установка и настройка модуля требует лишь пары минут:
• откройте WEB-панель управления Elastix
• откройте закладку Addons
• дождитесь загрузки списка доступных дополнений
• нажмите BUY напротив дополнения Anti-Hacker
• откройте закладку Anto-Hacker в разделе Security
• настройте параметры модуля, загрузите полученный ключ лицензии, нажмите Update
• запустите службу Anti-Hacker, нажав Service Start
Чтобы убедиться, что деньги на защиту потрачены не зря, зайдите на закладку Anti-Hacker через месяц, оцените количество попыток добраться до ваших секретов. Если станция установлена в корпоративной сети и недоступна извне, скорее всего, список заблокированных адресов будет пуст, но лучше и в этом случае не экономить на спичках – однажды хакеры задействуют свою бот-нет из зараженных компьютеров, среди которых могут оказаться компьютеры и вашей сети.
Защита консольного доступа по SSH
Подключитесь к Elastix через SSH-соединение как пользователь root и создайте пользователя, например, «admin1», назначьте пароль, предоставьте пользователю необходимый доступ:
groupadd sudoers
adduser – G sudoers admin1
passwd admin1
echo '%sudoers ALL = (ALL) ALL' >>/etc/sudoers
sed – i '2i\PATH=$PATH:/sbin:/usr/sbin' /home/admin1/.bashrc
Откройте файл настроек SSH
mcedit /etc/ssh/sshd_config
Добавьте список пользователей, которым позволено управлять сервером по SSH, и их IP-адреса, с которых разрешено подключаться для управления сервером по SSH.
Port 11122
PermitRootLogin no
Если Вы не используйте GSS API (например, для авторизации через Active Directory), можно отключить этот протокол, чтобы SSH подключался быстрее:
GSSAPIAuthentication no
Перезапустите службу SSH:
service sshd restart
Подключитесь к системе как пользователь admin1:
Подключившись к системе настройте сетевую переменную $PATH:
nano.bash_profile
измените строку PATH следующим образом:
PATH=$PATH:$HOME/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
сохраните изменения. Теперь подключайтесь к АТС только как admin1, забудьте про пользователя root. Для выполнения команд, требующих полных прав к системе используйте префикс «sudo» перед командами. Например, «sudo service asterisk restart».
Защита доступа к WEB-интерфейсу
Откройте основной файл настроек HTTP
sudo mcedit /etc/httpd/conf/httpd.conf
Измените порт и ограничьте доступ:
Listen 11180 #вместо Listen 80
#замените:
# Order Allow, Deny
# Deny from All
#на свои адреса:
Order Deny,Allow
Deny from All
Allow from 127.0.0.1::1
Allow from 123.123.123.123 # Office #1
Allow from 123.124.125.126 # Office #2
Allow from 123.124.125.127 # Admin's home
Откройте файл настроек SSL
sudo mcedit /etc/httpd/conf.d/ssl.conf
Измените порт:
Listen 11188 #вместо Listen 443
<VirtualHost _default_:11188>
Откройте файл настроек сайта управления Elastix
sudo mcedit /etc/httpd/conf.d/elastix-htaccess.conf
добавьте адреса, с которых позволяется подключаться к станции:
<Directory "/var/www/html/admin">
Order Deny,Allow
Deny from All
Allow from 127.0.0.1::1
Allow from 123.123.123.123 # Office #1
Allow from 123.124.125.126 # Office #2
Allow from 123.124.125.127 # Admin's home
AllowOverride All
</Directory>
<Directory "/var/www/html/mail">
Order Deny,Allow
Deny from All
Allow from 127.0.0.1::1
Allow from 123.123.123.123 # Office #1
Allow from 123.124.125.126 # Office #2
Allow from 123.124.125.127 # Admin's home
AllowOverride All
</Directory>
<Directory "/var/www/html/panel">
Order Deny,Allow
Deny from All
Allow from 127.0.0.1::1
Allow from 123.123.123.123 # Office #1
Allow from 123.124.125.126 # Office #2
Allow from 123.124.125.127 # Admin's home
AllowOverride All
</Directory>
<Directory "/var/www/html/vtigercrm">
Order Deny,Allow
Deny from All
</Directory>
Перезапустите службу HTTPD:
sudo service httpd restart
Защита портов через Firewall
Меню Security доступно в раскрывающемся списке
Исправьте порты для сервисов SSH,HTTPS на закладке Define Ports,View,Edit на те, которые были использованы в файлах /etc/ssh/sshd_config и /etc/httpd/conf/httpd.conf:
Активируйте Firewall:
Отключите неиспользуемые порты (обычно это HTTP, TFTP, SMTP, POP3, IMAP, IMAPS, POP3S), и примените изменения, нажав кнопку «Save»:
Порт TFTP используется для централизованной настройки телефонов (Autoprovisioning) в разделе Batch Configuration. Без доработки работает только при установке Elastix в локальной сети, где установлены телефоны. При установке сервера в Дата-центре TFTP лучше отключить.
Также крайне желательно ограничить (
) подключения по протоколам SSH,HTTPS только из определенных сетей или с определенных IP-адресов. Это существенно уменьшит возможности для взлома вашей станции:
Где «1.2.3.4» – это адрес, с которого будет доступно подключение к сервису на «Destination Port», а «32» – это маска, означающая единственный адрес.