Red Hat Enterprise Linux: Configuración y Gestión Empresarial

Red Hat Enterprise Linux (RHEL) es la distribución líder para entornos empresariales críticos. Esta guía cubre la configuración y gestión de RHEL en infraestructuras de producción.

Instalación y Configuración Inicial

Particionado Recomendado para Servidores

# Esquema de particiones empresarial
/boot     - 1GB  (ext4)
/         - 20GB (xfs)
/var      - 10GB (xfs)
/var/log  - 5GB  (xfs)
/tmp      - 2GB  (xfs)
/home     - 5GB  (xfs)
swap      - 8GB
/opt      - Resto disponible (xfs)

Registro y Suscripción

# Registrar el sistema con Red Hat
sudo subscription-manager register --username=your_username

# Adjuntar suscripción automáticamente
sudo subscription-manager attach --auto

# Verificar repositorios activos
sudo subscription-manager repos --list-enabled

Gestión de Paquetes con DNF/YUM

Configuración de Repositorios

# Listar repositorios activos
sudo dnf repolist

# Habilitar repositorios adicionales
sudo subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
sudo subscription-manager repos --enable=rhel-9-for-x86_64-supplementary-rpms

# Configurar repositorio EPEL
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

Gestión de Actualizaciones

# Verificar actualizaciones disponibles
sudo dnf check-update

# Actualizar sistema completo
sudo dnf update

# Actualizar solo paquetes de seguridad
sudo dnf update --security

Configuración de Red Empresarial

NetworkManager CLI

# Configurar IP estática
sudo nmcli con add type ethernet con-name eth0-static ifname eth0 \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns 8.8.8.8,8.8.4.4 \
  ipv4.method manual

# Activar conexión
sudo nmcli con up eth0-static

Configuración de Bonding

# Crear bond de red para alta disponibilidad
sudo nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
sudo nmcli con add type ethernet slave-type bond con-name bond0-port1 ifname eth0 master bond0
sudo nmcli con add type ethernet slave-type bond con-name bond0-port2 ifname eth1 master bond0

Gestión de Servicios con systemd

Configuración de Servicios Críticos

# Habilitar servicios esenciales
sudo systemctl enable --now chronyd
sudo systemctl enable --now rsyslog
sudo systemctl enable --now auditd

# Verificar estado de servicios
sudo systemctl status sshd
sudo systemctl is-enabled firewalld

Creación de Servicios Personalizados

# /etc/systemd/system/myapp.service
[Unit]
Description=Mi Aplicación Empresarial
After=network.target

[Service]
Type=forking
User=appuser
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/bin/start.sh
ExecStop=/opt/myapp/bin/stop.sh
Restart=always

[Install]
WantedBy=multi-user.target

Seguridad y Hardening

SELinux Empresarial

# Verificar estado de SELinux
getenforce
sestatus

# Configurar políticas personalizadas
sudo setsebool -P httpd_can_network_connect on
sudo semanage port -a -t http_port_t -p tcp 8080

# Análisis de logs SELinux
sudo ausearch -m AVC -ts recent

Firewall con firewalld

# Configurar zona empresarial
sudo firewall-cmd --new-zone=empresa --permanent
sudo firewall-cmd --zone=empresa --add-source=192.168.1.0/24 --permanent
sudo firewall-cmd --zone=empresa --add-service=ssh --permanent
sudo firewall-cmd --zone=empresa --add-service=http --permanent
sudo firewall-cmd --reload

Monitoreo y Logs

Configuración de rsyslog

# /etc/rsyslog.conf - Configuración centralizada
*.info;mail.none;authpriv.none;cron.none    /var/log/messages
authpriv.*                                  /var/log/secure
mail.*                                      /var/log/maillog
cron.*                                      /var/log/cron

# Envío a servidor de logs centralizado
*.* @@logserver.empresa.com:514

Auditoria con auditd

# Configurar reglas de auditoría
echo "-w /etc/passwd -p wa -k user_modification" >> /etc/audit/rules.d/custom.rules
echo "-w /etc/group -p wa -k group_modification" >> /etc/audit/rules.d/custom.rules

# Reiniciar auditd
sudo service auditd restart

# Buscar eventos de auditoría
sudo ausearch -k user_modification

Automatización con Ansible

Playbook de Configuración Base

# rhel-base-setup.yml
---
- hosts: rhel_servers
  become: yes
  tasks:
    - name: Actualizar sistema
      dnf:
        name: "*"
        state: latest

    - name: Instalar paquetes esenciales
      dnf:
        name:
          - vim
          - wget
          - curl
          - htop
          - chrony
        state: present

    - name: Configurar timezone
      timezone:
        name: America/Montevideo

Backup y Recuperación

Estrategia de Backup con ReaR

# Instalar Relax-and-Recover
sudo dnf install rear genisoimage syslinux

# Configurar backup completo
echo "BACKUP=NETFS" >> /etc/rear/local.conf
echo "BACKUP_URL=nfs://backup-server/mnt/backup" >> /etc/rear/local.conf

# Crear imagen de recuperación
sudo rear -v mkbackup

Performance Tuning

Tuned Profiles

# Listar perfiles disponibles
tuned-adm list

# Aplicar perfil para servidores
sudo tuned-adm profile throughput-performance

# Crear perfil personalizado
sudo cp -r /usr/lib/tuned/throughput-performance /etc/tuned/empresa-server

Conclusión

RHEL en entornos empresariales requiere:

  • Configuración robusta de red y servicios
  • Implementación estricta de seguridad
  • Monitoreo y auditoría completos
  • Estrategias de backup fiables
  • Optimización para cargas de trabajo específicas

Esta base sólida garantiza la estabilidad y seguridad que requieren las operaciones críticas de negocio.