BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 24 июн 2025, 01:56

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
 Заголовок сообщения: Настройка iptables
СообщениеДобавлено: 26 июн 2008, 15:47 
Пытаюсь ограничить доступ к биллингу.
Делаю так:

/usr/sbin/iptables -A INPUT -i eth1 -p TCP -s 10.0.0.0/8 --dport 8080 -m string --string ! "bgbilling" --algo kmp -j ACCEPT
/usr/sbin/iptables -A INPUT -i eth1 -p TCP -s 10.0.0.0/8 --dport 8080 -m string --string "POST /bgbilling/webexecuter HTTP/1.1" --algo kmp -j ACCEPT
/usr/sbin/iptables -A INPUT -i eth1 -p TCP -s 10.0.0.0/8 --dport 8080 -m string --string "GET /bgbilling/webexecuter" --algo kmp -j ACCEPT
/usr/sbin/iptables -A INPUT -i eth1 -p TCP -s 10.0.0.0/8 --dport 8080 -m string --string "GET /bgbilling/pubexecuter" --algo kmp -j ACCEPT
/usr/sbin/iptables -A INPUT -i eth1 -p TCP -s 10.0.2.0/24 --dport 8080 -m string --string "POST /bgbilling/executer HTTP/1.1" --algo kmp -j ACCEPT
/usr/sbin/iptables -A INPUT -i eth1 -p TCP -s 10.0.2.0/24 --dport 8080 -m string --string "GET /bgbilling/executer" --algo kmp -j ACCEPT
/usr/sbin/iptables -A INPUT -i eth1 -p TCP -s 10.0.0.0/8 --dport 8080 -j LOGDENY_BGB

10.0.0.0/8 - доступ к серверу статистики
10.0.2.0/24 - доступ к биллингу через BGBillingClient.

При этом сервер статистики работает нормально.
В BGBillingClient основные вещи работают. Но когда я выбираю Сервис->CRM BGBillingClient зависает.
Прошу подсказать какие правила в iptables мне еще надо добавить.

Возможно мой подход в корне неверный, но других возможностей для ограничения доступа я не нашел.

Спасибо.


Вернуться к началу
  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 27 июн 2008, 19:42 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
lda писал(а):

Возможно мой подход в корне неверный, но других возможностей для ограничения доступа я не нашел.

Спасибо.


более идеологически правильным будет использовать nginx . CRM не делает никаких нестандартных обращений
пример настройки nginx :
http://wiki.bgbilling.ru/index.php/%D0% ... 0%BC_nginx


Последний раз редактировалось stark 27 июн 2008, 19:45, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 июн 2008, 23:19 
Спасибо конечно...
Я не силен в nginx, но предполагаю что вы предлагаете реверсивный прокси сервер (поправьте если я неправ).
Реверсивный прокси можно конечно поставить, но это тоже не совсем правильный способ. Так как в логах биллинга все запросы буду от IP прокси. Конечно можно вести логи и на проксе... Кроме того городить дополнительный сервис в сети не очень хорошо.

Думаю что стоит попросить разработчиков биллинга подумать над решением этой проблемы средствами биллинга.
Но это уже другая тема...


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2008, 09:58 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
nginx может передавать HTTP заголовок с реальным IP адресом.
А биллинг может его извлекать и использовать :) (логирование запросов, проверка по адресу в модуле карт).
Укажите в конфигурации сервера:
Код:
header.name.remote.addr=X-Real-IP

P.S. В документацию это не попало, включил для 4.5


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 июл 2008, 13:09 
Спасибо, попробую.


Вернуться к началу
  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 02 окт 2009, 13:33 
Поднимаю тему, так как автор не отписался о результатах и уменя сейчас аналогичная идея. Вопрос в том, были ли добавлены какие-нибудь возможности управления доступом к серверу биллинга в последних версиях BGB или по прежнему оптимальным является проксирование через nginx? Задача проста- нужно разрешить доступ к серверу адресам по маске, всем остальным запретить.


Вернуться к началу
  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 02 окт 2009, 14:27 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
использовние nginx или подобного сервера крайне ЖЕЛАТЕЛЬНО, т.к. это позволяет не только разграничить доступ, модифицировать URL, но и снизить НАГРУЗКУ на сервер

читать
http://ospf-ripe.livejournal.com/754.html
http://ru.wikipedia.org/wiki/Nginx


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: 19 янв 2010, 19:22 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Администратор писал(а):
nginx может передавать HTTP заголовок с реальным IP адресом.
А биллинг может его извлекать и использовать :) (логирование запросов, проверка по адресу в модуле карт).
Укажите в конфигурации сервера:
Код:
header.name.remote.addr=X-Real-IP

P.S. В документацию это не попало, включил для 4.5



у меня header.name.remote.addr=X-Real-IP прописано в Сервис/Настройка/Конфигурация, но все равно в логах IP nginx'а, а не клиента. Что еще надо поправить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 12 мар 2010, 19:25 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
конфиг nginx покажите...

