BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 июл 2025, 17:46

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




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
СообщениеДобавлено: 11 дек 2009, 15:54 
Начал настройку согласно документации (для ветки 4.6)

на сервере iptables версии v1.4.3.2

1) Возник вопрос при настройке iptables (заменил красные строки на зеленые)

Цитата:
5) Необходимо настроить iptables

#!/bin/sh
cd ${0%${0##*/}}.
. ./conf.sh


/sbin/iptables -F -t nat
/sbin/iptables -F -t filter

/sbin/iptables -P PREROUTING DROP -t nat # правило не работает: The "nat" table is not intended for filtering, the use of DROP is therefore inhibited
/sbin/iptables -P FORWARD DROP # запретная политика на проходящие пакеты, иначе добавление и удаление ip клиентов в таблицу FORWARD не имеет смысла, так как все попадает под политику ACCEPT и пролетает между интерфейсами, даже при отключении клиента


#external interface #####################################################################################
#ssh
/sbin/iptables -A PREROUTING -s ! $WIFI_NET -t nat -p tcp --dport 22 -d $EXTERNAL_IP -j ACCEPT # iptables ругается на некорректный формат правила
/sbin/iptables - t nat -A PREROUTING ! -s $WIFI_NET -d $EXTERNAL_IP -p tcp -m tcp --dport 22 -j ACCEPT

#drop others from external interface
/sbin/iptables -A PREROUTING -s ! $WIFI_NET -t nat -j DROP # в моей версии iptables фильтрация в таблице nat очень не рекомендуется
#end of external interface #################################################################



#internal interface ###################################################################################################

#before wifi chain we must add redirects for authorized users
/sbin/iptables -A PREROUTING -t nat -p tcp --dport 80 -d $EXTERNAL_IP -j REDIRECT --to-ports $PORTAL_HTTP_PORT
/sbin/iptables -A PREROUTING -t nat -p tcp --dport 443 -d $EXTERNAL_IP -j REDIRECT --to-ports $PORTAL_HTTPS_PORT


#chain for WiFi (accept rules for authorized users)

/sbin/iptables --delete-chain $WIFI_CHAIN_NAME -t nat
/sbin/iptables -N $WIFI_CHAIN_NAME -t nat
/sbin/iptables -A PREROUTING -j $WIFI_CHAIN_NAME -t nat

#below is rules for internal not authorized users :

#dns
/sbin/iptables -A PREROUTING -t nat -p udp --dport 53 -j ACCEPT

#http
/sbin/iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports $PORTAL_HTTP_PORT
/sbin/iptables -A PREROUTING -t nat -p tcp --dport $PORTAL_HTTP_PORT -j ACCEPT

#https
/sbin/iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-ports $PORTAL_HTTPS_PORT
/sbin/iptables -A PREROUTING -t nat -p tcp --dport $PORTAL_HTTPS_PORT -j ACCEPT

#statistics
/sbin/iptables -A PREROUTING -t nat -p tcp --dport 8080 -d $EXTERNAL_IP -j ACCEPT


# NAT
iptables -A POSTROUTING -o $EXTERNAL_INTERFACE -s $WIFI_NET -j SNAT -t nat --to-source $EXTERNAL_IP

#RST packets for dropping estblished connections
/sbin/iptables -A FORWARD -p tcp -j REJECT --reject-with tcp-reset



2) Защита WiFi-сети от ARP-спуффинга

Не понял как можно защититься от такого рода атаки, используя статическую таблицу ARP только в одном месте сети
если в локальной сети несколько работающих пользователей и кто-то из них, пропинговав сеть, видит IP и MAC соседа и поставит себе в настройки такие же, то он пройдет через шлюз со статической таблицей ARP.


Вернуться к началу
  
 
СообщениеДобавлено: 11 дек 2009, 17:06 
Не в сети
Разработчик

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

2) Защита WiFi-сети от ARP-спуффинга

Не понял как можно защититься от такого рода атаки, используя статическую таблицу ARP только в одном месте сети
если в локальной сети несколько работающих пользователей и кто-то из них, пропинговав сеть, видит IP и MAC соседа и поставит себе в настройки такие же, то он пройдет через шлюз со статической таблицей ARP.


