Configuración Inicial de CentOs 7
Configuración Inicial de CentOs 7. En este Tutotial te damos una guía basíca para que configures y aprendas a aumentar la seguridad de tu servidor y a estructurar una base sólida de conocimientos en CentOs. Muy Fácil y Rápido.
Introducción
Cuando vas a crear por primera vez un nuevo servidor (en este caso Centos 7), hay algunos pasos de configuración que debe tomar desde el principio como parte de la configuración básica. Esto aumentará la seguridad y la facilidad de uso de su servidor y le dará una base sólida para las acciones posteriores.
Paso 1. Iniciar de Sesión Root
Conectese a su servidor, inicie sesión e inicie sesión como usuario root
con el siguiente comando (sustituya la palabra resaltada con la dirección IP pública de su servidor):
- ssh root@SERVER_IP_ADDRESS
Complete el proceso de inicio de sesión aceptando la advertencia sobre la autenticidad del host, si aparece, y luego proporcione su autenticación root (contraseña o clave privada). Si es la primera vez que inicia sesión en el servidor, con una contraseña, también se le pedirá que cambie la contraseña de root.
Acerca de Root
El usuario {0}root{/0} es el usuario administrativo en un entorno Linux que tiene privilegios muy amplios. Debido a los elevados privilegios de la cuenta de root, en realidad no se recomienda su uso de forma regular. Esto se debe a que parte del poder inherente a la cuenta {0}root{/0} es la capacidad de realizar cambios muy destructivos, incluso por accidente.
El siguiente paso es configurar una cuenta de usuario alternativa con un alcance reducido de influencia para el trabajo diario. Le enseñaremos cómo obtener mayores privilegios durante los momentos en que los necesite.
Paso 2. Crear un Nuevo Usuario
Una vez que haya iniciado sesión como root
, estamos preparados para agregar la nueva cuenta de usuario que usaremos para iniciar sesión a partir de ahora.
Este ejemplo crea un nuevo usuario llamado "demo", pero debe reemplazarlo con un nombre de usuario que le guste:
- adduser demo
Luego, asigne una contraseña al nuevo usuario (nuevamente, sustituya "demo" por el usuario que acaba de crear):
- passwd demo
Ingrese una contraseña segura y repítala nuevamente para verificarla.
Paso 3. Privilegios de root
Ahora, tenemos una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, a veces es posible que necesitemos hacer tareas administrativas.
Para evitar tener que cerrar la sesión de nuestro usuario normal y volver a iniciar sesión como la cuenta {0}root,{/0} podemos establecer lo que se conoce como "superusuario" o privilegios {0}de root{/0} para nuestra cuenta normal. Esto permitirá que nuestro usuario normal ejecute comandos con privilegios administrativos colocando la palabra sudo
antes de cada comando.
Para agregar estos privilegios a nuestro nuevo usuario, debemos agregar el nuevo usuario al grupo "rueda". De forma predeterminada, en CentOS 7, los usuarios que pertenecen al grupo "wheel" pueden usar el comando sudo
.
Como root
, ejecute este comando para agregar su nuevo usuario al grupo wheel (sustituya la palabra resaltada por su nuevo usuario):
- gpasswd -a demo wheel
¡Ahora su usuario puede ejecutar comandos con privilegios de superusuario! Para obtener más información acerca de cómo funciona esto, consulte nuestro tutorial de sudoers .
Paso 4. agregar autentificación de clave pública (recomendado)
El siguiente paso para proteger su servidor es configurar la autenticación de clave pública para su nuevo usuario. Configurarlo aumentará la seguridad de su servidor requiriendo una clave SSH privada para iniciar sesión.
Generar un par de claves
Si aún no tiene un par de claves SSH, que consiste en una clave pública y privada, debe generar una. Si ya tiene una clave que desea usar, salte al paso Copiar la clave pública .
Para generar un nuevo par de claves, ingrese el siguiente comando en la terminal de su máquina local :
- ssh-keygen
Suponiendo que su usuario local se llama "localuser", verá un resultado similar al siguiente:
ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
Presione regresar para aceptar este nombre de archivo y ruta (o ingrese un nuevo nombre).
A continuación, se le pedirá una frase de contraseña para asegurar la clave. Puede ingresar una frase de contraseña o dejar la frase de contraseña en blanco.
Nota: si deja en blanco la frase de contraseña, podrá usar la clave privada para la autenticación sin ingresar una frase de contraseña. Si ingresa una frase de contraseña, necesitará la clave privada y la frase de contraseña para iniciar sesión. Asegurar las claves con frases de contraseña es más seguro, pero ambos métodos tienen sus usos y son más seguros que la autenticación de contraseña básica.
Esto genera una clave privada, id_rsa
, y una clave pública, id_rsa.pub
, en el directorio .ssh
directorio de inicio del localizador . ¡Recuerde que la clave privada no debe compartirse con ninguna persona que no deba tener acceso a sus servidores!
Copia la clave pública
Después de generar un par de claves SSH, querrá copiar su clave pública en su nuevo servidor. Cubriremos dos maneras sencillas de hacer esto.
Opción 1: usar ssh-copy-id
Si su máquina local tiene instalado el script ssh-copy-id
, puede usarlo para instalar su clave pública a cualquier usuario para el que tenga credenciales de inicio de sesión.
Ejecute el script ssh-copy-id
especificando el usuario y la dirección IP del servidor en el que desea instalar la clave, así:
- ssh-copy-id demo@SERVER_IP_ADDRESS
Después de proporcionar su contraseña en el aviso, su clave pública se agregará al archivo .ssh/authorized_keys
del usuario remoto. La clave privada correspondiente ahora se puede usar para iniciar sesión en el servidor.
Opción 2: Instalar manualmente la clave
Suponiendo que generó un par de claves SSH utilizando el paso anterior, use el siguiente comando en la terminal de su máquina local para imprimir su clave pública ( id_rsa.pub
):
- cat ~/.ssh/id_rsa.pub
Esto debería imprimir su clave pública SSH, que debería verse de la siguiente manera:
id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Seleccione la clave pública y cópiela en su portapapeles.
Agregar clave pública al nuevo usuario remoto
Para habilitar el uso de la clave SSH para autenticarse como el nuevo usuario remoto, debe agregar la clave pública a un archivo especial en el directorio de inicio del usuario.
En el servidor , como usuario root
, ingrese el siguiente comando para cambiar al nuevo usuario (sustituya su nombre de usuario):
- su - demo
Ahora estará en el directorio de inicio de su nuevo usuario.
Cree un nuevo directorio llamado .ssh
y restrinja sus permisos con los siguientes comandos:
- mkdir .ssh
- chmod 700 .ssh
Ahora abra un archivo en .ssh llamado authorized_keys
con un editor de texto. Usaremos vi para editar el archivo:
- vi .ssh/authorized_keys
Ingrese el modo insertar, presionando i
, luego ingrese su clave pública (que debe estar en su portapapeles) pegándola en el editor. Ahora presiona ESC
para salir del modo de inserción.
Ingrese :x
luego ENTER
para guardar y salir del archivo.
Ahora restringe los permisos del archivo authorized_keys con este comando:
- chmod 600 .ssh/authorized_keys
Escriba este comando una vez para regresar al usuario root
:
- exit
Ahora puede iniciar sesión en SSH como su nuevo usuario, usando la clave privada como autenticación.
Para leer más acerca de cómo funciona la autenticación de claves, lea este tutorial: Cómo configurar la autenticación basada en claves SSH en un servidor Linux .
Paso 5. configurar SSH Daemon
Ahora que tenemos nuestra nueva cuenta, podemos proteger nuestro servidor un poco modificando su configuración de daemon SSH (el programa que nos permite iniciar sesión de forma remota) para no permitir el acceso remoto de SSH a la cuenta root.
Comience por abrir el archivo de configuración con su editor de texto como root:
- vi /etc/ssh/sshd_config
Aquí, tenemos la opción de deshabilitar el inicio de sesión root a través de SSH. En general, se trata de una configuración más segura ya que ahora podemos acceder a nuestro servidor a través de nuestra cuenta de usuario normal y escalar los privilegios cuando sea necesario.
Para deshabilitar los inicios de sesión raíz remotos, necesitamos encontrar la línea que se ve así:
#PermitRootLogin yes
Sugerencia: para buscar esta línea, escriba /PermitRoot
luego /PermitRoot
ENTER
. Esto debería llevar el cursor al carácter "P" en esa línea.
Quite la marca de la línea borrando el símbolo "#" (presione Shift-x
).
Ahora mueva el cursor al "sí" presionando c
.
Ahora reemplace "sí" presionando cw
, luego escribiendo "no". Hit Escape
cuando hayas terminado de editar. Debe tener un aspecto como este:
PermitRootLogin no
¡Desactivar el inicio de sesión root remoto es muy recomendable en todos los servidores!
Ingrese :x
luego ENTER
para guardar y salir del archivo.
Recargar SSH
Ahora que hemos realizado los cambios, debemos reiniciar el servicio SSH para que use nuestra nueva configuración.
Escriba esto para reiniciar SSH:
- systemctl reload sshd
Ahora, antes de cerrar la sesión del servidor, debemos probar nuestra nueva configuración. No queremos desconectarnos hasta que podamos confirmar que se pueden establecer nuevas conexiones con éxito.
Abra una nueva ventana de terminal. En la nueva ventana, necesitamos comenzar una nueva conexión a nuestro servidor. Esta vez, en lugar de usar la cuenta root, queremos usar la nueva cuenta que creamos.
Para el servidor que configuramos arriba, conéctese usando este comando. Sustituya su propia información donde sea apropiado:
- ssh demo@SERVER_IP_ADDRESS
Nota: Si está utilizando PuTTY para conectarse a sus servidores, asegúrese de actualizar el número de puerto de la sesión para que coincida con la configuración actual de su servidor.
Se le pedirá la contraseña del nuevo usuario que configuró. Después de eso, iniciarás sesión como tu nuevo usuario.
Recuerde, si necesita ejecutar un comando con privilegios de administrador, escriba "sudo" antes de este modo:
- sudo command_to_run
Si todo está bien, puedes salir de tus sesiones escribiendo:
- exit
Conclusión
En este punto, tiene una base sólida para su servidor. Ahora puede instalar cualquier software que necesite en su servidor.
Si no está seguro de lo que quiere hacer con su servidor, consulte el siguiente tutorial de esta serie para conocer los Pasos adicionales recomendados para los servidores nuevos de CentOS 7 . Cubre cosas como habilitar fail2ban
para reducir la efectividad de los ataques de fuerza bruta, configuración básica de firewall, NTP y archivos de intercambio. También proporciona enlaces a tutoriales que le muestran cómo configurar aplicaciones web comunes.
Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-7