[nginx-ru-announce] nginx-1.6.1

2014-08-05 Пенетрантность Maxim Dounin
Изменения в nginx 1.6.1   05.08.2014

*) Безопасность: pipelined-команды не отбрасывались после команды
   STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
   1.5.6.
   Спасибо Chris Boulton.

*) Исправление: переменная $uri могла содержать мусор при возврате
   ошибок с кодом 400.
   Спасибо Сергею Боброву.

*) Исправление: в работе параметра none директивы smtp_auth; ошибка
   появилась в 1.5.6.
   Спасибо Святославу Никольскому.


-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru-announce mailing list
nginx-ru-announce@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru-announce

400 Bad Request.No required SSL certificate was sent

2014-08-05 Пенетрантность esirenko
Привет, товарищи

Прочитал не одну тему на данную ошибку, но могу понять таки, почему у меня
такая ошибка.
*
Окружение:

nginx version: nginx/1.6.0
built by gcc 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)
TLS SNI support enabled

+ Centos 7
*
как я создавал серты

#Создаём новый корневой СА для наших нужд
openssl req -new -newkey rsa:1024 -nodes -keyout ca.key -x509 -days 500
-subj
/C=RU/ST=RO/L=Rostov-on-Don/O=IT/OU=admin/CN=rootCA/emailAddress=x...@xxx.com
-out ca.crt

#Создаём ключ для сервера
openssl genrsa -des3 -out server.key 1024

#И запрос для него
openssl req -new -key server.key -out server.csr

#И тут же подпишим его нашей подписью
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key
-set_serial 01 -out server.crt


#Создаём ключ для нового клиента и файл запроса сертификата
openssl req -new -newkey rsa:1024 -nodes -keyout ivan.key -subj
/C=RU/ST=Rostov/L=Rostov-on-Don/O=SomeFirm/OU=Ivan/CN=IvansCert/emailAddress=x...@xxx.ru
-out ivan.csr

#создаём сертификат клиента использую созданный запрос на создание
сертификата и файл конфигураций
openssl ca -config ca.config -in ivan.csr -out ivan.crt -batch

#создаём сертификат клиента для браузера, используя его ключ и сертификат
openssl pkcs12 -export -in ivan.crt -inkey ivan.key -certfile ../cert.pem
-out ivan.p12 -passout pass:qwerty.


Конфиги

ssl.conf
**
ssl_session_cache   shared:SSL:10m;
ssl_session_timeout 5m;

#ssl_stapling   on;

ssl_prefer_server_ciphers   on;
ssl_protocols   TLSv1.2 TLSv1.1;
ssl_client_certificate  /etc/nginx/ssl/ca.crt;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.nopass.key;
add_header  Strict-Transport-Security 'max-age=604800';

ssl_verify_client   on;
#ssl_verify_depth   3;
ssl_ciphers EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM
EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256
EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK
!SRP !DSS;


keepalive_timeout 70;
fastcgi_param SSL_VERIFIED $ssl_client_verify;
fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial;
fastcgi_param SSL_CLIENT_CERT $ssl_client_cert;
fastcgi_param SSL_DN $ssl_client_s_dn;
*


nginx.conf
*
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log debug;
pid/var/run/nginx.pid;


events {
worker_connections  1024;
}


http {
include   /etc/nginx/mime.types;
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] $request
'
  '$status $body_bytes_sent $http_referer '
  '$http_user_agent $http_x_forwarded_for';

access_log  /var/log/nginx/access.log  main;

sendfileon;
#tcp_nopush on;

keepalive_timeout  65;

#gzip  on;

