Оффтопик
v 2.1 a  
Имя:  Пароль:  Входить автоматически

Правила конференции
Стр.:  1, 2  След. Предыдущая тема | Следующая тема
Список разделов -> Оффтопик: «Линуксоидам. Хавту, как грязи, а у меня вопросы просто хав:)»

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

Просьба пояснить процедуру инициализации и настройки пакетного фильтра. Правильно ли я у меня сложилось в голове, после потребления потребления жуткой каши из этих ваших интернетов? :)

1. Собственно, пакетный фильтр именуется netfilter, и это низкоуровневый компонент ядра. И это никакой не файрволл, а нечто более глобальное (диспетчер пакетов транспортного уровня?..)
2. Штатный фронтенд к нему именуется iptables, и это тоже никакой не файрволл, а попросту утилита для конфигурирования netfilter "на лету".
3. После запуска ядра netfilter заводится в некоей дефолтной конфигурации (задается конфигом ядра при сборке?):
"разрешен полный доступ ко всем сетевым интерфейсам, буде таковые найдутся".
4. Текущие настройки хранятся не в конфиге, как было в древних ядрах, а в псевдофайлах, которые не переживают перезагрузку.
5. Чтобы заменить дефолты из ядра на свои собственные, нужно учинить некий скрипт на шелле, в котором будет стопка команд iptables, и поместить его куда-то в /etc, среди прочих скриптов инициализации. Например, чтобы построить этот самый файрволл. Или еще чего начудить (форвардинги, шейперы, счетчики).
6. Как вариант, поставить более другой пакет (слышал что-то про порт pf из FreeBSD, с менее марсианским синтаксисом). Или поставить пакет-переводчик с "человеческого на марсианский" :) он же герератор правил iptables. Кошерный CLI кандидат, насколько смог уяснить, только shorewall.
7. Остальное - гуйня для десктопов или вебня, всё убогое, аналогов виндовозного Kerio по гибкости и удобству нету. Или, скажем, аналогов кошерного веб-фронтенда для сквида SAMS.
_________________
Ку
19:54 10-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

Тупой вопрос по DHCP-серверу.

Если есть два интерфейса, eth0 и eth1, как он определяет, какой слушать? Чисто по IP или/и по MAC-адресу интерфейса тоже? Или слушает все доступные?

Скажем. у меня два интерфейса, один 10.0.0.1, другой 192.168.0.1. Пул у него указан 10.0.0.2-10.0.0.100. Будет он слушать 192.168.0.1, выдавая туда совершенно левые адреса для клиентов, или не будет? В этом сегменте есть свой DHCP-сервер. Или я могу отважно его заводить, не опасаясь такой засады?

(Конкретно у меня ISC DHCP, debian 6.0)

*дебильный вопрос, понимаю. :) Просто скажите, да/нет. Сразу после этого можно вволю отоптаться по деревянному МНУ чайника, не умеющего правильно гуглить. :gigi:
_________________
Ку
20:21 10-12-2012   

winner
Виктор Бульба

Откуда:
Обираловка
Сообщений:
2961
Регистрация:
12.07.2004

 e-mail 
027, что-то у вас какая-то каша.

Начну с DHCP-сервера:

интерфейс, на котором демон будет слушать просто передаётся ему параметром при запуске: в RH-based это можно задать в /etc/sysconfig/dhcpd, в дебиане - по-моему, такого файла нет, нужно завести переменную INTERFACES в /etc/init.d/dhcp3-server с иемнем интерфейса.
Но, в принципе, этого можно не делать. Если Вы не определите подсеть для интерфейса, то при запуске DHCPD в логе предупредит Вас об этом и на запросы через "неправильный" интерфейс будет ругаться в логе чем-то типа wrong network.

Про нетфильтр:
1-2. смотря что понимать под файрволом. В нетфильтре есть тоже SPI и conntrack.
3. ИМХО, задаются "правила по-умолчанию" в файле, который читается при старте.
4. для этого есть iptables-save и iptables-restore
5. можно так, можно воспользоваться (не знаю, как в дебиане, но в центоси есть) /etc/init.d/iptables save
6. зачем pf? ну, а в плане "правил" - да, можно shorewall и ему подобные, но я их не люблю.
_________________
Errare humanum est
12:51 11-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

winner :
027, что-то у вас какая-то каша.

Был бы красивый торт с цветочками, не спрашивал бы. :)

По dhcp разобрались. Все-таки кошерно гвоздем прибить. В дебиане гвоздь для прибивания dhcpd к физическому интрефейсу живет тут: /etc/default/isc-dhcp-server
(а мы, по простоте душевной, рядом с основным конфигом искали, ггг)
Теперь все хорошо:
wb027@wifigate1:~$ ps -eafw | grep dhcpd
root 2531 1 0 Dec11 ? 00:00:00 /usr/sbin/dhcpd -q eth1

Что касается мунспика, на котором разговаривает iptables, пусть с ним одмин еще маленько потрахается. :gigi:
(Я говорил, надо vyatta ставить, говорил? Не-е... не восхотел. Я говорил, давай тогда убунту сервер накатим, говорил? Не... слава нехорошая... Давай тогда shorewall, что ли, заюзаем, на фига тебе ради одноразовой задачи в марсианских письменах ковыряться? С малопредсказуемым результатом. Не...)
Ну, пусть еще немного потрахается. :gigi:

Лулзы пошли сразу же, как только напоролись на полное отсутствие фирмвари для intel100 в расово верном установочном диске. Погуглили, поняли в чем засада, однако инсталятор наотрез отказался кушать фирмварь с флешки. Хз, что ему не понравилось.

В итоге Саня откопал на дебиановском сайте неофициальную сборку с включением non-free. Но только минималистический вариант, т.н. netinstall. Базовая система, самый минимум. Там даже sudo нету. После чего героическими усилиями на него был взгроможден потребный для задачи инструментарий.

С чего все началось, отдельная песня, исполненная лулзов.

Начальство внезапно озадачилось, а чего это у нас вайфая для студентов нету! Надо сделать, а то, как лохи выглядим, в глазах вышестоящих. Несколько уже имеющихся точек не в счет, туда только избранных пускает (мыльницы-говнороутеры). Надо для студентов тоже. Однако не совсем халявный, а строго по списку. Стукнуло начальству в голову, чтобы логи писались, кто куда когда ходил. Короче говоря, наноСОРМ построить. Во-от, уже всем смешно.

Дальше еще смешнее. Закупили десяток NAS от длинка. Ага, тех самых, которых мы в пятницу по этажам спешно рассовывали для субботнего слета.

После ознакомления с вебмордою выяснилось, что фильтр по маку у них ограничен 30-ю записями на коробочку. И, стало быть, надо радиус. И все было бы хорошо, и меня б никто не трогал, если б не феерическая жадность мелкософта. Так бы Саня все это хозяйство на привычной венде построил, вот только "забесплатно" мелкософтовский радиус только 50 записей позволяет, а на все остальное, сколько нам потребно, такие конские цены нарисовались! И пришли они к выводу (одмин с ночальнегом нашим), что суровая реальность оставляет только один вариант - freeradius энд неизбежный linux. Я смеялсо.

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

("Говорил я вам, говорил? Еще пять лет назад. Нефиг хреносозидательством заниматься, все давно придумано до нас. Как нормальные люди корпоративную сеть строят? Green zone, Red zone, Blue zone, DMZ... В картинках даже показывал.")

(На самом деле, мне всегда хотелось выселиться с моим ненаглядным апачем в DMZ, и на линукс переехать заодно, наглухо законопатив все лишние дырки. А мне в ответ, неуловимый Джо, неуловимый Джо... Они не такими словами говорят, но суть именно такая.)

(В нашем подвале аура редкостная. Если я вам расскажу, как у нас построен доступ в интернет и прочие сетевые радости, вы не поверите. Не поверите, что это может вообще взлететь. Однако - лично наблюдал аптайм более двух лет. Со слезами сервак перезагружал! Надо было нотариально заверенный скриншот сделать...)

Теперь вот начальство прислало жареного на вайфае петуха. Поклевать отдел ИТ в жопие. Вы думаете, наконец-то сделаем все по уму? Не-ет... :lol:

В общем, чую я, придется мне самопальную вебморду ко всему этому чуду кропать. С неизбежным нарезанием апачу прав рута. Сегодня полдня занимался анальным огораживанием апача от возможных посягательств кулхацкеров. Пока средствами самого апача. То ли еще будет... :lol:
_________________
Ку
21:16 11-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

А может, не надо апачу прав рута?..
Можно ли сделать так, чтобы пользователь www-data (от его имени запущен апач) получил право на исполнение файла /etc/init.d/freeradius ?
Нужно, чтобы пхп-скрипт мог дергать радиус от имени апача на предмет перечитать конфиг.
_________________
Ку
20:52 12-12-2012   

winner
Виктор Бульба

Откуда:
Обираловка
Сообщений:
2961
Регистрация:
12.07.2004

 e-mail 
В MS Windwows Server есть такой сервис - IAS (в 2008 называется по-другому, но гуглится на ура) - тот же радиус, авторизация по учеткам из AD.

Если так хочется фрирадиус, то почему бы не использовать его совместно с abills или freenibs? И морда вам сразу, и передёргивать не надо.

Ну, а если решили сами скостылять что-то и надо дёргать радиус из веб-морды, то можно в sudoers для пользователя под которым крутится апач (www-data) сделать запись, что можно выполнять команду freeradius без пароля и выполнять уже из php-скрипта через sudo.
_________________
Errare humanum est
23:12 12-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

winner :
В MS Windwows Server есть такой сервис - IAS

Сколько лицензии стоят, в курсе? На пару тыщ привязанных записей.
winner :
почему бы не использовать его совместно с abills или freenibs?

Полновесный (читай - монструозный) биллинг не нужен. От радиуса нужна только аутентификация юзера по маку.
Нужна простая морда, которая будет прописывать юзеров параллельно в радиус и в dhcp (выдать автоматический ip с привязкой по маку). Морду такую я напишу, там вроде просто все.

Через sudoers идея понятна. Осталось только разобраться в синтаксисе. Помнится, как-то смотрел ман судоерс, сверхлаконично и ни хрена не понятно. :)
_________________
Ку
00:19 13-12-2012   

Randy
******


Сообщений:
505
Регистрация:
13.08.2004



Последний раз редактировалось: Randy (15:14 19-10-2016), всего редактировалось 1 раз
13:09 13-12-2012   

winner
Виктор Бульба

Откуда:
Обираловка
Сообщений:
2961
Регистрация:
12.07.2004

 e-mail 
Randy :
chmod +s </path_to/file> .

Эта команда делает "суидным" (Sticky Bit) тот файл, на который "натравлена".
Иными словами, скрипт, созданный рутом, будет запущен с правами рута, даже если запуск произвёл простой пользователь.
Из-за этого нужно быть особенно внимательным с тем, что делает этот скрипт, а также с правами на его изменение.

PS: я так монтирую самбу nas-а под простым пользователем, перед ежедневной выгрузкой на него резервных копий.


Randy, Вы чуть неправы:

Установка SUID-бита позволяет выполить исполняемый файл не от имени текущего пользователя, а он имени владельца файла (не обязательно это будет рут). Это потенциальная дыра, т.к. любой пользователь сможет перезапустить\остановить фрирадиус в задаче 027.

Sticky bit - это совсем другой атрибут, актуален для директорий и здесь ни к месту.
_________________
Errare humanum est
16:22 13-12-2012   

Randy
******


Сообщений:
505
Регистрация:
13.08.2004



Последний раз редактировалось: Randy (15:14 19-10-2016), всего редактировалось 1 раз
18:29 13-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

Спасибо за советы. Через sudo, думается, более правильно. Судо для того и придумано.

Что касается возможной эксплуатации дыр в php, до него еще добраться надо. Апач анально огорожен, слушает только отдельный интерфейс, на который через вайфай не попадешь. А отвечает запросам лишь с определенных IP, спрашивая пароль на входе (.htaccess).

Сегодня мы с Сан Палычем достигли значительного прогресса. Радиус лег и подниматься категорически отказался. :)

Хотите знать, как удавить фрирадиус под дебианом? Переименуйте файл его конфига users, перезапустите, переименуйте обратно в users и снова перезапустите. Получите труп радиуса:
root@wifigate1:/home/wb027# /etc/init.d/freeradius start
Starting FreeRADIUS daemon: freeradius failed!
Внезапно, ага? :gigi:

Сегодня вообще был вечер глюков. Мы это файлик чего переименовывали. Подружили NAS с радиусом (через файл clients.conf). Ругательства в логе пропали (мол, неизвестный клиент стучится). Прописали в файл users тестового юзверя с именем MAC address и паролем NOPASSWORD. В строгом соответствии со встроенным хелпом вебморды NAS (точки доступа).

Получилась полная хрень - пускает всех. Если "испортить" секрет в clients.conf, не пускает никого. Радиус при этом ругался в логе на неизвестного клиента, что совершенно правильно. Но какого хрена он неведомых ему юзверей пропускает? И кто тут виноват, длинковская мыльница-переросток или радиус?

Он вообще этот users читает, ити его мать? В главном конфиге есть ссылки на другие файлики конфигурации, а на этот нету. То ли надо дописать ссылку на него, то ли он читается по умолчанию. Тут и возникла гениальная идея переименовать, чтобы увидеть реакцию радиуса при релоаде. На команду релоад он упал и больше не отжался. :flag:

На самом деле, похоже, эта старая железяка, на которой мы с Палычем упражняемся, потихоньку помираэ. Причудливо поглюкивая напоследок. Два звоночка уже было - радиус отказывался читать главный файл конфига. Однако через некоторое время проблема рассасывалась сама собой минут через 15-20 пнешь - и он взлетает. Это мы не специально так, само получалось, нас с одмином то и дело дергали по текущим делам.

В общем, решили, что ну его нах, сегодня 13-е, хоть и не пятница. Пошли по домам. :)
_________________
Ку
19:29 13-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

А! Вот еще какой "хав на будущее" нарисовался. Насколько я понял, isc-dhcp3 с SQL работать не умеет.

Так или не так? Для радиуса есть какие-то костыли, с помощью которых он может раздавать айпишники через dhcp, однако беглый гуглеж говорит, что геморроя много. А если для isc-dhcp работать с базой таки можно, но тоже геморройно, то ну его нафиг.

Если так, в будущей самодельной морде (через которую будем регистрировать тысячи юзверей) мне все равно придется писать напрямую в файл конфига dhcp сервера.

Напомню исходную задачку от ночальнега. Юзверь, посредством радиуса, привязывается по MAC, без пароля. DHCP выдает ему зарезервированный IP, привязанный к MAC. КтулхуСквид пишет логи, кто куда когда ходил. Надо иметь возможность быстренько выявить житейское имя юзверя, привязанное черз MAC к IP. (Понятно, что херь полная, тут главное, верхнее начальство получит свою игрушку.)

Возникает закономерный вопрос - а на фига тогда конфиги радиуса в mysql переселять? Уже ведь понятно, что dialupadmin не умеет управлять dhcp. Проще уж тогда писать заодно и в файловый конфиг радиуса - тот самый users - и вообще не связываться с БД. Лично мне без разницы, я знаю, как делать в php и то, и то.

Мы ж, собственно, чего с мускулем затеялись, была надежда приспособить готовую вебморду для наших целей. А они с радиусом через базу работают.
_________________
Ку
20:04 13-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

Хм. А если назначить хозяином двух файлов-конфигов пользователя www-data? И дать права 644 (или даже 604). Сейчас хозяин dhcpd.conf - root, у конфигов радиуса - freerad (от его имени радиус и запущен).
_________________
Ку
20:11 13-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

"Эта песня хороша, начинай сначала..."

027 :
старая железяка, на которой мы с Палычем упражняемся, потихоньку помираэ. Причудливо поглюкивая напоследок

П...дец котенку. :lol: Ставим все с нуля на более другую машинку, не столь древнюю.

На этот раз дело идет медленнее, пишем подробную мурзилку, нам еще один такой же роутер поднимать. В связи с этим вопрос.

Схема такая.
- Надо раздавать вайфай строго по списку с привязкой IP к MAC'у вайфайщика. В двух зданиях. Между ними 5 км, прямая связь по оптике.
- "Прописка" пользовательских дивайсов происходит в одном здании.
- Данные по каждому дивайсу вносятся в два конфигурационных файла: в конфиги isc-dhcp3 и freeradius на местном роутере. Назовем его Мастер.
- После этого дергаем обоих демонов, чтоб перечитали конфиги. Студиозус обретает щастье и топает, откуда пришел.
- Далее надо передать обновленную конфигурацию точно такому же роутеру в другое здание. Назовем этот роутер Слэйвом. Как это лучше сделать?

Тупой вариант, решение в лоб - подключить Мастера по SSH к Слэйву, залить туда обновленные конфиги, релоадить/рестартовать удаленно его демонов.

Менее тупое - синхронизировать этих демонов их собственными средствами. Freeradius много чего умеет в этом плане (проксирование, например). Допустим, что-то подобное умеет isc-dhcp3. Но, в любом случае - как быть, если связь между корпусами отвалится?

Если все данные будут храниться только у нас, веселуха по полной. Кабель от прова идет на учебный корпус, а от него уже к нам, в главный корпус. Если отключится роутер провайдера (а такое бывает при отключении электричества):
- у нас нет интернета вообще, и все местные вайфайщики в обломе,
- в учебном корпусе интернет как бы есть, но их вайфайщики тоже в обломе, ибо тамошний радиус не может спросить у нашего неизвестные ему логины.

Есть светлые мысли?
_________________
Ку
20:58 20-12-2012   

winner
Виктор Бульба

Откуда:
Обираловка
Сообщений:
2961
Регистрация:
12.07.2004

 e-mail 
значит так:

можно прибивать маки к айпишникам гвоздями в конфиге и при изменении конфига rsync'нуть конфиги на другой сервер, перезапустить у себя и удаленно демона, а можно в арендах и объявить время аренды ну, скажем, год. Для управления DHCPD есть omshell. ISC DHCPD умеют работать в кластере и синхронизируют сами аренды, гуглить и читать конфиг по словам failover peer.

Ещё советую полистать тему http://forum.nag.ru/forum/index.php?showtopic=61077

Там же, на наге, есть ссылки на другие DHCP-серверы, которые умеют и из базы брать аренды.

Про радиус - если хранить учетки в базе, то ставим 2 радиуса и 2 СУБД и настраиваем на них репликацию.

Извиняюсь, что редко отвечаю, к компу дома прорваться получается не всегда.
_________________
Errare humanum est
22:00 21-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

Спасибо, будем курить наг.
_________________
Ку
01:40 22-12-2012   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

Ламерский вопрос по радиусу. Вывод tcpdump:
Код:

17:38:58.560017 IP (tos 0x0, ttl 64, id 15489, offset 0, flags [none], proto UDP (17), length 48)
    172.19.0.1.radius > 172.19.19.12.32770: [udp sum ok] RADIUS, length: 20
        Access Accept (2), id: 0x00, Authenticator: 741896864dd43165efc453262c844044

Код:

17:59:38.410020 IP (tos 0x0, ttl 64, id 15489, offset 0, flags [none], proto UDP (17), length 48)
    172.19.0.1.radius > 172.19.19.12.32770: [udp sum ok] RADIUS, length: 20
        Access Reject (3), id: 0x00, Authenticator: f6ecd55e60c6a1d7fefaa18c27485957

Это конец сеанса работы точки доступа с радиусом, для случая успешной аутентификации и для случая неуспешной.

Собственно вопрос (бредовый): Access Accept и Access Reject всегда выглядят одинаково для любых NAS, или бывают варианты? Я не имею в виду возможную передачу атрибутов авторизации. Именно вот это кусок.

Проблема в том, что ТД ведет себя неадекватно.
- на первый запрос пользователя она запрашивает радиус, но отказывает в доступе независимо от ответа радиуса,
- на последующие повторные запросы НЕвалидного пользователя подключает его к сети, не запрашивая больше радиус,
- при повторных запросах валидного пользователя НЕ пускает его в сеть, НЕ спрашивая больше радиус.

Таки да, это длинк. :) Кто тут виноват, кривая точка или мои кривые руки?

И еще ламерский вопрос. Почему запрос к радиусу не происходит при повторных подключениях? Так и должно быть? (таймаут? тогда где настраивается? в радиусе или ТД?) Или это глюк ТД?

Чтобы выбить из нее запрос к радиусу и посмотреть, что происходит, приходится ребутить точку.

Судя по странному (на мой непросвещенный взгляд) поведению ТД в режиме WPA-Enterprise, виновата дочка тоступа. Она вообще не обращается к радиусу. Просто дает отлуп.

D-Link DWL-3600AP, Firmware Version: 4.1.0.11 (перешились на последнюю, подверсия была то ли 08, то ли 06, ничего не изменилось).

И еще вопрос. Что означают:
- цифры в скобках: Access Accept (2)
-Authenticator: 741896864dd43165efc453262c844044 (эти коды нигде не повторяются)
В отладочном выводе радиуса этого вообще нет. Радиус запущен с ключом -X.
_________________
Ку
19:35 25-01-2013   

winner
Виктор Бульба

Откуда:
Обираловка
Сообщений:
2961
Регистрация:
12.07.2004

 e-mail 
ТД может переставать посылать запросы на радиус, если считает его мёртвым, т.е. возможно, что к ТД не дошел ответ радиуса или он (ответ) не понравился ТД.
_________________
Errare humanum est
23:46 25-01-2013   

027
Админ запаса

Откуда:
Волгоград
Сообщений:
3610
Регистрация:
30.03.2004

winner :
если считает его мёртвым

Это да, UDP меня сильно удивило.
winner :
возможно, что к ТД не дошел ответ радиуса

Второй месяц? (многократные повторные эксперименты). Как объснить стабильно инверсную реакцию тд?
winner :
или он (ответ) не понравился ТД.

Так о чем и спрашиваю!
Может ли не понравиться? Такое вообще может быть?
Дамп выше.
_________________
Ку
00:26 26-01-2013   

winner
Виктор Бульба

Откуда:
Обираловка
Сообщений:
2961
Регистрация:
12.07.2004

 e-mail 
это не дамп.

снимаем, значит, на радиус-сервере так:
tcpdump -vnni ИНТЕРФЕЙС host АЙПИ_ТД -s 0 -w ИМЯ_ФАЙЛА.pcap
и высылаем мне на почку

так же убедитья в прохождении хотя бы пинга от радиус-сервера до ТД
_________________
Errare humanum est
00:58 26-01-2013   

Список разделов -> Оффтопик: «Линуксоидам. Хавту, как грязи, а у меня вопросы просто хав:)»
Стр.:  1, 2  След. Предыдущая тема | Следующая тема


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



Powered by phpBB © 2001, 2005 phpBB Group