[nginx-ru-announce] nginx-1.6.1
Изменения в 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
Привет, товарищи Прочитал не одну тему на данную ошибку, но могу понять таки, почему у меня такая ошибка. * Окружение: 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
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
Изменения в 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
Изменения в 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)
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
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
Доброго дня! Решили попробовать 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
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
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
Привычка :) 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