войти зарегистрироваться

Информационная безопасностьУбийца 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: Автор приносит извинения всем почитателям таких настроек, но до сих пор ещё пытается понять «что проще», автор не отрицает, что он «ещё учится»… :)

*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Гб, под мои задачи он вполне подходит.

  1. Создание хостов
  2. Ротация логов Apache2
  3. Архивация логов Apache2 и удаление старых логов.
  4. Создание базы данных и добавление нового пользователя с правами только к одной базе, с генерацией нового пароля.


Мой любимый редактор 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
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:
  1. избавиться от рутины ковыряния в консоли и файлах
  2. получить экспы в разработке shell-скриптов.

1. Что это такое?


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