Configuración inicial necesaria cuando se instala CentOS.


Fecha de publicación:8 de diciembre de 2020.



INFOMARTION > Configuración inicial necesaria cuando se instala CentOS.

Resumen.

Esta sección describe los primeros ajustes necesarios después de instalar CentOS. Está construido con CentOS 7.6 (1810).

Índice de contenidos

  1. configuración básica
  2. resumen

1. configuración básica

Esta sección describe la configuración básica necesaria inmediatamente después de instalar CentOS.

1-1. Comprobación del sistema operativo

En primer lugar, comprueba que tienes instalado el sistema operativo correcto.

[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

'CentOS Linux release 7.6.1810 (Core)' es el sistema operativo instalado. Compruebe que es correcto.

1-2. Instalación de la herramienta

Inmediatamente después de la instalación, no se pueden ejecutar comandos básicos como ifconfig. Por lo tanto, la instalación se lleva a cabo para que la red básica y otros comandos puedan ser ejecutados por los comandos yum.

Por favor, realice esto si es necesario, ya que es posible modernizar lo que ya se ha instalado con 'yum -y update'.

[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute

net-tools・・・El comando ifconifg y otros pueden ser utilizados después de la instalación.

wget・・・Literalmente, pero se puede utilizar el comando wget. Brevemente, este comando envía una solicitud http.

tcpdump・・・Literalmente, pero se puede utilizar el comando tcpdump. Brevemente, puede monitorear las solicitudes enviadas al servidor.

traceroute・・・Literalmente, pero se puede utilizar el comando traceroute. Brevemente, muestra la ruta de la IP de destino.

1-3. Desactivar selinux

Desactive selinux ya que está activado y puede comportarse de forma inesperada.

Para empezar, selinux es un entorno relacionado con la seguridad. Si eres capaz de utilizarlo, puedes habilitarlo, pero si te resulta difícil, desactívalo. Desactivar selinux no hace necesariamente que la seguridad sea vulnerable.Es más probable que cause problemas si está activado, aunque personalmente no lo entiendo bien. La explicación sencilla es que selinux es una medida de seguridad después de que el servidor haya sido violado (configurado para minimizar los daños en caso de violación), por lo que es bastante más importante tomar medidas de seguridad para evitar que el servidor sea violado.

A continuación se indican los pasos para la desactivación.

[username@hostname ~]$ getenforce
Disabled

Si no está "Desactivado", se puede cambiar mediante el siguiente procedimiento.

[username@hostname ~]$ vi /etc/selinux/config


config【Antes del cambio】


SELINUX=enforcing


config【después del cambio】


SELINUX=disabled

'SELINUX' y 'SELINUXTYPE', pero es el 'SELINUX' el que hay que cambiar. Tenga en cuenta que si cambia el "SELINUXTYPE" por error, el servidor no se iniciará.

Reinicie el servidor y la configuración tendrá efecto.

1-4. usuario operativo adicional

Entrar y trabajar como usuario root es peligroso, así que añade un usuario para entrar. En un paso posterior, desactive el inicio de sesión del usuario root.

El riesgo de trabajar como usuario root conectado es que puedes hacer lo que quieras. El riesgo de poder hacer cualquier cosa es que podrías cambiar o borrar accidentalmente cambios importantes relacionados con el sistema operativo. Si utilizas el servidor para uso personal, como hobby o estudio, y no cometes errores tan comunes, personalmente no veo ningún problema en iniciar sesión como usuario root. La razón número uno para no permitir que el usuario root se conecte es la separación de poderes. El equipo de desarrollo de la aplicación utiliza usuarios que sólo tocan el directorio para el desarrollo de la aplicación. El equipo de desarrollo de lotes utiliza usuarios que sólo tocan el directorio de desarrollo de lotes. Es mejor separar a los usuarios para que los equipos necesarios puedan tocar los directorios necesarios, como

A continuación se indican los pasos para añadir usuarios.

[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx

※xxxxxxxx es el nombre del usuario a añadir. Establece cualquier contraseña.

1-5. Cambiar la contraseña del usuario root

Si no es el usuario root, cambie al usuario root con su - y ejecute el siguiente comando

[username@hostname ~]$ su -
[root@hostname ~]# passwd

※Establece cualquier contraseña.

Nunca abandones la contraseña inicial. La contraseña 'root' es la peor. Las contraseñas "password" y "1234" también son bastante peligrosas. Un mínimo de ocho dígitos, incluyendo símbolos alfanuméricos, es bueno.

Esta configuración de la contraseña es bastante importante para las medidas de seguridad y debe establecerse con el máximo cuidado. Cambiar la contraseña del usuario root es bastante básico, pero ten en cuenta que hemos escuchado muchas historias de incidentes de seguridad causados por esto. No asuma que nadie atacará su servidor porque es de tamaño reducido. El atacante accede a un servidor aleatorio con el nombre de usuario 'root' y la contraseña 'root'.

1-6. Configuración para prohibir el ingreso de usuarios no operativos (prohíbe el ingreso del usuario root y otros usuarios).

Limitar el número de usuarios que pueden conectarse. En particular, no se debe permitir el acceso a los usuarios root. Si está conectado como root, equivale a que todas las medidas de seguridad estén desactivadas.

A continuación se detallan los pasos para desactivar el inicio de sesión del usuario root y para añadir usuarios que puedan iniciar sesión. Cambie al usuario root y luego cambie el archivo de configuración. (Es posible cambiar al usuario root con 'su-', sólo que no se puede iniciar la sesión).

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Antes del cambio】


#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


sshd_config【después del cambio】


#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

※xxxxxxxx es el nombre de usuario operativo que acaba de añadir.


Un punto a tener en cuenta aquí es que si el nombre de AllowUsers es incorrecto, nadie podrá entrar, así que compruebe los nombres de usuario cuidadosamente.

Comprueba la sintaxis y reinicia sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Una vez que haya cerrado la sesión y haya confirmado que no puede iniciar la sesión como root y que puede iniciar la sesión como el usuario operativo añadido, habrá terminado.


1-7. sincronización horaria

Compruebe que la hora está sincronizada. A veces, la hora del servidor no está sincronizada, por lo que la fecha y la hora de salida del registro salen a una hora diferente de la esperada y se tarda mucho en analizar el problema.

Comprobar la puesta en marcha del proceso de sincronización horaria (chronyd). Compruebe el estado de la sincronización horaria. Ten en cuenta que CentOS7 es 'chronyd', pero los anteriores son 'ntpd', así que ten cuidado si estás en el 6 o anterior.

[root@hostname ~]# ps aux | grep chronyd
chrony     567  0.0  1.3 117804 13664 ?        SL    5月04   0:04 /usr/sbin/chronyd
root     32489  0.0  0.0 112732   972 pts/1    S+   16:30   0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
      Local time: día (del mes) 2020-11-29 16:30:43 JST
  Universal time: día (del mes) 2020-11-29 07:30:43 UTC
        RTC time: día (del mes) 2020-11-29 07:30:43
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Está bien si 'Hora local' coincide con la hora actual, 'NTP habilitado' es sí y 'NTP sincronizado' es sí.


1-8. Configuración de la autenticación de claves

Para los usuarios operativos que acaba de añadir, permítales iniciar sesión sólo con autenticación de clave.

El simple hecho de desactivar la autenticación con contraseña aumenta la seguridad considerablemente. En el caso de la autenticación con contraseña, si utiliza una contraseña compleja, básicamente no podrá entrar, pero la posibilidad no es cero por ciento. Sin embargo, en el caso de la autenticación por clave, sólo puedes iniciar la sesión si tienes la clave en primer lugar, por lo que mientras gestiones tu clave adecuadamente, no se iniciará la sesión.

A continuación se indica el procedimiento para configurar la autenticación de claves.

[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048

※xxxxxxxx es el nombre del usuario operativo adicional.

※Después de ejecutar el comando "ssh-keygen -t rsa -b 2048", se le pedirá una respuesta, todos los valores por defecto y pulse "Enter". También se puede configurar sin contraseña. (La introducción de una contraseña proporciona una seguridad adicional como la autenticación de la clave más la autenticación de la contraseña, pero en este caso no se asume ninguna contraseña).


A continuación, compruebe que la clave se ha creado.

[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh

※xxxxxxxx es el nombre del usuario operativo adicional.

Compruebe que la clave privada "id_rsa" clave pública "id_rsa.pub" se almacena.

Cambia el nombre de la clave pública y mueve el directorio para descargar la clave privada.

[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa

※xxxxxxxx es el nombre del usuario operativo adicional.

Eliminar la clave privada (id_rsa) del servidor después de moverla localmente.

Mueve /home/xxxxxxxx/id_rsa a local. (Ir a, por ejemplo, WinSCP).

Después de la mudanza, ejecute el comando de borrado.

[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa

※xxxxxxxx es el nombre de usuario añadido en el paso (3).

Esto completa la configuración de la autentificación de la clave. Comprueba que puedes conectarte con la clave privada que has creado.

Una vez que tenga la confirmación de que puede iniciar la sesión, el último paso es cambiar la configuración para que no pueda iniciar la sesión mediante la verificación de la contraseña.

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Antes del cambio】


PasswordAuthentication yes


sshd_config【después del cambio】


PasswordAuthentication no

Comprueba la sintaxis y reinicia sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Esto completa la configuración de la autentificación de la clave.


2. resumen

Hemos descrito la configuración inicial necesaria cuando se instala CentOS.

La información de este artículo es la mínima que debe implementarse al instalar CentOS, por lo que si después de leer este artículo siente que hay carencias, por favor, intente configurarlo.

Gracias por mirar hasta el final.