Настройка безопасности сервера биллинга и компонентов биллинга

Материал из BiTel WiKi

Перейти к: навигация, поиск

Некоторые общие советы по безопасности компонентов BGBilling.

  1. Изменяйте пароли по умолчанию к базе данных, биллингу.
  2. Оставляйте открытыми только нужные порты и только для разрешенных хостов. См. ниже описание портов.
  3. Не выставляйте сервера с компонентами биллинга во внешнюю сеть. Держите их в локальной сети, обеспечивая доступ из вне. Для этого вы можете использовать Проксирование обращений к BGBillingServer посредством nginx (доступ к Web статистике) либо средствами файрволов на пограничных шлюзах(проброс RADIUS запросов, NetFlow, SNMP).
  4. Используйте проверку прав BGSecure, логирование запросов пользователей (отключено по-умолчанию), логирование запросов Web статистики.
  5. Сохраняйте старые access.log в BGBillingServer/log для возможного разбора задним числом.

TODO: Описать примеры организации пробросов для iptables, ipfw.

Порты

У каждого серверного компонента (сервер биллинга, BGRadius.., BGIPNNetFlowCollector) биллинга есть порт управления, предназначен он для получения статуса работающего сервера и его остановки. Так, когда вы вызываете команду:

./server_stop.sh

то запускается процесс, который на адрес 127.0.0.1 передает на порт управления (параметр port.admin в data.properties) команду stop. Соответственно, любой злоумышленник может запросом на этот порт остановить ваш сервер, если порт открыт во внешнюю сеть.

Ниже приведен перечень серверных компонентов, их портов и рекомендаций по доступности порта:

  • BGBillingServer (включает 3 приложения - сервер биллинга, планировщик, загрузчик логов, обычно все запущено на одной машине)
    • HTTP порт сервера биллинга (port.http в data.properties), из внешней сети должен быть доступен через Проксирование обращений к BGBillingServer посредством nginx, пропускать обращения только на разрешенные сервлеты, также должен быть доступен машине с сервером биллинга.
    • HTTPS порт сервера биллинга (port.https в data.properties) - те же рекомендации, HTTPS позволяет скрыть трафик сервер-клиент даже в пределах локальной сети.
    • Порт управления сервером (port.admin в data.properties), должен быть доступен только с машины где запущен сервер.
    • Порт управления загрузчиком логов (9033 по умолчанию, может быть изменен в строке запуска в data_loader.sh). Должен быть доступен только с машины, где запущен загрузчик логов, возможно открытие для других машин, в случае передачи с них команд инициации загрузки логов.
    • Порт управления планировщиком (9066 по умолчанию, может быть изменен в строке запуска в scheduler.sh). Должен быть доступен только с машины, где запущен планировщик.
  • BGRadiusDialup
    • Порт управления (admin.port в radius.properties) должен быть доступен только с машины с сервером биллинга (сброс соединений через монитор), и с машины BGRadiusDialUp.
    • RADIUS порты, NetFlow порты (auth.port, acct.port, netflow.port в radius.properties) - должны быть доступны только NASам.
  • BGRadiusVoip
    • Порт управления (admin.port в radius.properties) должен быть доступен только с машины, где запущен сервер.
    • RADIUS порты (auth.port, acct.port, netflow.port в radius.properties) должны быть доступны только NASам.
  • BGIPNNetFlowCollector
    • Порт управления коллектором (port.admin в netflow_ipn.properties) должен быть доступен только с машины, где запущен коллектор, возможно открытие для других машин, в случае передачи с них команд по обработке логов.
    • NetFlow порт (port.netflow в netflow_ipn.properties) должен быть доступен только роутерам, передающим потоки на коллектор.
Личные инструменты