forum.bitel.ru http://forum.bitel.ru/ |
|
Настройка iptables http://forum.bitel.ru/viewtopic.php?f=22&t=1253 |
Страница 1 из 1 |
Автор: | lda [ 26 июн 2008, 15:47 ] |
Заголовок сообщения: | Настройка iptables |
Пытаюсь ограничить доступ к биллингу. Делаю так: /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 мне еще надо добавить. Возможно мой подход в корне неверный, но других возможностей для ограничения доступа я не нашел. Спасибо. |
Автор: | stark [ 27 июн 2008, 19:42 ] |
Заголовок сообщения: | Re: Настройка iptables |
lda писал(а): Возможно мой подход в корне неверный, но других возможностей для ограничения доступа я не нашел. Спасибо. более идеологически правильным будет использовать nginx . CRM не делает никаких нестандартных обращений пример настройки nginx : http://wiki.bgbilling.ru/index.php/%D0% ... 0%BC_nginx |
Автор: | lda [ 27 июн 2008, 23:19 ] |
Заголовок сообщения: | |
Спасибо конечно... Я не силен в nginx, но предполагаю что вы предлагаете реверсивный прокси сервер (поправьте если я неправ). Реверсивный прокси можно конечно поставить, но это тоже не совсем правильный способ. Так как в логах биллинга все запросы буду от IP прокси. Конечно можно вести логи и на проксе... Кроме того городить дополнительный сервис в сети не очень хорошо. Думаю что стоит попросить разработчиков биллинга подумать над решением этой проблемы средствами биллинга. Но это уже другая тема... |
Автор: | Администратор [ 30 июн 2008, 09:58 ] |
Заголовок сообщения: | |
nginx может передавать HTTP заголовок с реальным IP адресом. А биллинг может его извлекать и использовать ![]() Укажите в конфигурации сервера: Код: header.name.remote.addr=X-Real-IP
P.S. В документацию это не попало, включил для 4.5 |
Автор: | lda [ 02 июл 2008, 13:09 ] |
Заголовок сообщения: | |
Спасибо, попробую. |
Автор: | SPY [ 02 окт 2009, 13:33 ] |
Заголовок сообщения: | Re: Настройка iptables |
Поднимаю тему, так как автор не отписался о результатах и уменя сейчас аналогичная идея. Вопрос в том, были ли добавлены какие-нибудь возможности управления доступом к серверу биллинга в последних версиях BGB или по прежнему оптимальным является проксирование через nginx? Задача проста- нужно разрешить доступ к серверу адресам по маске, всем остальным запретить. |
Автор: | skn [ 02 окт 2009, 14:27 ] |
Заголовок сообщения: | Re: Настройка iptables |
использовние nginx или подобного сервера крайне ЖЕЛАТЕЛЬНО, т.к. это позволяет не только разграничить доступ, модифицировать URL, но и снизить НАГРУЗКУ на сервер читать http://ospf-ripe.livejournal.com/754.html http://ru.wikipedia.org/wiki/Nginx |
Автор: | survivor [ 19 янв 2010, 19:22 ] |
Заголовок сообщения: | Re: |
Администратор писал(а): nginx может передавать HTTP заголовок с реальным IP адресом. А биллинг может его извлекать и использовать ![]() Укажите в конфигурации сервера: Код: header.name.remote.addr=X-Real-IP P.S. В документацию это не попало, включил для 4.5 у меня header.name.remote.addr=X-Real-IP прописано в Сервис/Настройка/Конфигурация, но все равно в логах IP nginx'а, а не клиента. Что еще надо поправить? |
Автор: | skn [ 12 мар 2010, 19:25 ] |
Заголовок сообщения: | Re: Настройка iptables |
конфиг nginx покажите... Код: proxy_set_header X-Real-IP $remote_addr;
|
Автор: | skn [ 12 мар 2010, 19:28 ] |
Заголовок сообщения: | Re: Re: |
survivor писал(а): у меня header.name.remote.addr=X-Real-IP прописано в Сервис/Настройка/Конфигурация, но все равно в логах IP nginx'а, а не клиента. Что еще надо поправить? о каких логах идет речь? |
Автор: | survivor [ 15 мар 2010, 14:19 ] |
Заголовок сообщения: | Re: Re: |
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" |
Автор: | skn [ 15 мар 2010, 16:13 ] |
Заголовок сообщения: | Re: Настройка iptables |
http://www.sysoev.ru/nginx/docs/http/ng ... odule.html - изучали? |
Автор: | survivor [ 16 мар 2010, 15:36 ] |
Заголовок сообщения: | Re: Настройка iptables |
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; # } } } |
Автор: | skn [ 17 мар 2010, 16:06 ] |
Заголовок сообщения: | Re: Настройка iptables |
обычно делается так: 1) сервер биллинга стоит во внутреней сети провайдера 2) доступ к биллингу пользователей идет по локальной сети и их ИП есть в логах (access_log биллинга) 3) запросы от клиентов (в личный веб кабинет) идут через nginx (соответственно их логи обращений надо смотреть не в биллинге, а в nginx логах (access_log nginx) ) + логи запросов клиетов доступны из самого биллинга (там фигурирует реальный ИП) (см. в договоре в клиенте биллинга) |
Автор: | survivor [ 25 мар 2010, 21:01 ] |
Заголовок сообщения: | Re: Настройка iptables |
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 злоумышленника.... но давайте не будем квадратное сувать в круглое и т.д. ![]() |
Автор: | skn [ 09 май 2013, 01:00 ] |
Заголовок сообщения: | Re: Настройка iptables |
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, а не биллинга. |
Автор: | Phricker [ 09 май 2013, 01:26 ] |
Заголовок сообщения: | Re: Настройка iptables |
skn писал(а): 2) через nginx ходят клиенты , а пользователи (сотрудники провайдера) могут и напрямую ходить так как они во тоже во внутреней сети. Вот в том то и прикол, что не всегда ![]() |
Автор: | skn [ 09 май 2013, 04:15 ] |
Заголовок сообщения: | Re: Настройка iptables |
Phricker писал(а): skn писал(а): 2) через nginx ходят клиенты , а пользователи (сотрудники провайдера) могут и напрямую ходить так как они во тоже во внутреней сети. Вот в том то и прикол, что не всегда ![]() клиенты ходят из внутрений сети ??? ![]() |
Автор: | Phricker [ 09 май 2013, 12:19 ] |
Заголовок сообщения: | Re: Настройка iptables |
Нет. Пользователи ходят извне ![]() |
Автор: | skn [ 11 май 2013, 03:23 ] |
Заголовок сообщения: | Re: Настройка iptables |
Phricker писал(а): Нет. Пользователи ходят извне ![]() пользователи ходят в ЛК??? ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |