Перейти к содержанию
Авторизация  

Защита от DDoS на уровне L7


Описание

Защита от DDoS на уровне L7

Nginx & testcookie-nginx-module

 

1. Install required modules:
$ sudo apt-get install libgeoip-dev
$ sudo apt-get install libgd2-noxpm
$ sudo apt-get install libgd2-noxpm-dev
$ sudo apt-get install libgd2-xpm-dev
$ sudo apt-get install libperl-dev
$ sudo apt-get install libpcre3 libpcre3-dev
$ sudo apt-get install libxml2-dev libxslt-dev
2. Download and Install Nginx:
# wget http://nginx.org/download/nginx-1.4.4.tar.gz
# tar -zxvf nginx-1.4.4.tar.gz
# cd nginx-1.4.4
Download testcookie-nginx-module from http://kyprizel.github.io/testcookie-nginx-module/
# tar -zxvf kyprizel-testcookie-nginx-module-8da7c62.tar.gz
# mv kyprizel-testcookie-nginx-module-8da7c62 kyprizel-testcookie-nginx-module
# mkdir /var/lib/nginx/# ./configure—prefix=/etc/nginx —conf-path=/etc/nginx/nginx.conf —error-log-path=/var/log/nginx/error.log —http-client-body-temp-path=/var/lib/nginx/body —http-fastcgi-temp-path=/var/lib/nginx/fastcgi —http-log-path=/var/log/nginx/access.log —http-proxy-temp-path=/var/lib/nginx/proxy —http-scgi-temp-path=/var/lib/nginx/scgi —http-uwsgi-temp-path=/var/lib/nginx/uwsgi —lock-path=/var/lock/nginx.lock —pid-path=/var/run/nginx.pid —with-debug —with-http_addition_module —with-http_dav_module —with-http_flv_module —with-http_geoip_module —with-http_gzip_static_module —with-http_image_filter_module —with-http_mp4_module —with-http_perl_module —with-http_random_index_module —with-http_realip_module —with-http_secure_link_module —with-http_stub_status_module —with-http_ssl_module —with-http_sub_module —with-http_xslt_module —with-ipv6 —with-sha1=/usr/include/openssl —with-md5=/usr/include/openssl —with-mail —with-mail_ssl_module —add-module=kyprizel-testcookie-nginx-module
Nginx installed in /etc/nginx folder.
# mkdir /etc/nginx/sites-enabled/
# mkdir /etc/nginx/conf.d
# cd /etc/nginx
Download the following configuration file from pastebin:
1. nginx.conf[/size] : http://pastebin.com/23s0XNZE
2. conf.d/proxy.conf[/size] : http://pastebin.com/vzTFMJi2
3. site-available/www.bdneg.com[/size] : http://pastebin.com/jeEyhJ1P
To prevent automatic parsing, challenge cookie value can be encrypted with AES-128 in CBC mode using custom/random key and iv, and then decrypted at client side with JavaScript using SlowAES.
# svn checkout http://slowaes.googlecode.com/svn/trunk/ slowaes-read-only
# cp slowaes-read-only/js/aes.js /var/www/aes.min.js

 


Как установить NGINX на Debian из репозитория с кастомными параметрами компиляции
Иногда требуется установить какой-нибудь софт с расширенными параметрами компиляции. В этой статье дана инструкция, как собрать NGINX с поддержкой Perl и GeoIP, установив его с помощью менеджера пакетов, чтобы в последствии было легко обновлять или удалить.
Итак, дано:

  • Debian 7 (код wheezy);
  • Менеджер пакетов Apt;


Хочется:

  • Поставить самый свежий NGINX;
  • Да еще и с поддержкой GeoIP и Perl.


Базовая логика такая:

  • подключаем репозиторий с самым свежим NGINX;
  • с помощью apt выгружаем исходники NGINX без установки;
  • меняем файл с правилами компиляции;
  • устанавливаем с помощью Apt.


Все последующие команды выполняются из под рута.
Подключаем репозиторий со свежим NGINX
Скачиваем ключ и устанавливаем его:
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
Редактируем файл /etc/apt/sources.list, добавляем в него записи:
deb http://nginx.org/packages/mainline/debian/ wheezy nginx
deb-src http://nginx.org/packages/mainline/debian/ wheezy nginx
Обновляем репозиторий
apt-get update
Конфигурируем NGINX, чтобы он скомпилировался с нужными библиотеками
cd /usr/src
apt-get source nginx
apt-get build-dep nginx
cd nginx-(version)
cd debian
vi rules
В правила добавляем эти флаги:
--with-http_perl_module \
--with-http_geoip_module \
Важно:

  • использовать табы, а не пробелы;
  • после \ не должно быть пробелов – только перенос строки.


Далее собираем NGINX:
cd ../../
apt-get source -b nginx
Все:
/etc/init.d/nginx start
Happy proxy_passing.



Рекомендуемые комментарии

Комментариев нет

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...