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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: Некоторые общие советы по безопасности компонентов BGBilling. # Изменяйте пароли по умолчанию к базе данн...)
(Порты)
Строка 9: Строка 9:
== Порты ==
== Порты ==
-
У каждого сервера (BGBillingServer, BGRadius.., BGIPNNetFlowCollector) биллинга есть порт управления,  
+
У каждого серверного компонента (сервер биллинга, BGRadius.., BGIPNNetFlowCollector) биллинга есть порт управления,  
предназначен он для получения статуса работающего сервера и его остановки. Так, когда вы вызываете команду:
предназначен он для получения статуса работающего сервера и его остановки. Так, когда вы вызываете команду:
<source lang="bash">
<source lang="bash">
Строка 18: Строка 18:
порт открыт во внешнюю сеть.  
порт открыт во внешнюю сеть.  
-
Ниже приведен перечень серверов, их портов и рекомендаций по доступности порта:
+
Ниже приведен перечень серверных компонентов, их портов и рекомендаций по доступности порта:
-
* BGBillingServer (в каталоге запускаются 3 процесса - сервер, планировщик, загрузчик логов)
+
* BGBillingServer (включает 3 приложения - сервер биллинга, планировщик, загрузчик логов, обычно все запущено на одной машине)
-
** HTTP порт ('''port.http''' в data.properties), из внешней сети должен быть доступен через [[Проксирование обращений к BGBillingServer посредством nginx]], пропускать обращения только на разрешенные сервлеты.
+
** HTTP порт сервера биллинга ('''port.http''' в data.properties), из внешней сети должен быть доступен через [[Проксирование обращений к BGBillingServer посредством nginx]], пропускать обращения только на разрешенные сервлеты, также должен быть доступен машине с сервером биллинга.
 +
** HTTPS порт сервера биллинга (port.https в data.properties) - те же рекомендации, HTTPS позволяет скрыть трафик сервер-клиент даже в пределах локальной сети.
** Порт управления сервером ('''port.admin''' в data.properties), должен быть доступен только с машины где запущен сервер.
** Порт управления сервером ('''port.admin''' в data.properties), должен быть доступен только с машины где запущен сервер.
-
** Порт управления загрузчиком логов (9033 по умолчанию, может быть изменен в строке запуска в data_loader.sh). Должен быть доступен только с машины, где запущен загрузчик логов, возможно открытие для внешних машин, в случае передачи с них команд инициации загрузки логов.
+
** Порт управления загрузчиком логов (9033 по умолчанию, может быть изменен в строке запуска в data_loader.sh). Должен быть доступен только с машины, где запущен загрузчик логов, возможно открытие для других машин, в случае передачи с них команд инициации загрузки логов.
** Порт управления планировщиком (9066 по умолчанию, может быть изменен в строке запуска в scheduler.sh). Должен быть доступен только с машины, где запущен планировщик.
** Порт управления планировщиком (9066 по умолчанию, может быть изменен в строке запуска в scheduler.sh). Должен быть доступен только с машины, где запущен планировщик.
* BGRadiusDialup
* BGRadiusDialup
-
** Порт управления ('''admin.port''' в radius.properties), должен быть доступен только с машины с BGRadiusServer (сброс соединений через монитор), и с машины BGRadiusDialUp.
+
** Порт управления ('''admin.port''' в radius.properties) должен быть доступен только с машины с сервером биллинга (сброс соединений через монитор), и с машины BGRadiusDialUp.
** RADIUS порты, NetFlow порты ('''auth.port''', '''acct.port''', '''netflow.port''' в radius.properties) - должны быть доступны только NASам.
** RADIUS порты, NetFlow порты ('''auth.port''', '''acct.port''', '''netflow.port''' в radius.properties) - должны быть доступны только NASам.
* BGRadiusVoip
* BGRadiusVoip
-
** Порт управления ('''admin.port''' в '''radius.properties'''), должен быть доступен только с машины BGRadiusVoip.
+
** Порт управления ('''admin.port''' в '''radius.properties''') должен быть доступен только с машины, где запущен сервер.
-
** RADIUS порты ('''auth.port''', '''acct.port''', '''netflow.port''' в radius.properties) - должны быть доступны только NASам.
+
** RADIUS порты ('''auth.port''', '''acct.port''', '''netflow.port''' в radius.properties) должны быть доступны только NASам.
 +
* BGIPNNetFlowCollector
 +
** Порт управления коллектором ('''port.admin''' в netflow_ipn.properties) должен быть доступен только с машины, где запущен коллектор, возможно открытие для других машин, в случае передачи с них команд по обработке логов.

Версия 09:53, 11 июля 2008

Некоторые общие советы по безопасности компонентов 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) должен быть доступен только с машины, где запущен коллектор, возможно открытие для других машин, в случае передачи с них команд по обработке логов.
Личные инструменты