LINUX.ORG.RU
ФорумAdmin

Закрыть доступ


0

0

Скажите, чем или как можно закрыть доступ по браузеру?
В апаче закрывал, но 403 тоже очень нагружает...
Может можно закрыть по user-agent в nginx, а лучше сразу в iptables?
МОжет кто сталкивался с задачей?

Думаю самый простой способ через iptables. Только не DROP а REJECT делать. Тогда будет сразу отфутболивать.

iron ★★★★★
()
Ответ на: комментарий от Decanter

Нашел вариант:
iptables -A FORWARD -m string --string "DownloadMaster" -j REJECT
Но вот, что там пишут:
Для этого надо пересобрать ядро с поддержкой patch-o-matic (расширение для iptables)

Как узнать есть ли этот "patch-o-matic" и собственно, как сделать, что-бы он там появился? :)

Decanter
() автор топика
Ответ на: комментарий от true_admin

[root@km23712-08 ~]# iptables -A FORWARD -m string --string "Opera/9.02 (Windows NT 5.1; U; ru)" -j DROP
iptables v1.3.5: STRING match: You must specify `--algo'
Try `iptables -h' or 'iptables --help' for more information.

Это значит, что не собрано?

Decanter
() автор топика
Ответ на: комментарий от Decanter

разве там написано что не собрано. там написано "Вы должны определить `- algo'"

true_admin ★★★★★
()
Ответ на: комментарий от Decanter

>А разве DROP не лучше?

Лучше всего TARPIT ;)
Но он не везде есть.
REJECT - сразу послать RST, чтобы контрагент сам отвалил.
DROP - отмалчиваться, ничего не отвечать.
TARPIT - открыть соединение, а затем "подвесить" его. Вашему компу ничего, а контрагенту - гемор. Особенно актуально при досе - чем больше коннектов, тем больше гемора. Правда, говорят, линух не ведется. Но досят-то обычно с винды :)

В xtables-addons в squeeze есть еще такие прикольные вещи, как CHAOS и DELUGE. Но они актуальны гл.обр. при скане портов.

nnz ★★★★
()
Ответ на: комментарий от nnz

Скажите, а как обновить iptables, что-бы эти все фичи были, хотя бы string
У меня iptables 1.3.5 и CentOS

Decanter
() автор топика
Ответ на: комментарий от Decanter

>Скажите, а как обновить iptables, что-бы эти все фичи были, хотя бы string

Посмотрел штатный iptables в центосе. Собрано отлично - и string есть, и connlimit, и TARPIT, и куча всяких других вкусностей.

Правда, hashlimit скорее всего без пересборки ядра не взлетит, и psd нету, но это уже совсем другая история :)

В любом случае, string у вас должен быть - иначе бы ошибка выглядела примерно так:
Couldn't load match `string':/lib/iptables/libipt_string.so: cannot open shared object file: No such file or directory

Что касается приколов типа CHAOS, DELUGE, lscan и т.п. - нигде кроме Дебиана в готовеньком виде я этих фич не видел. Происходят они отсюда: http://xtables-addons.sourceforge.net/
И для запуска hashlimit там с пересборкой ядра плясать не надо. В общем, свои достоинства у дебиановского фаервола есть.

nnz ★★★★
()
Ответ на: комментарий от Decanter

>Как же всетаки определить --algo?

Предлагаю экспериментально ;)
Попробовать --algo bm и --algo kmp и сравнить результаты. Делов-то!

nnz ★★★★
()
Ответ на: комментарий от nnz

Указал --algo

[root@km23712-08 mp3]# iptables -I INPUT -j DROP -p tcp -m --algo kmp string --string "cmd.exe"
iptables v1.3.5: Couldn't load match `--algo':/lib/iptables/libipt_--algo.so: cannot open shared object file: No such file or directory

Decanter
() автор топика
Ответ на: комментарий от Decanter

Мляяяя.... Ну RTFM же!!!

iptables -I INPUT -p tcp -m string --algo kmp --string "cmd.exe" -j DROP

После -m должно следовать имя модуля-критерия. В данном случае string. Потом идут дополнительные параметры модуля.

nnz ★★★★
()
Ответ на: комментарий от Decanter

5.3 под рукой не оказалось, а на 5.2 отлично работает. Добавляется без ошибок и дропает пакеты с заданной строкой (проверял с помощью nc).

Такая ошибка выскакивает, если неправильно название алгоритма задать, например, kmc вместо kmp. У вас там точно буква p не русская?

nnz ★★★★
()
Ответ на: комментарий от Decanter

[root@alice ~]# uname -a
Linux alice 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 12:03:43 EST 2008 i686 athlon i386 GNU/Linux
[root@alice ~]# iptables --version
iptables v1.3.5
[root@alice ~]# iptables -I INPUT -p tcp -m string --algo bm --string "cmd.exe" -j DROP
[root@alice ~]# iptables -I INPUT -p tcp -m string --algo kmp --string "cmd.exe" -j DROP
[root@alice ~]# iptables -vnL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "cmd.exe" ALGO name kmp TO 65535
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "cmd.exe" ALGO name bm TO 65535
...

Это на 5.2. Если не забуду - на днях посмотрю как на 5.3.

nnz ★★★★
()
Ответ на: комментарий от nnz

[root@km23712-08 conf]# uname -a
Linux km23712-08.keymachine.de 2.6.18-028stab059.5-ent #1 SMP Fri Oct 24 21:25:14 MSD 2008 i686 i686 i386 GNU/Linux
[root@km23712-08 conf]# iptables --version
iptables v1.3.5
[root@km23712-08 conf]# iptables -I INPUT -p tcp -m string --algo bm --string "cmd.exe" -j DROP
iptables: Unknown error 4294967295
[root@km23712-08 conf]# iptables -I INPUT -p tcp -m string --algo kmp --string "cmd.exe" -j DROP
iptables: Unknown error 4294967295

Decanter
() автор топика
Ответ на: комментарий от Decanter

Если ты про connlimit, то он в центосе и не должен работать. Use Debian.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.