Comments 92
опа :) Они только проснулись? :)))
nginx самое то!
nginx самое то!
У меня только один вопрос, как у человека который nginx не ставил и не работал.
Он может быть полноценной заменой apache? (например для WP и PHPBB3 )
Он может быть полноценной заменой apache? (например для WP и PHPBB3 )
тут же написано что использовать nginx как прокси перед апачем.
Да это я понимаю, просто может nginx работать как самостоятельный web сервер?
Минусовать не надо, обычный житейский вопрос.
Или лучше использовать связку как прокси?
Минусовать не надо, обычный житейский вопрос.
Или лучше использовать связку как прокси?
Да можно :)
я использовал. пхп у меня работал как fastcgi, причем лучше использовать патч php-fpm
я использовал. пхп у меня работал как fastcgi, причем лучше использовать патч php-fpm
А есть статьи хорошие на эту тему?
Просто я обычно использую несколько вещей:
WP,PHPBB3, Simple Machines.
Да еще иногда CRM SugarCRM.
Просто если Nginx сможет полностью заменить apache, это классно!
Просто я обычно использую несколько вещей:
WP,PHPBB3, Simple Machines.
Да еще иногда CRM SugarCRM.
Просто если Nginx сможет полностью заменить apache, это классно!
Да нет Гуглом пользоваться умею, просто думал мало ли кто то имеет хорошую статью на примете. Есть хороший сервис letmegooglethatforyou.com/ =) Правда что то он щас не работает T_T
ну тут все уже зависит от вас. Сможете переписать mod_rewrite правила — значит хорошо, нет — извольте
там не сложно переписать:
1) надо в нгинксовой версии добавить слеши в начале
2) RewriteRule заменить на rewrite
3) [L] заменить на last;
Пример апача:
нгинкс
1) надо в нгинксовой версии добавить слеши в начале
2) RewriteRule заменить на rewrite
3) [L] заменить на last;
Пример апача:
RewriteRule ^(en|de)/album/(.+?)/(.+?)/(.*)$ album.php?cn=$1&albid=$2&albname=$3&$4 [L]
нгинкс
rewrite ^ /(en|de)/album/(.+?)/(.+?)/(.*)$ /album.php?cn=$1&albid=$2&albname=$3&$4 last;
А что такое nginx-passenger? Google не сильно помог.
Вы про запускалку fastcgi процессов из пакета lighttpd (spawn-fcgi или как его там) или про что-то другое?
Никогда не понимал, почему на неё будто молятся и ставят ради неё пакет лайти в добавок к nginx. Она же довольно тупая и по возможностям не отличается принципиально от штатного start-stop-daemon.
Хоть хабратопик в духе разрушителей мифов пиши :-)
Хоть хабратопик в духе разрушителей мифов пиши :-)
Есть ещё патч php-fpm — по возможностям гораздо более интересный. Я лично его использзую, доволен.
Приятная новость: 3 месяца назад spawn-fcgi формально отделился от lighttpd в отдельный проект: redmine.lighttpd.net/projects/spawn-fcg. И выпущено уже 3 minor-релиза.
Так точно, поэтому у нас, например, обычный start-stop-daemon в обвязке с gentoo script :-)
nginx не имеет механизмов, похожих на htaccess. Всё остальное более-менее можно и переписать.
Почему?
На каждый запрос дёргать N директорий (где N — уровень вложенности) на наличие и/или изменение .htaccess?
тем более в случае с nginx понятие «директория» не такое простое как в апаче.
Понял. Вы про файлик .htaccess на диске.
Я почему-то подумал про ограничение доступа вообще, в том числе те что в httpd.conf.
Я почему-то подумал про ограничение доступа вообще, в том числе те что в httpd.conf.
habrahabr.ru/blogs/infosecurity/62980/#comment_1743685
Но на самом деле это ведь не обязательная функция. Захотел администратор — значит будем дергать. Не включал эту функцию — не будем дергать.
Но на самом деле это ведь не обязательная функция. Захотел администратор — значит будем дергать. Не включал эту функцию — не будем дергать.
Для многих задач может. Если все же нужен Апач, nginx принимает соединения, отдает статические файлы, а динамику передает дальше на обработку Апачу.
Да.
А что на рисунке рука или нога?
Да кстати можно прямую ссылку на письмо RSnake в рассылке?
Може нубский вопрос, но все же:
IIS такой атаке подвержен?
IIS такой атаке подвержен?
Ща потестим
нет. это подробно описано в статье.
Не подвержен. Это связано с тем, что IIS использует совсем отличный от других веб-серверов спрособ обработки запросов.
Спасибо :)
Сразу скажу что с ним не работал, рассказываю только по тому что я понял из статей.
В статьях написано что IIS посылает данные обработчикам не на уровне HTTP запросов, а на уровне сетевых пакетов или группы пакетов. Звучит очень сложно, но, в принципе, реально.
В статьях написано что IIS посылает данные обработчикам не на уровне HTTP запросов, а на уровне сетевых пакетов или группы пакетов. Звучит очень сложно, но, в принципе, реально.
Вот отрывок:
«What IIS does differently, is in the way it handles incoming requests: There is no static tie between a worker thread and a network socket in IIS. Rather, the workers are organized in a pool where they wait for incoming TCP packets (rather than TCP connections as Apache does). These packets are then assigned dynamically to threads. So, an idle connection occupies a socket, but it does not block an entire thread. Thus the web need not be shut down by penny-wielding customers or slowloris.»
«What IIS does differently, is in the way it handles incoming requests: There is no static tie between a worker thread and a network socket in IIS. Rather, the workers are organized in a pool where they wait for incoming TCP packets (rather than TCP connections as Apache does). These packets are then assigned dynamically to threads. So, an idle connection occupies a socket, but it does not block an entire thread. Thus the web need not be shut down by penny-wielding customers or slowloris.»
Судя по википедии, в винде тоже подобие accept-фильтров BSD-шных (сюрприз!) используется. :-)
> один обший таймаут
Исправьте, пожалуйста.
Исправьте, пожалуйста.
>>Атака заключается в очень медленной посылке все новых и новых HTTP заголовков в рамках одного HTTP запроса...
Эстонский DoS :)
Эстонский DoS :)
Замените нити на потоки… вроде принятая терминология.
Ну да, прям ни кто не знал про эту атаку. 8-\ Самый настоящий баян.
Вот и разработчики Apache так говорят, но на самом деле данный тип аттаки гораздо более доступен скрипт-киддисам, чем обычная DDoS атака. В то же время он гораздо дешевле.
скрипт-киддисы в данном случае лечатся лимитом на число соединений с одного IP
Увы, не все так просто. Существующие модули для ограничения соединений работают не на том уровне обработки запроса.
Более того, ограничением по IP вы порежете сети, которые сидят за NAT-ом.
Более того, ограничением по IP вы порежете сети, которые сидят за NAT-ом.
Данный тип атаки был обнародован специалистом по безопасности RSnake 17 июня
Вообще, в Update сказано, что он далеко не первый это придумал.
Ну а на самом деле это классический DoS против любого fork-ающегося сервера без адекватных лимитов и таймаутов. Настолько классический, что преподносить его как что-то новое довольно странно.
Можно сказать что RSnake раскрыл глаза разработчикам Apache и поднял шум вокруг этого. Думаю им придется в ближайшее время заняться таймаутами как минимум.
Шум поднял и proof-of-concept сделал.
Атака не новая, новы только шум и инструмент.
Ну а таймауты/лимиты — это так, workaround. Проблему решает только accept-фильтр на базе state machine (либо в ядре, либо в самом апаче, либо перед апачем).
Атака не новая, новы только шум и инструмент.
Ну а таймауты/лимиты — это так, workaround. Проблему решает только accept-фильтр на базе state machine (либо в ядре, либо в самом апаче, либо перед апачем).
В Apache есть mpm_event, который реализует state machine, но в этом случае не будут работать большинство модулей, в т.ч. mod_php. Все равно придется делать двухуровневую архитектуру.
Хотя чего уж там, сейчас даже нет реализации mod_php для mpm_worker, — только процессы.
Вы не в курсе, есть ли какие-то планы по имплементации accept http фильтров в ядре Линукс аналогично тем что есть в ядре FreeBSD?
Хотя чего уж там, сейчас даже нет реализации mod_php для mpm_worker, — только процессы.
Вы не в курсе, есть ли какие-то планы по имплементации accept http фильтров в ядре Линукс аналогично тем что есть в ядре FreeBSD?
P.S.
«A computer is a state machine. Threads are for people who can't program state machines.» © Alan Cox
«A computer is a state machine. Threads are for people who can't program state machines.» © Alan Cox
Атака заключается в очень медленной посылке все новых и новых HTTP заголовков в рамках одного HTTP запроса, никогда его не завершая
Какая страшная смерть! (с)
Какая страшная смерть! (с)
> в очень медленной посылке все новых и новых HTTP заголовков в рамках одного HTTP запроса, никогда его не завершая
> кроме огромного количества открытых cоединений со статусом ESTABLISHED.
По-моему фразы противоречат друг другу. В рамках одного запроса = одно соединение. Тогда откуда много открытых сокетов? Или я чего-то не понимаю?
В свое время я клал серваки следующим образом (спокойствие, хозяева были вкурсе):
1. Находится самая «тяжелая» страница с долгим запросом.
2. Пишется клиент, который открывает как можно больше соединений с сервером (пару тысяч).
3. Когда достигнуто максимально возможное значение, по всем посылается http запрос на эту страницу.
4. Для всех сокетов надо установить таймаут побольше и размер входного буфера 1 байт и не читать ответы от сервера.
Простой ограничитель числа коннекшнов с одного ip решает проблему.
> кроме огромного количества открытых cоединений со статусом ESTABLISHED.
По-моему фразы противоречат друг другу. В рамках одного запроса = одно соединение. Тогда откуда много открытых сокетов? Или я чего-то не понимаю?
В свое время я клал серваки следующим образом (спокойствие, хозяева были вкурсе):
1. Находится самая «тяжелая» страница с долгим запросом.
2. Пишется клиент, который открывает как можно больше соединений с сервером (пару тысяч).
3. Когда достигнуто максимально возможное значение, по всем посылается http запрос на эту страницу.
4. Для всех сокетов надо установить таймаут побольше и размер входного буфера 1 байт и не читать ответы от сервера.
Простой ограничитель числа коннекшнов с одного ip решает проблему.
Представьте себе 100 000 соединений (пользователей) и в каждом межденно посылаются HTTP запросы. Получаем 100 000 открытых (ESTABLISHED) соединений. А потому как HTTP запрос еще не завершен, никакой информации в access_log не будет.
Что означает очень медленная посылка HTTP заголовков 10 байт в минуту или сколько?
оффтопик: красавица (я про животное) :)
была почти такая же ситуация. только не хакеры ддосили, а региональные пользователи с модемами ходили.
поставили апач на фронтэнд и нагрузка на сервера упала.
поставили апач на фронтэнд и нагрузка на сервера упала.
Странно, нас такой фигней пытались валить еще в прошлом году. Nginx, как всегда, помог.
Данный тип атаки был обнародован специалистом по безопасности RSnake
как политкорректно нынче называют хакеров XD
вот меня поражают люди, которые ставят минус и никак его не коментируют =/
Sign up to leave a comment.
Slow Lori атака на веб-сервер Apache