Код:
proxy_set_header X-Real-IP $remote_addr;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: 12 мар 2010, 19:28 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
survivor писал(а):
у меня header.name.remote.addr=X-Real-IP прописано в Сервис/Настройка/Конфигурация, но все равно в логах IP nginx'а, а не клиента. Что еще надо поправить?


о каких логах идет речь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: 15 мар 2010, 14:19 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
skn писал(а):
survivor писал(а):
у меня header.name.remote.addr=X-Real-IP прописано в Сервис/Настройка/Конфигурация, но все равно в логах IP nginx'а, а не клиента. Что еще надо поправить?


о каких логах идет речь?



access_log - все обращения к домашнему кабинету через nginx выглядят так:

<IP NGINX'А> 7D8E369390923C8FC89D74A795BB3F18 [15/Mar/2010:12:17:40 +0400] 0.020 200 4914 "GET /bgbilling/webexecuter HTTP/1.0"
<IP NGINX'А> 7D8E369390923C8FC89D74A795BB3F18 [15/Mar/2010:12:17:40 +0400] 0.000 200 16800 "GET /bgbilling/style.css HTTP/1.0"
<IP NGINX'А> 7D8E369390923C8FC89D74A795BB3F18 [15/Mar/2010:12:17:40 +0400] 0.003 200 42689 "GET /bgbilling/img/bg.gif HTTP/1.0"
<IP NGINX'А> 7D8E369390923C8FC89D74A795BB3F18 [15/Mar/2010:12:17:40 +0400] 0.000 200 3007 "GET /bgbilling/img/logo.png HTTP/1.0"
<IP NGINX'А> 7D8E369390923C8FC89D74A795BB3F18 [15/Mar/2010:12:17:40 +0400] 0.000 200 95 "GET /bgbilling/img/skos.gif HTTP/1.0"
<IP NGINX'А> 7D8E369390923C8FC89D74A795BB3F18 [15/Mar/2010:12:17:45 +0400] 0.065 200 7182 "POST /bgbilling/webexecuter HTTP/1.0" midAuth=1&pswd=<PASSWORD>&user=<USERNAME>&
<IP NGINX'А> 7D8E369390923C8FC89D74A795BB3F18 [15/Mar/2010:12:17:45 +0400] 0.000 200 52 "GET /bgbilling/img/strelki.gif HTTP/1.0"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 15 мар 2010, 16:13 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
http://www.sysoev.ru/nginx/docs/http/ng ... odule.html - изучали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 16 мар 2010, 15:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
skn писал(а):
http://www.sysoev.ru/nginx/docs/http/ngx_http_realip_module.html - изучали?


Спасибо за ссылку - изучил. Пересобрал и переустановил nginx. В логах все тоже самое...
Делал по вики. Вот конфиг:

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';


sendfile on;

keepalive_timeout 65;

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Real-IP;


gzip on;

server {
listen 443;
server_name cabinet.provider.net;

server_tokens off;

ssl on;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;

charset windows-1251;

client_max_body_size 10m;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Connection close;
proxy_read_timeout 60;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
proxy_intercept_errors on;

rewrite ^/$ /web/cabinet last;
rewrite ^/(.*)$ /web/$1 last;


location ~ /\.ht {
deny all;
}

location /web/executer {
deny all;
}

location /web/dealer {
deny all;
}

location /web/idealer {
deny all;
}

location ~ ^.*/web/mpsexecuter {
deny all;
}

location ~ ^.*/web/webexecuter {
deny all;
}

location /web {
rewrite ^/web/cabinet$ /bgbilling/webexecuter break;
rewrite ^/web/balance$ /bgbilling/balance_sender break;
rewrite ^/web/error$ /bgbilling/pubexecuter break;

proxy_pass http://BILLING-IP:8080/bgbilling;

proxy_redirect http://BILLING-IP:8080/bgbilling https://cabinet.provider.net/web;
}

location / {
#root /usr/local/nginx/html;

rewrite ^/(.*)$ https://cabinet.provider.net/web/cabinet permanent;
index index.html;
}

error_page 404 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/nginx/html;
}
}


server {
listen 80 default;
server_name cabinet.provider.net;

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Real-IP;

server_tokens off;

charset windows-1251;

client_max_body_size 10m;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Connection close;
proxy_read_timeout 60;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
proxy_intercept_errors on;

rewrite ^/$ /web/cabinet last;
rewrite ^/(.*)$ /web/$1 last;

location ~ /\.ht {
deny all;
}

location /web/executer {
deny all;
}

location /web/dealer {
deny all;
}

location /web/idealer {
deny all;
}

location ~ ^.*/web/mpsexecuter {
deny all;
}

location ~ ^.*/web/webexecuter {
deny all;
}

location /web {
rewrite ^/web/cabinet$ /bgbilling/webexecuter break;
rewrite ^/web/balance$ /bgbilling/balance_sender break;
rewrite ^/web/error$ /bgbilling/pubexecuter break;

proxy_pass http://BILLING-IP:8080/bgbilling;

proxy_redirect http://BILLING-IP:8080/bgbilling http://cabinet.provider.net/web;
}

location / {
#root /usr/local/nginx/html;

rewrite ^/(.*)$ http://cabinet.provider.net/web/cabinet permanent;
index index.html;
}

error_page 404 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/nginx/html;
}

# location / {
# rewrite ^/(.*)$ https://cabinet.provider.net/$1 permanent;
# allow all;
# }
}
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 17 мар 2010, 16:06 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
обычно делается так:

1) сервер биллинга стоит во внутреней сети провайдера
2) доступ к биллингу пользователей идет по локальной сети и их ИП есть в логах (access_log биллинга)
3) запросы от клиентов (в личный веб кабинет) идут через nginx (соответственно их логи обращений надо смотреть не в биллинге, а в nginx логах (access_log nginx) ) + логи запросов клиетов доступны из самого биллинга (там фигурирует реальный ИП) (см. в договоре в клиенте биллинга)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 25 мар 2010, 21:01 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
skn писал(а):
обычно делается так:

1) сервер биллинга стоит во внутреней сети провайдера
2) доступ к биллингу пользователей идет по локальной сети и их ИП есть в логах (access_log биллинга)
3) запросы от клиентов (в личный веб кабинет) идут через nginx (соответственно их логи обращений надо смотреть не в биллинге, а в nginx логах (access_log nginx) ) + логи запросов клиетов доступны из самого биллинга (там фигурирует реальный ИП) (см. в договоре в клиенте биллинга)


1) ну.. и у меня так
2) ? зачем тогда nginx - если пользователи будут ходить напрямую в биллинг???!!!
3) да, запросы от клиентов идут в nginx, в его логах видны реальные адреса клиентов, а nginx обращается в биллинг и уже в логах биллинга все запросы идут от адреса nginx'а (в этом собственно и суть проблемы). Причем тут IP пользователя из договора? Мы опять друг друга не понимаем.

Для чего нужны логи - допустим кто-то сменил пароль через кабинет, в логах БИЛЛИНГА нахожу соответствующие действия для данного договора и вижу IP nginx'а... а должен видеть IP того, кто это сделал через nginx. Можно конечно запомнить время и искать в логах nginx'а за эту дату похожие действия, чтобы определить реальный IP злоумышленника.... но давайте не будем квадратное сувать в круглое и т.д. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 09 май 2013, 01:00 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
survivor писал(а):
skn писал(а):
2) ? зачем тогда nginx - если пользователи будут ходить напрямую в биллинг???!!!
3) да, запросы от клиентов идут в nginx, в его логах видны реальные адреса клиентов, а nginx обращается в биллинг и уже в логах биллинга все запросы идут от адреса nginx'а (в этом собственно и суть проблемы). Причем тут IP пользователя из договора? Мы опять друг друга не понимаем.

Для чего нужны логи - допустим кто-то сменил пароль через кабинет, в логах БИЛЛИНГА нахожу соответствующие действия для данного договора и вижу IP nginx'а... а должен видеть IP того, кто это сделал через nginx. Можно конечно запомнить время и искать в логах nginx'а за эту дату похожие действия, чтобы определить реальный IP злоумышленника.... но давайте не будем квадратное сувать в круглое и т.д. :)


2) через nginx ходят клиенты , а пользователи (сотрудники провайдера) могут и напрямую ходить так как они во тоже во внутреней сети.
3) в биллинге в карточке договора (в дереве) есть раздел web, в нем логи входов клиентов в ЛК, вот там выводиться IP с которого зашел клиент (он берется из заголовка X-Real-Ip, если он настроен)

если в ЛК все клиенты ходят через nginx, то и искать лучше в логах nginx, а не биллинга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 09 май 2013, 01:26 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
skn писал(а):
2) через nginx ходят клиенты , а пользователи (сотрудники провайдера) могут и напрямую ходить так как они во тоже во внутреней сети.

Вот в том то и прикол, что не всегда :)

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 09 май 2013, 04:15 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
Phricker писал(а):
skn писал(а):
2) через nginx ходят клиенты , а пользователи (сотрудники провайдера) могут и напрямую ходить так как они во тоже во внутреней сети.

Вот в том то и прикол, что не всегда :)


клиенты ходят из внутрений сети ??? :shock:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 09 май 2013, 12:19 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Нет. Пользователи ходят извне :)

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка iptables
СообщениеДобавлено: 11 май 2013, 03:23 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
Phricker писал(а):
Нет. Пользователи ходят извне :)


пользователи ходят в ЛК??? :shock:


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.086s | 48 Queries | GZIP : On ]