Red Hat Training

A Red Hat training course is available for RHEL 8

17.2.4.4. Conceptos básicos del verificador de endurecimiento

El comprobador de endurecimiento está activado por defecto. Puede desactivar el verificador de endurecimiento con la opción de línea de comandos --disable-hardened.

17.2.4.4.1. Opciones de comprobación del endurecimiento

El programa annocheck comprueba las siguientes opciones:

  • Lazy binding se desactiva con la opción del enlazador -z now.
  • El programa no tiene una pila en una región de memoria ejecutable.
  • Las reubicaciones de la tabla GOT se establecen como de sólo lectura.
  • Ningún segmento de programa tiene establecidos los tres bits de permiso de lectura, escritura y ejecución.
  • No hay reubicaciones contra el código ejecutable.
  • La información de la ruta de ejecución para localizar las bibliotecas compartidas en tiempo de ejecución incluye sólo los directorios con raíz en /usr.
  • El programa fue compilado con annobin notas habilitadas.
  • El programa fue compilado con la opción -fstack-protector-strong activada.
  • El programa fue compilado con -D_FORTIFY_SOURCE=2.
  • El programa fue compilado con -D_GLIBCXX_ASSERTIONS.
  • El programa fue compilado con -fexceptions activado.
  • El programa fue compilado con -fstack-clash-protection activado.
  • El programa fue compilado en -O2 o superior.
  • El programa no tiene ninguna reubicación en una escritura.
  • Los ejecutables dinámicos tienen un segmento dinámico.
  • Las bibliotecas compartidas se compilaron con -fPIC o -fPIE.
  • Los ejecutables dinámicos se compilaron con -fPIE y se enlazaron con -pie.
  • Si está disponible, se utilizó la opción -fcf-protection=full.
  • Si está disponible, se utilizó la opción -mbranch-protection.
  • Si está disponible, se utilizó la opción -mstackrealign.