Перейти к содержимому


Фотография
- - - - -

Защита от DDOS на Уровне L7


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 alex

alex

    Администратор

  • Администраторы
  • 46 сообщений

Отправлено 14 Октябрь 2015 - 16:23

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/dow...nx-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.gith...e-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 : http://pastebin.com/23s0XNZE
2. conf.d/proxy.conf : http://pastebin.com/vzTFMJi2
3. site-available/www.bdneg.com : 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.googl....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 (на данный момент 1.9.3);
  • Да еще и с поддержкой 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/pac...ainline/debian/ wheezy nginx
deb-src http://nginx.org/pac...ainline/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.

 


5781106142.png