Configuració i configuració inicial del servidor a RHEL 7


En aquest tutorial parlarem dels primers passos de configuració que cal tenir en compte després d'una nova instal·lació de Red Hat Enterprise Linux 7 en un servidor de metall nu o en un servidor privat virtual.

  1. Instal·lació mínima de RHEL 7

Important: els usuaris de CentOS 7 poden seguir aquest article per fer una configuració inicial del servidor a CentOS 7.

Actualitzeu el sistema RHEL 7

En el primer pas, inicieu sessió a la consola del vostre servidor RHEL amb un compte amb privilegis d'arrel o directament com a root i executeu l'ordre següent per actualitzar completament els components del vostre sistema, com ara els paquets instal·lats, el nucli o aplicar altres pedaços de seguretat.

# yum check-update
# yum update

Per eliminar tots els paquets descarregats localment i altres memòria cau YUM relacionades, executeu l'ordre següent.

# yum clean all

Instal·leu les utilitats del sistema a RHEL 7

Aquestes utilitats següents poden resultar útils per a l'administració del sistema dia a dia: nano (editor de text per substituir lsof (utilitats per gestionar xarxes locals) i bash-completion (completar automàticament la línia d'ordres).

Instal·leu-los tots en un sol cop executant l'ordre següent.

# yum install nano wget curl net-tools lsof bash-completion

Configuració de xarxes a RHEL 7

RHEL 7 té una àmplia gamma d'eines que es poden utilitzar per configurar i gestionar la xarxa, des de l'edició manual del fitxer de configuració de la xarxa fins a l'ús d'ordres com nmcli o route.

La utilitat més senzilla que un principiant pot utilitzar per gestionar i canviar les configuracions de xarxa és la línia d'ordres gràfics nmtui.

Per canviar el nom d'amfitrió del sistema mitjançant la utilitat nmtui, executeu l'ordre nmtui-hostname, configureu el nom d'amfitrió de la vostra màquina i premeu D'acord per acabar, tal com es mostra a la captura de pantalla següent.

# nmtui-hostname

Per manipular una interfície de xarxa, executeu l'ordre nmtui-edit, trieu la interfície que voleu editar i seleccioneu editar al menú de la dreta, tal com es mostra a la captura de pantalla següent.

Un cop us trobeu a la interfície gràfica proporcionada per la utilitat nmtui, podeu configurar la configuració IP de la interfície de xarxa tal com es mostra a la captura de pantalla següent. Quan acabeu, aneu a D'acord amb la tecla [tab] per desar la configuració i sortir.

Per aplicar la nova configuració de la interfície de xarxa, executeu l'ordre nmtui-connect, seleccioneu la interfície que voleu gestionar i premeu l'opció Desactivar/Activar per desactivar i augmentar la interfície amb la configuració IP, tal com es mostra a les captures de pantalla següents.

# nmtui-connect

Per veure la configuració de la interfície de xarxa, podeu inspeccionar el contingut del fitxer de la interfície o podeu emetre les ordres següents.

# ifconfig enp0s3
# ip a
# ping -c2 google.com

Altres utilitats útils que es poden utilitzar per gestionar la velocitat, l'estat dels enllaços o obtenir informació sobre les interfícies de xarxa de màquines són ethtool i mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Crea un compte d'usuari nou

Al pas següent, mentre inicieu sessió com a root al vostre servidor, creeu un usuari nou amb l'ordre següent. Aquest usuari s'utilitzarà més tard per iniciar sessió al vostre sistema i realitzar tasques administratives.

# adduser tecmint_user

Després d'haver afegit l'usuari mitjançant l'ordre anterior, configureu una contrasenya segura per a aquest usuari emetent l'ordre següent.

# passwd tecmint_user

En els casos en què voleu forçar aquest nou usuari a canviar la seva contrasenya al primer intent d'inici de sessió, executeu l'ordre següent.

# chage -d0 tecmint_user

Aquest nou compte d'usuari amb privilegis de compte habituals ara per ara i no pot realitzar tasques administratives mitjançant l'ordre sudo.

