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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Порты)
 
(1 промежуточная версия не показана)
Строка 2: Строка 2:
# Изменяйте пароли по умолчанию к базе данных, биллингу.
# Изменяйте пароли по умолчанию к базе данных, биллингу.
# Оставляйте открытыми только нужные порты и только для разрешенных хостов. См. ниже описание портов.
# Оставляйте открытыми только нужные порты и только для разрешенных хостов. См. ниже описание портов.
-
# Не выставляйте сервера с компонентами биллинга во внешнюю сеть. Держите их в локальной сети, обеспечивая доступ из вне. Для этого вы можете использовать [[Проксирование обращений к BGBillingServer посредством nginx]] (доступ к Web статистике) либо средствами файрволов на пограничных шлюзах(проброс RADIUS запросов, NetFlow, SNMP).
+
# Не выставляйте сервера с компонентами биллинга во внешнюю сеть. Держите их в локальной сети, обеспечивая доступ из вне. Для этого вы можете использовать [[Проксирование обращений к BGBillingServer посредством nginx]] (доступ к Web статистике) либо средствами файрволов на пограничных шлюзах(проброс RADIUS запросов, NetFlow, SNMP). Для доступа со стороны сервера биллинга наружу используйте NAT на пограничных шлюзах.
# Используйте проверку прав BGSecure, логирование запросов пользователей (отключено по-умолчанию), логирование запросов Web статистики.
# Используйте проверку прав BGSecure, логирование запросов пользователей (отключено по-умолчанию), логирование запросов Web статистики.
# Сохраняйте старые access.log в BGBillingServer/log для возможного разбора задним числом.
# Сохраняйте старые access.log в BGBillingServer/log для возможного разбора задним числом.
-
 
-
TODO: Описать примеры организации пробросов для iptables, ipfw.
 
== Порты ==
== Порты ==
Строка 33: Строка 31:
* BGIPNNetFlowCollector
* BGIPNNetFlowCollector
** Порт управления коллектором ('''port.admin''' в netflow_ipn.properties) должен быть доступен только с машины, где запущен коллектор, возможно открытие для других машин, в случае передачи с них команд по обработке логов.
** Порт управления коллектором ('''port.admin''' в netflow_ipn.properties) должен быть доступен только с машины, где запущен коллектор, возможно открытие для других машин, в случае передачи с них команд по обработке логов.
 +
** NetFlow порт ('''port.netflow''' в netflow_ipn.properties) должен быть доступен только роутерам, передающим потоки на коллектор.

Текущая версия на 10:03, 11 июля 2008

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

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