Не удалось запустить Поднять сетевые интерфейсы после настройки Nginx SSL

Why it fails ?

Las instrucciones que aparentemente siguió son parcialmente incorrectas.

$ openssl req -new -key server.key -x509 -days 3653 -out server.crt
//     enter fields... (may all be empty when cert is only used privately)

Los campos que req -new -x509solicitan (al menos con el archivo de configuración ascendente 'estándar' )se usan como el nombre del sujeto en el certificado creado (o la CSR sin-x509). (Para un certificado autofirmado, el nombre del emisor es el mismo que el nombre del sujeto, por lo que también aparecen los mismos datos.)

Para el servidor HTTPS, para establecer que una conexión llegó al servidor válido y no a un impostor, el certificado del servidor debe ser válido según rfc5280 (firmado por una CA de confianza, etc. )Y el certificado debe emitirse al servidor nombrado en la URL:el campo Nombre común en el nombre del sujeto en el certificado debe coincidir con el servidor deseado, o la extensión Nombre alternativo del sujeto(comúnmente abreviado SAN y también llamado UCC por Microsoft o personas influenciadas por Microsoft )debe estar presente y contener una entrada que lo haga. Ver rfc2818 . Es por eso que OpenSSL solicita este campo como:

Common Name (e.g. server FQDN or YOUR name) []:

porque la mayoría de las personas usan URL que identifican el servidor por FQDN, aunque hay excepciones. Por lo tanto, debe responder a ese mensaje con localhost. Oficialmente se prefiere SAN, y todas las CA 'reales' las implementan(VerisignSymantec Digicert, GoDaddy, etc. )desde aproximadamente 2000, pero hacer SAN con OpenSSL requiere un poco más de trabajo.Ya hay muchas preguntas en Stack sobre SAN en OpenSSL; si los necesita y no puede encontrarlos, desenterraré algunos de mis notas. Una excepción es si desea usar Chrome/chromium :a partir de hace unos meses requiere el certificado tiene SAN (con el nombre de servidor correcto )y ya no acepta subject.CN. También hay preguntas sobre esto; ídem.

Tenga en cuenta que los protocolos basados ​​en SSL/TLS que no sean HTTPS pueden diferir, y un nombre de asunto vacío puede estar bien, p. FTPS SNMPS LDAPS.

Why do we need to transfer the client certificate to the server ? This does not happen while I browse the net, or does it ?

¿Se refiere realmente a la red oa la web? Aunque el protocolo SSL/TLS admite la autenticación del cliente a través del certificado del cliente, muy pocos servidores web en la parte segura (HTTPS )de la web utilizan esto. La mayoría de los servidores web que necesitan autenticar a sus clientes utilizan métodos de nivel HTTP ---como por ejemplo las opciones que ofrece Stack . Esto les permite controlar la interfaz de usuario y hacer que sea consistente en todos los navegadores, y proporcionar instrucciones, ayuda y soporte en consecuencia, mientras que la interfaz de usuario para los certificados de cliente se implementa de manera diferente en cada navegador o plataforma y, a menudo, requiere cierta habilidad técnica o al menos inteligencia y paciencia para usar correctamente, lo que la mayoría de los sitios web asumen que la mayoría de los usuarios no pueden o al menos no harán.

Los pocos servidores web que El uso de un certificado de cliente generalmente requiere certificados emitidos por una CA pública y/o un tercero de confianza -(como un gobierno o un banco )o, a veces, una CA administrada o controlada por el propio servidor. El uso de certificados de cliente autofirmados requeriría que los usuarios proporcionaran sus certificados por adelantado --y ese proceso de provisión tendría que ser muy seguro, porque cualquier persona que pudiera obtener un certificado falso aceptado una vez podría hacer conexiones fraudulentas durante años.

OTOH cuando usted 'posee' ambos extremos, el administrador del servidor tiene un trabajo fácil de identificar y confiar en el administrador del cliente, y viceversa.El intercambio de claves AIUI OpenVPN utiliza este (SSL/TLS con certificados autofirmados o tal vez adhoc -CA ).

Respuesta adicional :el cambio anterior debería hacer que la capa TLS de la conexión funcione, pero su configuración aún no funcionará como un servidor HTTPS, porque la salida de uptimeno es una respuesta HTTP válida. Necesita algo que genere encabezados HTTP y contenido, más o menos de la misma manera que lo hacen las 'páginas' CGI en un servidor web real (para HTTP o HTTPS ).

1
09.07.2019, 13:32
1 ответ

Да, так. Я сделал переустановку и перенастройку. Все было хорошо, пока я снова не начал добавлять субдомены. Возникла похожая проблема не слушания. На этот раз networkingвсе было в порядке.

Оказывается, символические ссылки на сайты с sites-availableна sites-enabledс помощью ln -sтребуют полных абсолютных путей. Я использовал относительные. Таким образом, ни один сайт не был включен. Хотя это и не решение проблемы с dhclient/ifup, оно решило проблему для меня.

0
28.01.2020, 00:07

Теги

Похожие вопросы