Записи с метками Apache
Запуск Java и Apache Felix в chroot jail окружении в Debian Lenny
9 Декабрь
Создание отдельного chroot окружения для Java и Apache Felix позволяет повысить безопасность сервера. Настройку chroot будем производить с помощью утилиты makejail:
apt-get install makejail
Создаем директорию, в которой будет работать Java и Apache Felix.
mkdir /var/flx
Скачиваем свежий JDK и устанавливаем его, запустив бинарный файл в директории /var/flx – он будет распакован в директорию jdk1.6.0_xx.
Директорию с рабочим Apache Felix скопируем, например, в /var/flx/felix.
Создаем пользователя flx, от имени которого Apache Felix будет запускаться в chroot окружении:
adduser --home /var/flx --no-create-home --system --group flx
Создаем скрипт /var/flx/felix-start.sh – он будет запускаться внутри chroot окружения и стартовать Java и Apache Felix:
# !/bin/sh
cd /felix
/jdk1.6.0_18/bin/java -jar ./bin/felix.jar
Пока директория /var/flx выглядит так:
jdk1.6.0_18
felix
felix-start.sh
Меняем владельцев директорий и файлов в /var/flx:
chown root:root -R /var/flx
chown flx:flx /var/flx
chown flx:flx -R /var/flx/felix
chown flx:flx /var/flx/felix-start.sh
chmod 750 /var/flx/
chmod 750 /var/flx/felix
chmod 750 /var/flx/felix-start.sh
В /etc/makejail/ создаем файл felix.py следующего содержания:
chroot="/var/flx"
testCommandsInsideJail=['sh', 'cd', '/var/flx/jdk1.6.0_18/bin/java']
users=["flx"]
groups=["flx"]
Запускаем утилиту makejail, указав созданный конфигурационный файл. makejail проверит все зависимости команд, перечисленных в testCommandsInsideJail и скопирует необходимые библиотеки в /var/flx:
makejail /etc/makejail/felix.py
Получаем предупреждение о том, что /proc придется примонтировать:
WARNING:
You'll need the filesystem procfs mounted as /var/flx/proc
It's mounted now, you can mount it again for example before starting the daemon with :
mount -t proc proc /var/flx/proc
Не забываем проверить, чтобы в /var/flx/etc/passwd, /var/flx/etc/group и /var/flx/etc/shadow (если есть) не было записей других пользователей и групп!
Создаем tmp директорию:
mkdir /var/flx/tmp
chown flx:flx /var/flx/tmp
Теперь /var/flx выглядит так:
drwxr-xr-x 2 root root 4096 Дек 9 18:56 bin
drwxr-xr-x 2 root root 4096 Дек 9 18:56 dev
drwxr-xr-x 2 root root 4096 Дек 9 19:10 etc
drwxr-x--- 7 flx flx 4096 Дек 9 19:12 felix
-rwxr-x--- 1 flx flx 63 Дек 9 19:08 felix-start.sh
drwxr-xr-x 10 root root 4096 Дек 9 16:39 jdk1.6.0_18
drwxr-xr-x 4 root root 4096 Дек 9 18:57 lib
dr-xr-xr-x 2 root root 4096 Дек 9 18:56 proc
drwxr-xr-x 2 root root 4096 Дек 9 18:57 sbin
drwxr-xr-x 2 root root 4096 Сен 16 2008 selinux
drwxr-xr-x 3 root root 4096 Дек 9 18:56 sys
drwxr-xr-x 3 flx flx 4096 Дек 9 19:06 tmp
drwxr-xr-x 4 root root 4096 Дек 9 18:56 usr
drwxr-xr-x 3 root root 4096 Дек 9 18:56 var
Создаем 2 скрипта для запуска и остановки Apache Felix в chroot окружении:
/etc/felix-chroot-start.sh:
# !/bin/sh
mount -t proc proc /var/flx/proc
start-stop-daemon --start --chroot /var/flx --chuid flx:flx --exec felix-start.sh &
/etc/felix-chroot-stop.sh:
# !/bin/sh
killall felix-start.sh
killall java -u flx
umount /var/flx/proc
Меняем права:
chmod 750 /etc/felix-chroot-start.sh /etc/felix-chroot-stop.sh
Вот и все. Запускаем /etc/felix-chroot-start.sh:
Защита Apache от DDOS атак – Часть 2
16 Сентябрь
Собственно, речь пойдет о защите от SYN flood атак:
Очень популярная DoS атака заключается в посылке большого числа SYN пакетов на ваш сервер. При этом установка TCP связи не доводится до конца. Очередь полуоткрытых запросов соединений быстро заполняется, что мешает установке нормальных соединений. Так как соединение не должно быть обязательно завершено, такая атака не требует больших ресурсов от атакующей машины, поэтому её легко реализовать и контролировать.
Определить SYN атаку просто – команда netstat выдает огромный список полуоткрытых подключений: Читать дальше >
Защита Apache от DDOS атак – Часть 1
15 Сентябрь
В 1й части мы будем устанавливать модуль Apache mod-evasive на Debian сервер. Этот модуль отслеживает количество подключений с определенного клиента и блокирует IP адрес на определенное время при превышении лимита.
sudo apt-get install libapache2-mod-evasive
Или берем отсюда:
http://packages.debian.org/lenny/libapache2-mod-evasive
И устанавливаем так:
dpkg -i libapache2-mod-evasive_x.x.x.deb
Документация на английском языке:
http://www.helicontech.com/ape/doc/mod_evasive.htm
Создаем файл /etc/apache2/mods-available/mod-evasive.conf с вот такими настройками:
Читать дальше >
