- интерфейс добавления правил в ipfw, Pahanivo, 18:07 , 12-Авг-08 (1)
>Иными словами, человеку, не разбирающемуся в Unix и не имеющему доступ к консоли трубется дать инструмент запрета определенных внешних ресурсов это тоже самое что дать макаке в зоопарке гранату ))
- интерфейс добавления правил в ipfw, hate, 18:41 , 12-Авг-08 (2)
>Иными словами, человеку, не разбирающемуся в Unix... ... нехрен в нем и ковыряться...
- интерфейс добавления правил в ipfw, Tonya_aka_Slim, 19:10 , 12-Авг-08 (3)
> > ... нехрен в нем и ковыряться... >парни, ну никто же не говорит, чтоб это человек ковырялся в правилах или еще где-либо. нужна по сути форма для ввода запрещенных сайтов.
- интерфейс добавления правил в ipfw, Pahanivo, 20:09 , 12-Авг-08 (4)
ты видимо сам в никсах неселен ибо несеш чушь, и вообще путаешь понятия ipfw,ip,site. Начнем с того что речь о разных уровнях модели ISO/OSI.
- интерфейс добавления правил в ipfw, Tonya_aka_Slim, 16:19 , 14-Авг-08 (11)
>ты видимо сам в никсах неселен ибо несеш чушь, и вообще путаешь >понятия ipfw,ip,site. >Начнем с того что речь о разных уровнях модели ISO/OSI. Действительно не силен, и тем не менее спасибо за проявленный интерес к теме.
- интерфейс добавления правил в ipfw, Vitaly_loki, 21:08 , 12-Авг-08 (5)
>[оверквотинг удален] > >Подскажите пожалуйста каким образом можно прикрутить к ipfw простейший web-интерфейс удаленого добавления >правил? > >Иными словами, человеку, не разбирающемуся в Unix и не имеющему доступ к >консоли трубется дать инструмент запрета определенных внешних ресурсов (предположительно, путем добавления >правил фаера, либо есть другие соображения?) >БЫть может есть готовые решения? я не нашел > >зараннее спасибо! Не знаю насчет готовых "решений", но написать простенький web-интерфейс на самом деле не сложно: например, используя Perl + CGI, затем на этот скрипт установать атрибут (+s) чтоб скрипты от имени root выполнялись
- интерфейс добавления правил в ipfw, angra, 07:10 , 13-Авг-08 (7)
>установать атрибут (+s) чтоб скрипты от имени root выполнялись Также поставить пользователя root и установить perl-suid, который еще с perl 5.8 не рекомендуется к использованию.
- интерфейс добавления правил в ipfw, Vitaly_loki, 09:51 , 13-Авг-08 (8)
>>установать атрибут (+s) чтоб скрипты от имени root выполнялись > >Также поставить пользователя root и установить perl-suid, который еще с perl 5.8 >не рекомендуется к использованию. ну это да, согласен
- интерфейс добавления правил в ipfw, mr_gfd, 00:48 , 13-Авг-08 (6)
Если все касательно только http то по пунктам:поставить squid; настоить в нем поддержку режима прозрачного прокси; путем ipfw forward завернуть на него весь http трафик; поставить webmin; (завести в нем пользователя. кторому дать доступ только на модуль сквида; 1 раз показать как добавлять ACL.) или (средствами sudo дать возможность сказать ee /usr/local/etc/squid/squid.conf и /usr/local/etc/rc.d/squid reload) все.
- интерфейс добавления правил в ipfw, Никита, 20:42 , 13-Авг-08 (9)
Поправлю вышеотписавшегося участника ...Только webmin ставить нафик. Есть ход проще Собственно после того как сквид поставлен к нему либо ACL`ом либо редиректором (в зависимости от обьемов), если порядка сотни сайтов тогда можно без редиректора^ прикручивается список сайтов. Что сквид, что редиректо этот список может брать из файла ... так что =) Далее ставится апач, в нем заводится папка, на которую прикручивается авторизация (бейсик авторизация вполне пойдет, настраивается просто да и вполне оправдана) и в эту папку ложится перловый скрипт, который добавляет это все дело в файл, который собственно и прицеплен в качестве файла для ACL. Я лично взял скрипт гостевой книги и переписал ... если нужно - отпишитесь кому, кто в перле вообще не силен - пришлю, хотя его самому написать - час работы. Ну и далее в крон /path_to_squid -k reconfigure. Время зададите по вкусу =) Учтите что во время перечитывания конфигов он перечитывает ацл`ы тоже. Так что это обязательно. Вот и все дела =) Главное чаще раз в 15 минут не ставте реконфигурение сквида.
- интерфейс добавления правил в ipfw, angra, 00:08 , 14-Авг-08 (10)
Фигасе час работы. Да там шелл cgi скриптом на пару строчек можно обойтись :)
- интерфейс добавления правил в ipfw, Tonya_aka_Slim, 16:38 , 14-Авг-08 (12)
>[оверквотинг удален] >настраивается просто да и вполне оправдана) и в эту папку ложится >перловый скрипт, который добавляет это все дело в файл, который собственно >и прицеплен в качестве файла для ACL. Я лично взял скрипт >гостевой книги и переписал ... если нужно - отпишитесь кому, кто >в перле вообще не силен - пришлю, хотя его самому написать >- час работы. Ну и далее в крон /path_to_squid -k reconfigure. >Время зададите по вкусу =) Учтите что во время перечитывания конфигов >он перечитывает ацл`ы тоже. Так что это обязательно. Вот и все >дела =) Главное чаще раз в 15 минут не ставте реконфигурение >сквида. спасибо большое (!) за столь подробное описние. довольно интересен метод- попробую его. Если не сложно пришли свой скрипт ( с перлом знакомлюсь). А вообще хотелось бы обойтись без прокси.
- интерфейс добавления правил в ipfw, Никита, 19:46 , 14-Авг-08 (13)
>Если не сложно пришли свой скрипт ( с перлом знакомлюсь). А >вообще хотелось бы обойтись без прокси. Чего-то с первого раза не отправилось сообщение ... дубль 2 А почему бы и нет? Никто ведь не заставляет включать кэш. И никто не заставляет прикручивать авторизацию если таковая не требуется. Зато можно поиметь бонус в виде лоад-балансинга. Настроить delay pools и поставить ограничения по скорости на закачку больших файлов. =) Делается очень просто. Собственно сам скрипт: #!/usr/bin/perl $file = "disabled.users"; $html_file = "add.cgi"; print "Content-Type: text/html\n\n"; print "Users in access-denied list:\n"; use CGI qw (:standard); $q=new CGI (); $action = $q->param (action); &post if ($action eq 'post'); &view; sub post { $nick = $q->param (nick); $to_base = "$nick\n"; open (OUT, ">>$file"); print OUT $to_base; close (OUT); } sub view { open (BASE, "<$file"); @base = <BASE>; close (BASE); { print "@base"; } print " <form action=$html_file method=get> Add user to acces denied list: <input name=nick> <input name=action value=post type=hidden> <input type=submit value=Add> </form> "; } Помещается в файл (у меня add.cgi, если будете другое имя использовать - поправте переменную $html_file) По скрипту 1) Скрипт был найден в гугле, это БЫЛА примитивнейшая гостевая книга, которая была облегчена под мои нужды. Если автор узнает свое творение - спасибо ему огромное. 2) Он делает 2 действия, выводит существующие записи, и есть форма для добавления новых. Удалять через него нельзя. (В моем случае это не нужно, у меня удалением занимается крон и сш-скрипт раз в месяц, а пользуюсь я им исключительно для добавления "охреневших" пользователей в deny-лист. 3) На апач авторизация обязательна потому как за пару часов этим скриптом можно забить весь раздел ... это не есть гут. Успехов =)
- интерфейс добавления правил в ipfw, Vitaly_loki, 21:46 , 14-Авг-08 (14)
>[оверквотинг удален] >2) Он делает 2 действия, выводит существующие записи, и есть форма для >добавления новых. Удалять через него нельзя. (В моем случае это не >нужно, у меня удалением занимается крон и сш-скрипт раз в месяц, >а пользуюсь я им исключительно для добавления "охреневших" пользователей в deny-лист. > > >3) На апач авторизация обязательна потому как за пару часов этим скриптом >можно забить весь раздел ... это не есть гут. > >Успехов =) Ну вот, я же говорил :) Perl + CGI :) Можно еще поставить модуль DBI, DBD-mysql и хранить не в файле, а в базе данных список правила ipfw
- интерфейс добавления правил в ipfw, Bani, 17:17 , 13-Сен-08 (15)
>[оверквотинг удален] >> >> >>3) На апач авторизация обязательна потому как за пару часов этим скриптом >>можно забить весь раздел ... это не есть гут. >> >>Успехов =) > >Ну вот, я же говорил :) Perl + CGI :) Можно еще >поставить модуль DBI, DBD-mysql и хранить не в файле, а в >базе данных список правила ipfw попробуй WebGui m0n0wall или PfSense
- интерфейс добавления правил в ipfw, Vasily Jakunin, 13:19 , 15-Сен-08 (16)
>Ну вот, я же говорил :) Perl + CGI :) Можно еще >поставить модуль DBI, DBD-mysql и хранить не в файле, а в >базе данных список правила ipfw А подробнее можно? Каким образом заставить ipfw брать правила из MySQL? Я весь инет перерыл :( но так и не нашел примеров реализации этого... :(
- интерфейс добавления правил в ipfw, angra, 14:41 , 15-Сен-08 (17)
Похоже вы не так поняли. С базой работать должен перловый скрипт и на основе данных генерировать правила для ipfw.
- интерфейс добавления правил в ipfw, Vasily Jakunin, 14:44 , 15-Сен-08 (18)
>Похоже вы не так поняли. С базой работать должен перловый скрипт и >на основе данных генерировать правила для ipfw. Нет! Понял я правильно! Написал же человек: "Ну вот, я же говорил :) Perl + CGI :) Можно еще поставить модуль DBI, DBD-mysql и хранить не в файле, а в базе данных список правила ipfw" Если так, то правила лежат не в файле rc.firewall а как раз в базе MySQL, только как такое реализовать, я так и не понял. В манах по IPFW ни чего про это... :(
- интерфейс добавления правил в ipfw, angra, 15:06 , 15-Сен-08 (19)
- интерфейс добавления правил в ipfw, Vasily Jakunin, 15:54 , 15-Сен-08 (20)
>мда, безнадежен :( Можно и не хамить! :) Понятно что к MySQL-у обращается не IPFW а скрипт при чем на чем он, не суть важна, мне интересен механизм... допустим, я написал программу на Delphi через ODBC подключил MySQL и запихиваю себе в базу приспокойно правила для IPFW, дальше некий скриптик через крон обращается к базе забирает от туда все что я там накропал и пихает это все IPFW, вот вопрос собственно в том, каким образом он это пихает... ведь надо: 1. Либо заново постоянно генирировать файл правил, либо как-то дописывать в конец файла то, что изменилось. 2. Перезапускать IPFW после изменения правил. Так? :)
- интерфейс добавления правил в ipfw, angra, 20:33 , 15-Сен-08 (21)
что мешает вызывать из скрипта консольный ipfw и при помощи него добавлять правила?
- интерфейс добавления правил в ipfw, Vasily Jakunin, 10:09 , 16-Сен-08 (22)
>что мешает вызывать из скрипта консольный ipfw и при помощи него добавлять >правила? Мешает то, что добавлять правила должен не один человек, а допустим несколько и проблема в том, что консольный набор осилит только тот, кто это все делал, остальные в этом ни как. То есть, грубо горя есть 2 администратора, которые от Unix далеки, но вполне могут выполнять эту работу. Пускать на сам сервер под root, как-то не хотелось бы. По этому и такие вот извращения. :) Проблема еще в том, что в Perl я как-то не силен. Ну не нравится мне его синтаксис... Накропал на PHP скриптик. Работает. Но, придется его руками запускать после добавления правил в БД. <?php $filename = '/etc/rc.firewall'; $conn = mysql_connect("localhost", "user", "password"); if (!$conn) { echo "Unable to connect to DB: " . mysql_error(); exit; } if (!mysql_select_db("network")) { echo "Unable to select table: " . mysql_error(); exit; } $sql = "SELECT * FROM ipfw"; $result = mysql_query($sql); if (!$result) { echo "Error run ($sql) from DB: " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "No record in table!"; exit; } if (is_writable($filename)) { if (!$handle = fopen($filename, 'w+')) { echo "Error open ($filename)"; exit; } while ($row = mysql_fetch_assoc($result)) { $somecontent = $row["rule"]; if (fwrite($handle, $somecontent. "\n") === FALSE) { echo "No write to ($filename)"; exit; } $somecontent = ''; } fclose($handle); } mysql_free_result($result); ?> Вот, как-то так.
- интерфейс добавления правил в ipfw, frol, 05:06 , 15-Авг-12 (23)
>[оверквотинг удален] > ($filename)"; > exit; > } > $somecontent = ''; > } > fclose($handle); > } > mysql_free_result($result); > ?> > Вот, как-то так.а нафига это БАЗОЙ впихивать в файл???
|