El error se conoce como Heartbleed .
¿Soy vulnerable?
En general, se ve afectado si ejecuta algún servidor para el que generó una clave SSL en algún momento. La mayoría de los usuarios finales no se ven afectados (directamente); al menos Firefox y Chrome no usan OpenSSL. SSH no se ve afectado. La distribución de los paquetes de Ubuntu no se ve afectada (se basa en firmas GPG).
Usted es vulnerable si ejecuta cualquier tipo de servidor que utiliza las versiones de OpenSSL 1.0–1.0.1f (excepto, por supuesto, las versiones que se han parcheado desde que se descubrió el error). Las versiones de Ubuntu afectadas son 11.10 oneiric hasta 14.04 versiones preliminares de confianza. Es un error de implementación, no una falla en el protocolo, por lo que solo los programas que usan la biblioteca OpenSSL se ven afectados. Si tiene un programa vinculado con la versión anterior 0.9.x de OpenSSL, no se ve afectado. Solo se ven afectados los programas que usan la biblioteca OpenSSL para implementar el protocolo SSL; los programas que usan OpenSSL para otras cosas no se ven afectados.
Si ejecutó un servidor vulnerable expuesto a Internet, considérelo comprometido a menos que sus registros no muestren conexión desde el anuncio del 07/04/2014. (Esto supone que la vulnerabilidad no fue explotada antes de su anuncio). Si su servidor solo estuvo expuesto internamente, si necesita cambiar las claves dependerá de qué otras medidas de seguridad estén implementadas.
¿Cuál es el impacto?
El error permite que cualquier cliente que pueda conectarse a su servidor SSL recupere aproximadamente 64kB de memoria del servidor. El cliente no necesita ser autenticado de ninguna manera. Al repetir el ataque, el cliente puede volcar diferentes partes de la memoria en intentos sucesivos.
Una de las piezas críticas de datos que el atacante puede recuperar es la clave privada SSL del servidor. Con estos datos, el atacante puede hacerse pasar por su servidor.
¿Cómo me recupero en un servidor?
Ponga todos los servidores afectados fuera de línea. Mientras se estén ejecutando, están potencialmente filtrando datos críticos.
Actualice el libssl1.0.0
paquete y asegúrese de reiniciar todos los servidores afectados.
Puede verificar si los procesos afectados todavía se están ejecutando con `` grep '' libssl. (eliminado) '/ proc / / maps`
Generar nuevas claves . Esto es necesario porque el error podría haber permitido que un atacante obtuviera la antigua clave privada. Siga el mismo procedimiento que usó inicialmente.
- Si utiliza certificados firmados por una autoridad de certificación, envíe sus nuevas claves públicas a su CA. Cuando obtenga el nuevo certificado, instálelo en su servidor.
- Si utiliza certificados autofirmados, instálelo en su servidor.
- De cualquier manera, retire las claves y los certificados antiguos (pero no los elimine, solo asegúrese de que ya no se usen).
Ahora que tiene nuevas claves no comprometidas, puede volver a poner su servidor en línea .
Revocar los viejos certificados.
Evaluación de daños : cualquier información que haya estado en la memoria de un proceso que sirve conexiones SSL puede haberse filtrado. Esto puede incluir contraseñas de usuario y otros datos confidenciales. Debe evaluar cuáles pueden haber sido estos datos.
- Si está ejecutando un servicio que permite la autenticación con contraseña, las contraseñas de los usuarios que se conectaron desde un poco antes de que se anunciara la vulnerabilidad deberían considerarse comprometidas. (Un poco antes, porque la contraseña puede haber permanecido sin usar en la memoria por un tiempo). Revise sus registros y cambie las contraseñas de cualquier usuario afectado.
- También invalide todas las cookies de sesión, ya que pueden haber sido comprometidas.
- Los certificados de cliente no están comprometidos.
- Cualquier información que se haya intercambiado desde un poco antes de la vulnerabilidad puede haber permanecido en la memoria del servidor y, por lo tanto, puede haberse filtrado a un atacante.
- Si alguien ha grabado una conexión SSL antigua y ha recuperado las claves de su servidor, ahora puede descifrar su transcripción. (A menos que se asegure PFS , si no lo sabe, no lo fue).
¿Cómo me recupero en un cliente?
Solo hay algunas situaciones en las que las aplicaciones cliente se ven afectadas. El problema en el lado del servidor es que cualquiera puede conectarse a un servidor y explotar el error. Para explotar a un cliente, se deben cumplir tres condiciones:
- El programa cliente utilizó una versión con errores de la biblioteca OpenSSL para implementar el protocolo SSL.
- El cliente conectado a un servidor malicioso. (Por ejemplo, si se conectó a un proveedor de correo electrónico, esto no es una preocupación). Esto tuvo que suceder después de que el propietario del servidor se dio cuenta de la vulnerabilidad, por lo que presumiblemente después del 2014-04-07.
- El proceso del cliente tenía datos confidenciales en la memoria que no se compartían con el servidor. (Entonces, si solo corrió
wget
para descargar un archivo, no había datos que filtrar).
Si lo hizo entre la noche UTC 2014-04-07 y la actualización de su biblioteca OpenSSL, considere que los datos que estaban en la memoria del proceso del cliente están en peligro.
Referencias