Per tal d'evitar l'ús del compte root per a l'execució de privilegis administratius, concediu a aquest nou usuari privilegis administratius afegint l'usuari al grup del sistema \roda.

Els usuaris que pertanyen al grup roda poden, de manera predeterminada a RHEL, executar ordres amb privilegis root mitjançant la utilitat sudo abans d'escriure l'ordre necessària per a l'execució.

Per exemple, per afegir l'usuari \tecmint_user al grup \roda, executeu l'ordre següent.

# usermod -aG wheel tecmint_user

Després, inicieu sessió al sistema amb el nou usuari i proveu d'actualitzar el sistema mitjançant l'ordre sudo yum update per provar si l'usuari té els poders d'arrel concedits.

# su - tecmint_user
$ sudo yum update

Configura l'autenticació de clau pública SSH a RHEL 7

En el següent pas per augmentar la seguretat del vostre servei RHEL, configureu l'autenticació de clau pública SSH per al nou usuari. Per generar un parell de claus SSH, la clau pública i privada, executeu l'ordre següent a la consola del vostre servidor. Assegureu-vos que heu iniciat la sessió al sistema amb l'usuari que esteu configurant la clau SSH.

# su - tecmint_user
$ ssh-keygen -t RSA

Mentre es genera la clau, se us demanarà que afegiu una frase de contrasenya per tal de protegir la clau. Podeu introduir una frase de contrasenya forta o triar deixar-la en blanc si voleu automatitzar tasques mitjançant el servidor SSH.

Després de generar la clau SSH, copieu el parell de claus públiques a un servidor remot executant l'ordre següent. Per instal·lar la clau pública al servidor SSH remot, necessitareu un compte d'usuari que tingui credencials per iniciar sessió en aquest servidor.

$ ssh-copy-id [email 

Ara hauríeu d'intentar iniciar sessió mitjançant SSH al servidor remot utilitzant la clau privada com a mètode d'autenticació. Hauríeu de poder iniciar sessió automàticament sense que el servidor SSH us demani una contrasenya.

$ ssh [email 

Per veure el contingut de la vostra clau SSH pública si voleu instal·lar la clau manualment en un servidor SSH llunyà, emeteu l'ordre següent.

$ cat ~/.ssh/id_rsa

SSH segur a RHEL 7

Per tal de protegir el dimoni SSH i no permetre l'accés SSH remot al compte root mitjançant contrasenya o clau, obriu el fitxer de configuració principal del servidor SSH i feu els canvis següents.

$ sudo vi /etc/ssh/sshd_config

Cerqueu la línia #PermitRootLogin sí, descomenceu la línia eliminant el signe # (hashtag) del principi de la línia i modifiqueu la línia perquè sembli com es mostra a l'extracte següent.

PermitRootLogin no

Després, reinicieu el servidor SSH per aplicar la nova configuració i provar la configuració provant d'iniciar sessió a aquest servidor amb el compte root. L'accés al compte root mitjançant SSH ja s'hauria de restringir.

$ sudo systemctl restart sshd

Hi ha situacions en què és possible que vulgueu desconnectar automàticament totes les connexions SSH remotes al vostre servidor després d'un període d'inactivitat.

Per habilitar aquesta característica a tot el sistema, executeu l'ordre següent, que afegeix la variable bash TMOUT al fitxer bashrc principal i obliga a desconnectar o abandonar totes les connexions SSH després de 5 minuts d'inactivitat.

$ su -c 'echo "TMOUT=300" >> /etc/bashrc'

Executeu l'ordre tail per comprovar si la variable s'ha afegit correctament al final del fitxer /etc/bashrc. Totes les connexions SSH posteriors es tancaran automàticament després de 5 minuts d'inactivitat a partir d'ara.

$ tail /etc/bashrc

A la captura de pantalla següent, la sessió SSH remota de la màquina drupal al servidor RHEL s'ha tancat automàticament després de 5 minuts.

Configura el tallafoc a RHEL 7

Al següent pas, configureu el tallafoc per tal de protegir encara més el sistema a nivell de xarxa. RHEL 7 s'envia amb l'aplicació Firewalld per gestionar les regles d'iptables al servidor.

Primer, assegureu-vos que el tallafoc s'està executant al vostre sistema emetent l'ordre següent. Si el dimoni Firewalld està aturat, hauríeu d'iniciar-lo amb l'ordre següent.

$ sudo systemctl status firewalld
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

Un cop habilitat el tallafoc i en funcionament al vostre sistema, podeu utilitzar la utilitat de línia d'ordres del tallafoc-cmd per establir la informació de la política del tallafoc i permetre el trànsit a alguns ports de xarxa específics, com ara el dimoni SSH, la connexió feta a un servidor web intern o altres serveis de xarxa relacionats.

Com que ara mateix estem executant un dimoni SSH al nostre servidor, podem ajustar la política del tallafoc per permetre el trànsit per al port de servei SSH emetent l'ordre següent.

$ sudo firewall-cmd --add-service=ssh --permanent
$ sudo firewall-cmd --reload

Per afegir una regla de tallafoc al vol, sense aplicar la regla la propera vegada que s'iniciï el servidor, utilitzeu la sintaxi de l'ordre següent.

$ sudo firewall-cmd --add-service=sshd

Si instal·leu altres serveis de xarxa al vostre servidor, com ara un servidor HTTP, un servidor de correu o altres serveis de xarxa, podeu afegir regles per permetre les connexions específiques de la manera següent.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-service=smtp

Per llistar totes les regles del tallafoc, executeu l'ordre següent.

$ sudo firewall-cmd --permanent --list-all

Elimina els serveis innecessaris a RHEL 7

Per obtenir una llista de tots els serveis de xarxa (TCP i UDP) que s'executen al vostre servidor RHEL de manera predeterminada, emeteu l'ordre ss, tal com es mostra a l'exemple següent.

$ sudo ss -tulpn

L'ordre ss revelarà alguns serveis interessants que s'inicien i s'executen de manera predeterminada al vostre sistema, com ara el servei mestre Postfix i el servidor responsable del protocol NTP.

Si no teniu previst configurar aquest servidor com a servidor de correu, hauríeu d'aturar, desactivar i eliminar el dimoni Postfix emetent les ordres següents.

$ sudo systemctl stop postfix.service 
$ sudo yum remove postfix

Recentment, s'han informat d'alguns atacs DDOS desagradables sobre el protocol NTP. En cas que no tingueu previst configurar el vostre servidor RHEL perquè s'executi com a servidor NTP perquè els clients interns sincronitzin l'hora amb aquest servidor, hauríeu de desactivar i eliminar completament el dimoni Chrony emetent les ordres següents.

$ sudo systemctl stop chronyd.service 
$ sudo yum remove chrony

De nou, executeu l'ordre ss per identificar si s'estan executant altres serveis de xarxa al vostre sistema i desactiveu-los i suprimiu-los.

$ sudo ss -tulpn

Per tal de proporcionar l'hora precisa per al vostre servidor i sincronitzar l'hora amb un servidor igual d'hora superior, podeu instal·lar la utilitat ntpdate i sincronitzar l'hora amb un servidor NTP públic, executant les ordres següents.

$ sudo yum install ntpdate
$ sudo ntpdate 0.uk.pool.ntp.org

Per automatitzar l'ordre de sincronització de l'hora ntpdate que s'executarà cada dia sense cap intervenció de l'usuari, programeu un nou treball crontab que s'executi a mitjanit amb el contingut següent.

$ sudo crontab -e

Extracte del fitxer Crontab:

@daily /usr/sbin/ntpdate 0.uk.pool.ntp.org

Això és tot! Ara, el vostre servidor RHEL està preparat per instal·lar programari addicional necessari per a serveis o aplicacions de xarxa personalitzades, com ara instal·lar i configurar un servidor web, un servidor de bases de dades, un servei de compartició de fitxers o altres aplicacions específiques.

Per protegir i endurir encara més el servidor RHEL 7, consulteu aquests articles següents.

  1. La megaguia per endurir i assegurar RHEL 7 - Part 1
  2. La megaguia per endurir i assegurar RHEL 7 - Part 2

Si teniu previst desplegar llocs web en aquest sistema RHEL 7, apreneu a configurar i configurar la pila LEMP.