Информационная безопасность → Убийца Apache — 2

Важное дополнение к прошлому топику: официальные источники сообщают что уязвимости также подвержен устаревший заголовок
Request-Range времен MSIE 3. Проверить, уязвим ли ваш сервер к этому варианту атаки можно так:curl -I -H "Request-Range: bytes=0-1,0-2,0-3,0-4,0-5,0-6" -s www.example.com/robots.txt | grep PartialЕсли у вас на такие запросы отвечает Apache и вы видите 206 Partial Content, значит быть беде.
Информационная безопасность → Убийца Apache у вас на пороге

Буквально пять дней назад в листе рассылки Full Disclosure появился скрипт, по заявлению автора, убивающий Apache начиная от самых старых версий до самых новых.
Персональные блоги → Принцип KISS и директивы mod_rewrite
Пребывая в перманентных нелёгких раздумьях относительно web-технологий и своей к ним причастности, решил поделиться одной простой мыслью.
Было: Принцип KISS в настоящее время используется плохо, и это — плохо!
UPD 1: Афтыр пытается изобрести велосипед, поможем ему в этом? :)
UPD 2: Автору уже не помочь… :)
Было: Такой нелепый вывод был сделал на основе анализа настроек .htaccess для нескольких ультра-популярных систем.
UPD 3: Автор приносит извинения всем почитателям таких настроек, но до сих пор ещё пытается понять «что проще», автор не отрицает, что он «ещё учится»… :)
Было: Принцип KISS в настоящее время используется плохо, и это — плохо!
UPD 1: Афтыр пытается изобрести велосипед, поможем ему в этом? :)
UPD 2: Автору уже не помочь… :)
Было: Такой нелепый вывод был сделал на основе анализа настроек .htaccess для нескольких ультра-популярных систем.
UPD 3: Автор приносит извинения всем почитателям таких настроек, но до сих пор ещё пытается понять «что проще», автор не отрицает, что он «ещё учится»… :)
*BSD → Готовим рыбу Фугу дома или OpenBSD на домашнем сервере
Конечно же речь пойдет не о приготовлении всем известного японского деликатеса. А пойдет она о настройке нескольких сервисов, которые я определил для
себя как необходимые, на домашнем сервере. В качестве операционной системы которого будет выступать OpenBSD.
Многие воскликнут, а зачем тебе эта малоизвестная ОС, ведь есть же Linux, FreeBSD. Да, действительно, я мог бы настроить все необходимое и на других
unix like, но это бы не принесло мне столько удовольствия, сколько я испытал изучая и настраивая OpenBSD. Да и потом, меня всегда привлекают сложные
и нестандартные решения.
Закончим с вступлением и вернемся к теме заголовка.
Спешу представить тебе меню, уважаемый читатель.
Убунтариум → Высокодоступное отказоустойчивое web-приложение на Apache2 и MySQL из песочницы
HA-Apache2 Web-Site and HA-MySQL
Цель: обеспечить высокую доступность web-приложения и минимальное время простоя при отказе одного как web-сервера, так и сервера баз данных.
Замечание! Схема предполагает, что web-приложение и база данных находится на разных серверах.
Для примера будем устанавливать wordpress.
Вариант решения:
Поскольку web-приложение должно быть постоянно доступно, то необходимо минимум два сервера с установленным приложением. Серверы будут отслеживать состояние друг друга, при этом в каждый момент времени ведущим будет только один из них. В случае отказа ведущего сервера его роль принимает второй. Когда первый сервер будет вновь доступен, к нему опять вернется роль ведущего.
Персональные блоги → Автоматизация веб-сервера FreeBSD8 Apache2+Mysql5 Часть 1
Так уж сложилось, что я жутко ленивый. Два года назад когда я приобрел себе VDS и встретился с FreeBSD 7.1 первый раз, убил две недели на настройку всего, что мне нужно было. Сейчас у меня 2*Pentium III 1GHz / RAM 1Гб / 2*SCSI 17Гб, под мои задачи он вполне подходит.
Мой любимый редактор vi. Если кто не знает как с ним работать можно везде где я указал vi заменять на свой ee,mcedit и т.д
Скрипт создания хостов.
Структура на моем сервере следующая, у каждого пользователя в хомдир лежит папка www, выглядит это так.
/home/user/www.
Скрипт внутри папки www создает каталоги с именем хоста.
Пример mk_host.sh domen.ru user
в каталоге /home/user/www будет создана папка domen.ru с директориями
Также будет создан хост в директории Apache2. По моей схеме, для каждого виртуального хоста создается отдельный конфиг.
Смотрим сам скрипт.
- Создание хостов
- Ротация логов Apache2
- Архивация логов Apache2 и удаление старых логов.
- Создание базы данных и добавление нового пользователя с правами только к одной базе, с генерацией нового пароля.
Мой любимый редактор vi. Если кто не знает как с ним работать можно везде где я указал vi заменять на свой ee,mcedit и т.д
Скрипт создания хостов.
Структура на моем сервере следующая, у каждого пользователя в хомдир лежит папка www, выглядит это так.
/home/user/www.
Скрипт внутри папки www создает каталоги с именем хоста.
Пример mk_host.sh domen.ru user
в каталоге /home/user/www будет создана папка domen.ru с директориями
- cgi-bin
- html
- logs
- shadow
Также будет создан хост в директории Apache2. По моей схеме, для каждого виртуального хоста создается отдельный конфиг.
Смотрим сам скрипт.
Персональные блоги → Автоматизация создания виртуального хоста для web-разработки на базе Apache+Nginx
Как быстро создать виртуальнй хост и структуру папок одной строкой в терминале
Так уж сложилось, что для web-разработки я использую отдельный сервер на базе Debian. В первую очередь это обусловлено тем, что я часто работаю вне дома, а так-же это позволяет совместно работать над проектом с коллегами.
Раньше мне приходилось вручную создавать директории для сайта, копировать и править конфиги. Я тратил на это кучу времени и иногда ошибался, а потом судорожно искал где и что я упуслил.
Не так давно я задумался над автоматизацией процесса создания виртуальных хостов. Порыв немного в интернетах, и заодно вспомнив bash, родился скрипт, который избавил меня от рутины и ошибок одновременно.
Персональные блоги → Безопасная настройка виртуального хостинга Debian + Apache2 + vsftpd
1. Постановка задачи
Дано
Debian-сервер «из коробки» (установлен из дистрибутива)
Задача
Организовать работу нескольких проектов на сервере, чтобы люди, которые ими занимаются, не имели доступа к соседним проектам:
- Ограничить возможность обзора файловой системы определенной папкой для пользователя проекта.
- Ограничить возможность запуска бинарников пользователями
- Ограничить возможность открытия портов на сервере (нужно как-то по другому сформулировать)
- Автоматизировать добавление пользователя в систему: создание папки, конфига apache, пользователей mysql или postgres
Персональные блоги → Решение проблемы с «listen() to 0.0.0.0:80, backlog 511 failed» в nginx
Если у Вас стоит nginx перед apache. И у Вас при проверке синтаксиса nginx.conf
на ровном месте тест «проваливается»:
А в логе
Вы видите строчки
Это значит у вас на 80 порту болтается какой-то зомби процесс.
Запустите последовательно из под root
А затем заново запустите nginx (на самом деле это актуально для всех серверов apache, lighthttpd, которые в error-логах могут иметь похожую ошибку)
По материалам этого ресурса:
www.wallpaperama.com/forums/98address-already-in-use-make-sock-could-not-bind-to-address-80-t1091.html
root# nginx -tна ровном месте тест «проваливается»:
2010/04/08 11:54:13 [info] 46893#0: the configuration file /etc/nginx/nginx.conf syntax is ok
2010/04/08 11:54:13 [emerg] 46893#0: the configuration file /etc/nginx/nginx.conf test failedА в логе
tail /var/log/nginx/error.log;Вы видите строчки
listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)Это значит у вас на 80 порту болтается какой-то зомби процесс.
Запустите последовательно из под root
root# for i in `ps auwx | grep -i nobody | awk {'print $2'}`; do kill -9 $i; done
root# for i in `lsof -i :80 | grep http | awk {' print $2'}`; do kill -9 $i; done
root# for i in `ipcs -s | grep nobody | awk '{print $2}'`; do ipcrm -s $i; done
А затем заново запустите nginx (на самом деле это актуально для всех серверов apache, lighthttpd, которые в error-логах могут иметь похожую ошибку)
root# /etc/init.d/nginx startПо материалам этого ресурса:
www.wallpaperama.com/forums/98address-already-in-use-make-sock-could-not-bind-to-address-80-t1091.html
Linux для всех → Скрипт для работы с виртуальными хостами apache2 на локале
0. Intro
Для чего это все? Цели было 2:
- избавиться от рутины ковыряния в консоли и файлах
- получить экспы в разработке shell-скриптов.
1. Что это такое?
Ниже будет представлен скрипт, для работы с виртуальными хостами апача под кубунтой для локальной машины только. Для сервера врядли сгодится. Не для этих целей писался.