Записи с тэгом ‘Apache’

Fcgiwrap, or How to run CGI-scripts without Apache and mod_cgi

Tuesday, August 25th, 2015

This buzz is not without the reason.

Soviet cartoon «Winnie the Pooh»

pooh-buzz

It’s definitely a bad idea to get Apache running only for executing some lightweight CGI-scripts. And it’s definitely a good idea to use Nginx where possible. But Nginx while being a perfect reverse proxy just cannot run GGI because of its event-based paradigm. This is the situation where the strengths become weaknesses. But we can still deal with this by virtue of some third-party tools like fastcgi wrappers. One of such tools is fcgiwrap server and in this post I’ll show how to build it and how to use it.

(more…)

Метки: , ,
Категория: Apache, Linux, Nginx | Нет комментариев »


Три способа по-быстрому поднять forward proxy

Friday, January 24th, 2014

У них, милсдарь ведьмак, такой принцип: если цель привлекает, средство должно найтись.

Анджей Сапковский «Владычица озера»

3ways

Forward proxy – это (обычно) анонимный прокси, к которому клиент обращается и сообщает адрес хоста, к которому он хочет подключиться.

При обращении на такой прокси браузер особым образом формирует запросы. В случае обычного HTTP протокола он просто добавляет обязательный заголовок Host:, а сам URL в запросе формирует в абсолютном виде. В этом случае принципиальной разницы с reverse proxy нет. Но при обращении на HTTPS или любой нестандартный порт происходит установление сквозного туннеля  с целевым сервером с помощью метода CONNECT, отправляемого на прокси. Прокси при этом использует заголовки этого запроса для установления соединения, но не может ни ловить сессионные SSL-ключи, ни тем более смотреть проходящий трафик.

Работать в режиме forward proxy могут многие серверы, но не все. Тот же Nginx, например, хоть и считается одним из лучших reverse proxy, категорически не работает как forward и вообще не умеет обрабатывать метод CONNECT. Поэтому я по-быстрому рассмотрю Apache TrafficServer, Apache/mod_proxy и Squid. Плюс задача будет усложнена условием, чтобы прокси-сервер пропускал только трафик, идущий на определённый домен и его суб-домены, и не все серверы с этим справятся (по крайней мере "по-быстрому").

(more…)

Метки: ,
Категория: Linux | Нет комментариев »


Заметки об Apache, часть 6: Простая защита от ДДоС/брутфорса средствами ModSecurity

Wednesday, March 27th, 2013

Попробуй хотя бы… Сыграем мир в четыре руки?

Г.Л.Олди «Восставшие из рая»

Года, эдак, три назад я уже постил здесь статейку "mod_security2 для Apache", касающуюся использования модуля ModSecurity. Она и сейчас вполне занятна, полезна и самодостаточна. И там даже был пример на нашу сегодняшнюю тему, но я хотел бы эту самую тему углубить и рассмотреть более подробно. Посмотрим, как можно защититься от перебора паролей на сайте или даже обеспечить простенькую (это ключевое слово, так как от забивания полосы канала это не спасёт) защиту от DDoS. Посмотрим, как в ModSecurity можно работать со счётчиками и реализовывать на этих счётчиках сценарии защиты.

Итак, мы предполагаем, что некоторые антисоциальные элементы могут начать доставлять нам неудобства, заваливая сайт некоторыми запросами на логин или, например, на некоторые тяжёлые страницы, нагружающие бэкенд. Давайте их банить.

(more…)

Метки: ,
Категория: Apache | 1 Комментарий »


Заметки об Apache, часть 5: Принудительная компрессия контента

Tuesday, January 29th, 2013

Талант – не редкость, редкость – умение выжить при своих талантах.

Нил Стивенсон «Ртуть»

В некоторых ситуациях может потребоваться сжимать отдаваемые страницы, даже если пользователь не указал в заголовке Accept-Encoding поддержки gzip или вообще не проставил оный заголовок. Чаще всего этими пользователями оказываются вовсе не бедолаги с древними браузерами середины девяностых годов, а простые парсеры wget-чики, которых можно было бы просто забанить, но по какой-то причине жалко. Но трафика тоже жалко. Так что можно придумать два способа, как заставить Apache сжимать контент независимо от Accept-Encoding. (more…)

Метки:
Категория: Apache | Нет комментариев »


Заметки об Apache, часть 4: Пишем ip-адрес в access.log, находясь за Nginx’ом

Thursday, September 20th, 2012

За исключением зефира в шоколаде в мире больше не существовало вещи, об которую Моржов не смог бы открыть бутылку пива.

Алексей Иванов «Блуда и МУДО»

Если Apache стоит за reverse proxy в виде солнцеподобного Nginx'а, то без осуществления дополнительных телодвижений в access.log апача будет писаться ip-адрес Nginx'а вместо ip-адреса пользователя. В большинстве случаев такие вещи никого не волнуют, но для условных mod-rewrite'ов, для ограниченного доступа или просто для порядку можно сделать так, чтобы всё было чин по чину.

Для решения задачи понадобится модуль mod_rpaf (rpaf расшифровывается как reverse proxy add forward). Он умеет переписывать адрес отправителя при наличии заголовка X-Forwarded-For в запроса и при совпадении исходного адреса со списком адресов прокси.

Для этого прикручиваем к Apache модуль mod_rpaf. Для deb-дистров это выглядит так:

 

(more…)

Метки: ,
Категория: Apache, Nginx | 1 Комментарий »


Заметки об Apache, часть 3: Отключаем слабое шифрование и SSLv2

Sunday, August 7th, 2011

Но мы-то не индейцы. Цивилизованному человеку нет нужды переносить страдания, а что до совершения мужественных поступков, то сохрани Форд от подобных помыслов. Если люди начнут действовать на свой риск, весь общественный порядок полетит в тартарары.

– Олдос Хаксли «О дивный новый мир»

Согласно требованиям PCI-DSS, сайты, работающие с конфиденциальной информацией пользователей, не должны поддерживать слабые алгоритмы шифрования, а также протокол SSL версии 2. Наборы тестов на соответствие требованиям PCI-DSS обычно выявляют эти моменты. Впрочем, для соблюдения этих требований многого не требуется. Ниже посмотрим, как проверить настройки ssl своего сервера Apache и какие изменения надо внести в случае необходимости.

(more…)

Метки: ,
Категория: Apache | Нет комментариев »


AWStats: время обслуживания запроса

Monday, August 1st, 2011

Отрешенно, не делая зла, беззаботно живи, словно слон, бредущий сквозь джунгли.

– Гаутама Будда

Недавно потребовалось в отчёт, генерируемый AWStats’ом добавить раздел со статистикой по времени, затрачиваемом на обработку запроса. Вроде бы простая на первый взгляд задача потребовала достаточно много времени на нормальное решение. Поэтому приведу это решение здесь.
(more…)

Метки: ,
Категория: Apache | Нет комментариев »


Заметки об Apache, часть 2: Прячем лишнюю информацию из заголовков

Tuesday, May 25th, 2010

— Я в реке. Пусть река сама несёт меня, – решил Ёжик, как мог глубоко вздохнул, и его понесло вниз по течению.
— «Ёжик в тумане»


Не то чтобы наличие в заголовках ответов от web-сервера информации, скажем, о версии Apache или об установленной операционной системе являлось такой уж большой уязвимостью. Тем более не скажу, что удаление этой информации сразу сделает сервер защищенным. Но тем не менее даже если сервер станет надежнее хотя бы на сотую долю процента (не знаю уж от какой величины считать), то усилия явно не напрасны. Тем более, что информация о вашей версии web-сервера и тем более об операционной системе рядовым пользователям нужна как мне, например, третье ухо. Но зато эта информация очень нужна всяким любителям статистики навроде того, что Apache стоит на x% серверов, IIS – на y%, а nginx – на z%, а также всевозможным деструктивным элементам.
Стоит, естественно, отдавать себе отчёт в том, что атаки на сервер производятся в основном ботами, которым недосуг смотреть заголовки ответов – они могут спокойно перепробовать все известные эксплойты, инъекции и прочее. Так что защита в основном для самоуспокоения. Но все же…

(more…)

Метки:
Категория: Apache, Security | 1 Комментарий »


Заметки об Apache, часть 1: Архивация и клиентское кэширование

Thursday, April 22nd, 2010

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

(more…)

Метки:
Категория: Apache, Web-dev | 1 Комментарий »


Настройка SSL в Apache и Tomcat

Tuesday, March 2nd, 2010

“—Я вам посылку принёс, только я вам её не отдам, потому как у вас докУментов нету
—Усы, лапы, хвост — вот мои документы!”
— «Каникулы в Простоквашино»

Сегодня посмотрим, как обеспечить поддержку шифрованного протокола https для контейнера сервлетов Tomcat. Причём рассмотрим проблему с двух сторон: как обеспечить поддержку https, если фронтэндом является Apache, и как её обеспечить, если Tomcat сам выполняет функции web-сервера. В целом, это достаточно несвязанные задачи, и их просто можно в отрыве от контекста рассматривать как настройку SSL для двух различных приложений.

Вообще, SSL (Secure Socket Layers) – это протокол шифрования трафика с использованием криптографии с открытым ключом (асимметричной криптографии). Непосредственно для шифрования требуется только открытый ключ и закрытый ключ сервера. А для аутентификации сервера, то есть для проверки, что сервер, с которым контактирует клиент и передаёт ему некоторые конфиденциальные данные тот, за который он себя выдаёт – требуется сертификат. Сертификат, подписанный доверенным Certificate Authority (CA) даёт такую гарантию. При более низких требованиях к безопасности можно использовать самоподписанные сертификаты.

Всё нижеописанное производилось и проверялось с Apache 2.2.12 и Tomcat 6.0.24 на операционных системах CentOS 5.4 и Ubuntu 9.10 c JDK 1.6.0.18.
(more…)

Метки: , ,
Категория: Apache, Security, Web-dev | 19 Комментариев »