Настройка безопасности сервера биллинга и компонентов биллинга
Материал из BiTel WiKi
(Различия между версиями)
Admin (Обсуждение | вклад) (Новая: Некоторые общие советы по безопасности компонентов BGBilling. # Изменяйте пароли по умолчанию к базе данн...) |
Admin (Обсуждение | вклад) (→Порты) |
||
Строка 9: | Строка 9: | ||
== Порты == | == Порты == | ||
- | У каждого | + | У каждого серверного компонента (сервер биллинга, BGRadius.., BGIPNNetFlowCollector) биллинга есть порт управления, |
предназначен он для получения статуса работающего сервера и его остановки. Так, когда вы вызываете команду: | предназначен он для получения статуса работающего сервера и его остановки. Так, когда вы вызываете команду: | ||
<source lang="bash"> | <source lang="bash"> | ||
Строка 18: | Строка 18: | ||
порт открыт во внешнюю сеть. | порт открыт во внешнюю сеть. | ||
- | Ниже приведен перечень | + | Ниже приведен перечень серверных компонентов, их портов и рекомендаций по доступности порта: |
- | * BGBillingServer ( | + | * 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) | + | ** Порт управления ('''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''') | + | ** Порт управления ('''admin.port''' в '''radius.properties''') должен быть доступен только с машины, где запущен сервер. |
- | ** RADIUS порты ('''auth.port''', '''acct.port''', '''netflow.port''' в radius.properties) | + | ** RADIUS порты ('''auth.port''', '''acct.port''', '''netflow.port''' в radius.properties) должны быть доступны только NASам. |
+ | * BGIPNNetFlowCollector | ||
+ | ** Порт управления коллектором ('''port.admin''' в netflow_ipn.properties) должен быть доступен только с машины, где запущен коллектор, возможно открытие для других машин, в случае передачи с них команд по обработке логов. |
Версия 09:53, 11 июля 2008
Некоторые общие советы по безопасности компонентов BGBilling.
- Изменяйте пароли по умолчанию к базе данных, биллингу.
- Оставляйте открытыми только нужные порты и только для разрешенных хостов. См. ниже описание портов.
- Не выставляйте сервера с компонентами биллинга во внешнюю сеть. Держите их в локальной сети, обеспечивая доступ из вне. Для этого вы можете использовать Проксирование обращений к BGBillingServer посредством nginx (доступ к Web статистике) либо средствами файрволов на пограничных шлюзах(проброс RADIUS запросов, NetFlow, SNMP).
- Используйте проверку прав BGSecure, логирование запросов пользователей (отключено по-умолчанию), логирование запросов Web статистики.
- Сохраняйте старые 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) должен быть доступен только с машины, где запущен коллектор, возможно открытие для других машин, в случае передачи с них команд по обработке логов.