include /etc/nginx/conf.d/*.conf;

 # Redirect HTTP to HTTPS:
server {

listen   80;
server_name  192.168.100.38;
return 301 https://$server_name$request_uri;


}

# HTTPS server:
server {

listen   192.168.100.38:443 ssl;
server_name  192.168.100.38;

error_page  404  /404.html;
error_page   500 502 503 504  /50x.html;

include /etc/nginx/ssl/ssl.conf;

location / {
root   /usr/share/nginx/html;
index  index.html index.htm;
}


}
}

***

в итоге инсталлю в яндексовский браузер 
ivan.p12
ivan.crt
server.crt
ca.crt

и на выходе - 400 Bad Request.No required SSL certificate was sent

*
а в error log - 

2014/08/05 13:52:47 [info] 35336#0: *158 peer closed connection in SSL
handshake while SSL handshaking, client: 192.168.100.15, server:
192.168.100.38:443
2014/08/05 13:52:47 [info] 35336#0: *159 client closed connection while
waiting for request, client: 192.168.100.15, server: 192.168.100.38:443
2014/08/05 13:52:47 [info] 35336#0: *160 client sent no required SSL
certificate while reading client request headers, client: 192.168.100.15,
server: 192.168.100.38, request: GET /favicon.ico HTTP/1.1, host:
192.168.100.38


Понимаю насколько банальна эта тема, но глаза что ли замылились?...

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,252280,252280#msg-252280

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 400 Bad Request.No required SSL certificate was sent

2014-08-05 Пенетрантность esirenko
ca.conf
**

[root@localhost db]# cat ca.config
[ ca ]
default_ca = CA_CLIENT # use ca_client section as default while sign CSR

[ CA_CLIENT ]
dir = ./ # main direcory
certs = $dir/certs # certificate directory
new_certs_dir = $dir/newcerts # new certificates directory

database = $dir/index.txt # database file that contains signed certificates
serial = $dir/serial # file that contains serial numbers of certificates in
hex
certificate = ../ca.crt # CA certificate file
private_key = ../ca.key # CA key file

default_days = 365 # lifetime of signed certificate
default_crl_days = 7 # lifetime of CRL
default_md = md5 # sign method

policy = policy_anything # section to use to describe policies

[ policy_anything ]
countryName = optional  # change to 'supplied' if something is important.
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = optional
emailAddress = optional

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,252280,252281#msg-252281

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx-1.7.4

2014-08-05 Пенетрантность Maxim Dounin
Изменения в nginx 1.7.4   05.08.2014

*) Безопасность: pipelined-команды не отбрасывались после команды
   STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
   1.5.6.
   Спасибо Chris Boulton.

*) Изменение: экранирование символов в URI теперь использует
   шестнадцатеричные цифры в верхнем регистре.
   Спасибо Piotr Sikora.

*) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
   Спасибо Piotr Sikora.

*) Исправление: запросы могли зависать, если использовался resolver и
   DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.

*) Исправление: в модуле ngx_http_spdy_module.
   Спасибо Piotr Sikora.

*) Исправление: переменная $uri могла содержать мусор при возврате
   ошибок с кодом 400.
   Спасибо Сергею Боброву.

*) Исправление: в обработке ошибок в директиве proxy_store и в модуле
   ngx_http_dav_module.
   Спасибо Feng Gu.

*) Исправление: при логгировании ошибок в syslog мог происходить
   segmentation fault; ошибка появилась в 1.7.1.

*) Исправление: переменные $geoip_latitude, $geoip_longitude,
   $geoip_dma_code и $geoip_area_code могли не работать.
   Спасибо Yichun Zhang.

*) Исправление: в обработке ошибок выделения памяти.
   Спасибо Tatsuhiko Kubo и Piotr Sikora.


-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx-1.6.1

2014-08-05 Пенетрантность Maxim Dounin
Изменения в nginx 1.6.1   05.08.2014

*) Безопасность: pipelined-команды не отбрасывались после команды
   STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
   1.5.6.
   Спасибо Chris Boulton.

*) Исправление: переменная $uri могла содержать мусор при возврате
   ошибок с кодом 400.
   Спасибо Сергею Боброву.

*) Исправление: в работе параметра none директивы smtp_auth; ошибка
   появилась в 1.5.6.
   Спасибо Святославу Никольскому.


-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx security advisory (CVE-2014-3556)

2014-08-05 Пенетрантность Maxim Dounin
Hello!

Была обнаружена ошибка в SMTP-прокси в nginx, из-за которой атакующий,
контролирующий канал между клиентом и nginx'ом, мог вставлять команды в
SSL-сессии, инициированные с помощью команды STARTTLS, что потенциально
могло приводить к утечке важной информации, передаваемой клиентами
(CVE-2014-3556).

Проблеме подвержен nginx 1.5.6 - 1.7.3.

Проблема исправлена в nginx 1.7.4, 1.6.1.

Патч, исправляющий проблему, доступен тут:

http://nginx.org/download/patch.2014.starttls.txt

Спасибо Chris Boulton за обнаружение проблемы.


-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: [nginx-ru-announce] nginx-1.7.4

2014-08-05 Пенетрантность Andrey Kopeyko

05.08.2014 17:56, Maxim Dounin пишет:

Изменения в nginx 1.7.4   05.08.2014



Привет, Макс!


 *) Исправление: запросы могли зависать, если использовался resolver и
DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.


А когда это исправление войдёт в стабильную ветку 1.6 ?

Остальные исправления вошли в 1.6.1, а это - почему-то нет...



--
Best regards,
Andrey Kopeyko and...@kopeyko.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

upstream healt_check

2014-08-05 Пенетрантность Den Bozhok
Доброго дня! Решили попробовать nginx plus и модуль healt_heck. Собственно отрывок из конфига: match backend {  status 200-403;} upstream backend {  zone upstream_backend 64k;  queue 1024;   server  slow_start=60s max_cons=1024;   least_conn;} server {  listen 80;   location / {    health_check match=backend;    proxy_pass http://backend;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_connect_timeout 1s;    proxy_next_upstream error timeout invalid_header;     proxy_http_version 1.1;    proxy_set_header Connection "";    proxy_buffers 4 256k;  }  location = /status {    stub_status on;    access_log off;  }   location = /status.json {    status;  }   location /upstream_conf {    upstream_conf;  } } Есть часть бэкендов которые в данный момент выключены физически, но они прописаны в upstream backend. При этом запросы на эти бэкенды продолжают сыпаться, а health_check не отправляет health requests на бэкенды, о чем можно догадаться прочитав статус:             {                "active": 0,                "backup": false,                "downstart": 1407244491219,                "downtime": 515646,                "fails": 78,                "health_checks": {                    "checks": 0,                    "fails": 0,                    "unhealthy": 0                },                "id": 28,                "keepalive": 0,                "max_conns": 1024,                "received": 0,                "requests": 78,                "responses": {                    "1xx": 0,                    "2xx": 0,                    "3xx": 0,                    "4xx": 0,                    "5xx": 0,                    "total": 0                },                "sent": 0,                "server": ":80",                "state": "unavail",                "unavail": 1,                "weight": 1            } root@hostname:/etc/nginx# uname -aLinux hostname 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux root@hostname:/etc/nginx# nginx -Vnginx version: nginx/1.7.3 (nginx-plus-r4)built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)TLS SNI support enabledconfigure arguments: --build=nginx-plus-r4 --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_f4f_module --with-http_hls_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_session_log_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_spdy_module --with-ipv6 --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' ___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: upstream healt_check

2014-08-05 Пенетрантность Maxim Konovalov
On 8/5/14 6:10 PM, Den Bozhok wrote:
 Доброго дня!
  
 Решили попробовать nginx plus и модуль healt_heck.
  
[...]

Почему бы вам не обратиться с этой проблемой на plus-supp...@nginx.com?

-- 
Maxim Konovalov
http://nginx.com

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: [nginx-ru-announce] nginx-1.7.4

2014-08-05 Пенетрантность Maxim Dounin
Hello!

On Tue, Aug 05, 2014 at 06:08:39PM +0400, Andrey Kopeyko wrote:

 05.08.2014 17:56, Maxim Dounin пишет:
 Изменения в nginx 1.7.4   05.08.2014
 
 
 Привет, Макс!
 
  *) Исправление: запросы могли зависать, если использовался resolver и
 DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
 
 А когда это исправление войдёт в стабильную ветку 1.6 ?

Если войдёт - то, вероятно, в 1.6.2.

 Остальные исправления вошли в 1.6.1, а это - почему-то нет...

В стабильную ветку изменения попадают после отстоя в mainline, за 
редкими исключениями, в основном - связанными с вопросами 
безопасности.

-- 
Maxim Dounin
http://nginx.org/

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: upstream healt_check

2014-08-05 Пенетрантность Den Bozhok
Привычка :)


05.08.2014, 18:15, Maxim Konovalov ma...@nginx.com:
 On 8/5/14 6:10 PM, Den Bozhok wrote:
  Доброго дня!

  Решили попробовать nginx plus и модуль healt_heck.

 [...]

 Почему бы вам не обратиться с этой проблемой на plus-supp...@nginx.com?

 --
 Maxim Konovalov
 http://nginx.com

 ___
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/mailman/listinfo/nginx-ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru