Настройка безопасности сервера биллинга и компонентов биллинга
Материал из BiTel WiKi
Некоторые общие советы по безопасности компонентов BGBilling.
- Изменяйте пароли по умолчанию к базе данных, биллингу.
- Оставляйте открытыми только нужные порты и только для разрешенных хостов. См. ниже описание портов.
- Не выставляйте сервера с компонентами биллинга во внешнюю сеть. Держите их в локальной сети, обеспечивая доступ из вне. Для этого вы можете использовать Проксирование обращений к BGBillingServer посредством nginx (доступ к Web статистике) либо средствами файрволов на пограничных шлюзах(проброс RADIUS запросов, NetFlow, SNMP). Для доступа со стороны сервера биллинга наружу используйте NAT на пограничных шлюзах.
- Используйте проверку прав BGSecure, логирование запросов пользователей (отключено по-умолчанию), логирование запросов Web статистики.
- Сохраняйте старые access.log в BGBillingServer/log для возможного разбора задним числом.
Порты
У каждого серверного компонента (сервер биллинга, 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) должен быть доступен только роутерам, передающим потоки на коллектор.