Во первых можно настроить точек доступ так что пропинговать сеть не получится . А во вторых , если оба выйдут одноврменно с одним и тем же ip и mac , то работать не будет сеть. А в третьих это защита не от одноврменной работы , а от того , что один пользователь закончил работу, а другой взял его ip и продолжил работу .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 дек 2009, 17:27 
stark писал(а):
Во первых можно настроить точек доступ так что пропинговать сеть не получится . А во вторых , если оба выйдут одноврменно с одним и тем же ip и mac , то работать не будет сеть. А в третьих это защита не от одноврменной работы , а от того , что один пользователь закончил работу, а другой взял его ip и продолжил работу .


пропинговать сеть можно по одному ip, а не по всей сетке, даже если фильтровать сеть по ICMP, по команде arp -a -n видно все маки и айпи

речь идет о одноранговой сети, сеть работает по TCP/IP, соответственно по ARP, и если подмена идет одновременно и MAC и IP, то статическая arp таблица нужна на шлюзе + привязка MAC еще где-то, иначе нельзя обеспечить нормальную работу сети.

Пример для локальной сети: все порты ethrenet коммутатора имеют привязку по MAC, а шлюз через который выходит пользователь имеет статическую таблицу ARP
Пример для adsl-сети: на adsl-коммутаторах на каждом порту есть привязка MAC, шлюз через который выходит пользователь имеет статическую таблицу ARP

А как гарантировать невозможность подмены IP и MAC в нашем случае?


Вернуться к началу
  
 
СообщениеДобавлено: 11 дек 2009, 17:28 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jack7 писал(а):
/sbin/iptables -P PREROUTING DROP -t nat # правило не работает: The "nat" table is not intended for filtering, the use of DROP is therefore inhibited
/sbin/iptables -P FORWARD DROP # запретная политика на проходящие пакеты, иначе добавление и удаление ip клиентов в таблицу FORWARD не имеет смысла, так как все попадает под политику ACCEPT и пролетает между интерфейсами, даже при отключении клиента


Хм. значит в старых версиях iptables это работало . Но вы кажется тоже неправильно сделали . Потому как была цель закрыть все, ..а вы получается закрыли только forward . Лучше уж тогда сделать то же самое что и было, но в таблице mangle .
Схема прохождения пакетов вот :
http://www.opennet.ru/docs/RUS/iptables ... averse.jpg


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 дек 2009, 17:30 
stark писал(а):
Хм. значит в старых версиях iptables это работало . Но вы кажется тоже неправильно сделали . Потому как была цель закрыть все, ..а вы получается закрыли только forward . Лучше уж тогда сделать то же самое что и было, но в таблице mangle .
Схема прохождения пакетов вот :
http://www.opennet.ru/docs/RUS/iptables ... averse.jpg


я пока не трогал цепочки INPUT и OUTPUT
пока интересовал только FORWARD


Вернуться к началу
  
 
СообщениеДобавлено: 11 дек 2009, 17:44 
Не в сети
Разработчик

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

#external interface #####################################################################################
#ssh
/sbin/iptables -A PREROUTING -s ! $WIFI_NET -t nat -p tcp --dport 22 -d $EXTERNAL_IP -j ACCEPT # iptables ругается на некорректный формат правила
/sbin/iptables - t nat -A PREROUTING ! -s $WIFI_NET -d $EXTERNAL_IP -p tcp -m tcp --dport 22 -j ACCEPT



depreacated. Поменялся синтаксис iptables .Хорошо исправим документацию . Возможно вообще это оттуда уберем и поместмм в wiki . Кстати это правило работает вместе с вашим верхним исправлением . Но так как вы там испраивли , тот тут тоже менять тоже тогда надо . Т.е надо все сразу подогнать


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 дек 2009, 17:51 
stark писал(а):
depreacated. Поменялся синтаксис iptables .Хорошо исправим документацию . Возможно вообще это оттуда уберем и поместмм в wiki . Кстати это правило работает вместе с вашим верхним исправлением . Но так как вы там испраивли , тот тут тоже менять тоже тогда надо . Т.е надо все сразу подогнать


для ограничения доступа по ssh на сам сервер портала можно просто

/sbin/iptables -A INPUT -s $WIFI_NET -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A OUTPUT -d $WIFI_NET -p tcp --sport 22 -j ACCEPT

это я допишу позже, а вот как быть с подменой IP и MAC, как их пресечь?


Вернуться к началу
  
 
СообщениеДобавлено: 11 дек 2009, 17:57 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jack7 писал(а):
stark писал(а):
Во первых можно настроить точек доступ так что пропинговать сеть не получится . А во вторых , если оба выйдут одноврменно с одним и тем же ip и mac , то работать не будет сеть. А в третьих это защита не от одноврменной работы , а от того , что один пользователь закончил работу, а другой взял его ip и продолжил работу .


пропинговать сеть можно по одному ip, а не по всей сетке, даже если фильтровать сеть по ICMP, по команде arp -a -n видно все маки и айпи

речь идет о одноранговой сети, сеть работает по TCP/IP, соответственно по ARP, и если подмена идет одновременно и MAC и IP, то статическая arp таблица нужна на шлюзе + привязка MAC еще где-то, иначе нельзя обеспечить нормальную работу сети.

Пример для локальной сети: все порты ethrenet коммутатора имеют привязку по MAC, а шлюз через который выходит пользователь имеет статическую таблицу ARP
Пример для adsl-сети: на adsl-коммутаторах на каждом порту есть привязка MAC, шлюз через который выходит пользователь имеет статическую таблицу ARP

А как гарантировать невозможность подмены IP и MAC в нашем случае?


тут же идет речь о коммутаторе доступа wifi . там вроде как можно запретить широковещательные запросы. Т.е все запросы подут через коммутатор, а онва роде бы с каждым пользователм общается в отдельном канале (порту) , а он запретит общение между портами напрямую и будет гнать все через софтовый шлюз со статической arp-таблицей.

И на сколько я понимаю arp-спуффинг , это подмена arp-таблицы . использоваться тот же самый ip и другой mac. Именно такой классичнсекой подмены позвоялет избежать наша схема . т.е используется статическая arp =таблицаи все попытки повесить этот ip на другйо mac игнорятся . Использование того же самого mac и ip - непонятно как это быдет работаьь при одноврменной работе , скорее всего конфликт будет . и от этого схема не защищает


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 дек 2009, 18:00 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jack7 писал(а):
#drop others from external interface
/sbin/iptables -A PREROUTING -s ! $WIFI_NET -t nat -j DROP # в моей версии iptables фильтрация в таблице nat очень не рекомендуется


тогда уж лучше использовать mangle наверное ..И в первом вашем исправлении тоже


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 дек 2009, 18:09 
stark писал(а):
тогда уж лучше использовать mangle наверное ..И в первом вашем исправлении тоже


таблицу mangle не нужно использовать для фильтрации, только для маркировки и работы с QoS


Вернуться к началу
  
 
СообщениеДобавлено: 11 дек 2009, 18:33 
stark писал(а):
Использование того же самого mac и ip - непонятно как это быдет работаьь при одноврменной работе , скорее всего конфликт будет . и от этого схема не защищает


будет работать достаточно для того чтобы качнуть с левого счета, просто будут перебои со связью у обоих пользователей (у хозяина и у того кто подставляет ip и mac), но для wifi это может показаться временными перебоями связи


Вернуться к началу
  
 
СообщениеДобавлено: 11 дек 2009, 19:16 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jack7 писал(а):
stark писал(а):
Использование того же самого mac и ip - непонятно как это быдет работаьь при одноврменной работе , скорее всего конфликт будет . и от этого схема не защищает


будет работать достаточно для того чтобы качнуть с левого счета, просто будут перебои со связью у обоих пользователей (у хозяина и у того кто подставляет ip и mac), но для wifi это может показаться временными перебоями связи


защиты на все случае жизни нет ..Заказчик этой фичи хотел именно этот вариант. Как вы предлагаете это реализоваить ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 дек 2009, 19:22 
stark писал(а):
защиты на все случае жизни нет ..Заказчик этой фичи хотел именно этот вариант. Как вы предлагаете это реализоваить ?


Никаких претензий
Как реализовать пока и сам не знаю, если что-нибудь придумаем - сообщу


Вернуться к началу
  
 
СообщениеДобавлено: 11 дек 2009, 19:41 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jack7 писал(а):
stark писал(а):
тогда уж лучше использовать mangle наверное ..И в первом вашем исправлении тоже


таблицу mangle не нужно использовать для фильтрации, только для маркировки и работы с QoS


не рекомендется не означает "нельзя " . Просто в случае с nat было удобно, что все в одно месте и локальный транзитный трафик .и вся фильтрафия фактически была через nat . Получается чтобы это убрать , надо поменять не только ваша 3 зеленые строчки, а все поменять , т.е убрать всю филтрацию из nat , убрать оттуда цепочку WiFi .Сейчас мржно это быстро заменить , если прсото поменять nat на mangle. пока это iptables еще позволяет сделать, хоть это и не кошерно . переделать все на input и filter - чуть сложнее , надо будет опять все это настроить и проверить . Я не помню почему сделано было именно так через nat ..Вообще этоn конфиг чисто для примера приведен , но сейчас он устарел , надо его проверить и обновить


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 дек 2009, 20:17 
c iptables разберусь, пока думаем как жестко завязать маки и айпи


Вернуться к началу
  
 
СообщениеДобавлено: 18 дек 2009, 15:43 
возник еще один вопрос

допустим выделяется сеть ip-адресов для клиентов, работающих через wifi портал - это сеть 10.2.1.0/24, из нее посредством DHCP клиент получил адрес 10.2.1.1
после авторизации на странице портала, клиент получил доступ во внешний интернет, естественно с ip-адресом 10.2.1.1
для этого же адреса идет подсчет трафика, ip, который прописан в договоре (в модуле dialup) почему то игнорируется

Вопросы

1) Как привязать определенный ip к договору в таком случае?
2) Что будет если пользователь перед самым подключением к WiFi точке сам сменит ip (допустим поставит себе 10.2.1.2) и залогинившись успешно на странице портала получит разрешение выход во внешний интернет именно с ip 10.2.1.2, соответственно и тарифицироваться он будет под новым ip?


Вернуться к началу
  
 
СообщениеДобавлено: 22 дек 2009, 18:19 
Не в сети
Разработчик

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

допустим выделяется сеть ip-адресов для клиентов, работающих через wifi портал - это сеть 10.2.1.0/24, из нее посредством DHCP клиент получил адрес 10.2.1.1
после авторизации на странице портала, клиент получил доступ во внешний интернет, естественно с ip-адресом 10.2.1.1
для этого же адреса идет подсчет трафика, ip, который прописан в договоре (в модуле dialup) почему то игнорируется



Выдает по алгоритму , описанному тут :
http://bgbilling.ru/v4.6/doc/ch03s06.html

WiF-портал передает Framed_IP_Address в start-пакете ..Не нужно настривать пулы в и ip в радиусе - работать это не будет , а нужно прописать все на dhcpd .
Выдать ip через радиус в случае wifi-портала не получится ..

После получения ip от dhcpd он жестко закрепится в arp-таблице шлюза и клиент не сможет его подменит там ..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 дек 2009, 10:49 
stark писал(а):
После получения ip от dhcpd он жестко закрепится в arp-таблице шлюза и клиент не сможет его подменит там ..


Понятно, что ip не закрепить за пользователем.
А насчет подмены IP, подменить можно пару MAC-IP и это сработает, от такого варианта, к сожалению, wifi-портал не застрахован.


Вернуться к началу
  
 
СообщениеДобавлено: 09 мар 2010, 14:31 
версии писал(а):
dialup вер. 4.6 сборка 200 от 06.10.2009 18:25:37
ipn вер. 4.6 сборка 212 от 06.10.2009 13:00:43
BGDialupWiFiAgent 4.6.213


В результате настроил портал, в качестве коллектора для отправки net-flow выбрал ipcad

из конфига ipcad
Код:
netflow export destination ip.my-billing.ru 2001;
netflow export destination ip.my-billing.ru 2004;


на порты 2001 и 2004 отправляется поток, это net-flow порт радиуса и net-flow потр Ipn модуля соответственно

подсчет трафика радиусом идет верно и попадает в статистику пользователям, а вот IPN модуль непонятно для меня обрабатывает net-flow поток
и детальная статистика не соответствует значениям радиуса, а то и вовсе отсутствует (запускал отчет через "netflow.sh save")

в чем может быть причина несоотвествия?


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

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


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

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


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

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