instalación básica de centos 6 - wiki de lazos s.a.pdf
TRANSCRIPT
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 1/18
Instalación básica de CentOS 6
De Wiki de Lazos S.A.
Contenido
1 Introducción2 Instalación
2.1 Inicio
2.2 Bienvenida
2.3 Selección de idioma de la instalación
2.4 Selección de idioma del teclado
2.5 Particionamiento
2.6 Definición del nombre del servidor
2.7 Definición de zona horaria
2.8 Definición de la contraseña de root2.9 Selección de dispositivos de almacenamiento y creación de particiones
2.10 Configuración del gestor de arranque
2.11 Instalación de los paquetes
2.12 Finalización de la instalación y reinicio del servidor3 Configuración
3.1 Configuración de red
3.2 Instalación de utilidades básicas
3.3 Configuración de repositorios adicionales
3.3.1 CentOS CR
3.3.2 EPEL3.3.3 RPMForge3.3.4 Repositorio Lazos
3.4 Instalación de utilidades adicionales3.5 Configuración del cortafuegos
3.6 Configuración de SSH
3.7 Configuración del servidor de correo
3.8 Configuración del servicio de tareas automatizadas
3.9 Configuración del servidor de tiempo de red
3.10 Configuración de SNMP
3.11 Configuración de fail2ban
3.12 Configuración de tmux
3.13 Desactivación de SELinux
3.14 Actualización del sistema base4 Conclusión
5 Referencias
Introducción
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 2/18
Este documento describe el procedimiento genérico de instalación y configuración inicial del sistema operativoCentOS Linux 6.x, tanto para la arquitectura i386 como para x86_64.
Instalación
Se debe utilizar la imagen ISO de instalación “Minimal” de CentOS 6.
Para sistemas de 32 bits se puede descargar desde el siguiente enlace:
http://mirror.gtdinternet.com/6/isos/i386/
Para sistemas de 64 bits se puede descargar desde el siguiente enlace:
http://mirror.gtdinternet.com/6/isos/x86_64/
El nombre del archivo tiene el formato CentOS-6.n-arch-minimal.iso, donde n representa la versión menorde CentOS y arch es la arquitectura (i386 para 32 bits o x86_64 para 64 bits). Este archivo debe ser grabadocomo imagen (no como un archivo normal) en un CD de instalación.
Inicio
Se debe insertar el disco de instalación de CentOS y luego iniciar (o reiniciar) el sistema. Cuando aparezca lapantalla de bienvenida, se debe seleccionar la opción "Install or upgrade an existing system" y luegopresionar [ENTER].
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 3/18
A continuación aparecerá una pantalla preguntando si se desea realizar un chequeo del disco de instalación, a finde detectar posibles errores. En caso de tener dudas, es mejor realizar el chequeo; de lo contrario, simplementese debe seleccionar la opción "Skip".
Bienvenida
Se debe presionar [Next].
Selección de idioma de la instalación
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 4/18
Se debe seleccionar "Spanish" y luego presionar [Next].
Selección de idioma del teclado
Se debe seleccionar "Español" y luego presionar [Siguiente].
Particionamiento
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 5/18
Se debe seleccionar "Basic Storage Devices" y luego presionar [Siguiente].
En caso de que el disco no haya sido particionado anteriormente, aparecerá un aviso como el que se muestra enla imagen superior. En este caso, se debe seleccionar "Sí, eliminar cualquier tipo de datos".
Definición del nombre del servidor
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 6/18
Se debe definir el nombre FQN ("Fully Qualified Name") del servidor y luego presionar [Siguiente].
NOTA: la configuración de red se realizará después de haber completado la instalación.
Definición de zona horaria
Se debe seleccionar "America/Santiago" y luego presionar [Siguiente].
Definición de la contraseña de root
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 7/18
Se debe definir una contraseña segura (se recomiendan al menos 8 caracteres aleatorios) y luego presionar[Siguiente].
Selección de dispositivos de almacenamiento y creación departiciones
La selección del esquema de particionamiento varía de acuerdo al uso que se le pretenda dar al servidor. Sinembargo, como regla general se recomienda utilizar el siguiente esquema:
Una partición primaria de 500 MB para /boot, de tipo ext4.
Una partición primaria con el resto del espacio disponible, de tipo physical volumen (LVM). Dentro deésta se debe crear un grupo de volúmenes LVM llamado vg_NombreDelServidor, donde
NombreDelServidor es el nombre corto del servidor (NO el nombre FQDN). El grupo debe contener
los siguientes volúmenes lógicos:
Un volumen llamado lv_swap de aproximadamente el mismo tamaño que la cantidad de memoria
RAM disponible, de tipo SWAP. (Si el servidor tiene una gran cantidad de memoria RAM, se
recomienda utilizar un máximo de 6 GB de SWAP).
Un volumen llamado lv_root con el resto del espacio disponible, de tipo ext4.
NOTA: los siguientes pasos eliminarán cualquier información almacenada previamente en el disco duro delservidor.
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 8/18
Se debe seleccionar la opción "Use All Space", marcar la opción "Verifique y modifique el esquema departiciones" y luego presionar [Siguiente].
Se debe modificar el nombre del grupo LVM a vg_NombreDelServidor, donde NombreDelServidor es elnombre corto del servidor. Además, se debe eliminar el volumen lv_home y luego ampliar el tamaño delvolumen lv_root al máximo posible. Posteriormente se debe presionar [Siguiente].
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 9/18
Se debe seleccionar "Write changes to disk" y luego presionar [Siguiente].
Configuración del gestor de arranque
Se debe presionar [Siguiente].
Instalación de los paquetes
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 10/18
No se requiere realizar ninguna modificación. El proceso de instalación de los paquetes suele demorar unospocos minutos (dependiendo de las características del servidor).
Finalización de la instalación y reinicio del servidor
Se debe presionar [Reiniciar].
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 11/18
Al reiniciar el servidor, se presentará la pantalla de inicio de sesión de CentOS en modo texto. Se debe iniciaruna sesión con el usuario root para continuar con la configuración.
Configuración
Para terminar la configuración, se debe ingresar usando la cuenta root y la contraseña definida durante lainstalación.
Configuración de red
Se debe editar el archivo correspondiente a la interfaz de red que se utilizará. Por ejemplo: si se utiliza la interfazeth0 se debe modificar el archivo /etc/sysconfig/network-scripts/ifcfg-eth0 de la siguiente forma:
DEVICE="eth0"HWADDR="AA:BB:CC:DD:EE:FF"
NM_CONTROLLED="no"
ONBOOT="yes"
IPADDR="10.0.0.5"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.4"
DNS1="10.0.0.4"
El nombre del servidor se debe definir en el archivo /etc/sysconfig/network, de la siguiente forma:
NETWORKING=yesHOSTNAME=NombreDelServidor.example.com
Además se debe agregar el nombre del servidor como alias de la dirección IP 127.0.0.1 en el archivo/etc/hosts; por ejemplo:
127.0.0.1 nombreDelServidor.example.com nombreDelServidor localhost localhost.localdomain localhost4 localhost4.localdomain4
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 12/18
Si se desea habilitar una ruta adicional de salida (por ejemplo, para servidores que se conecten a una VPN), sedebe crear el archivo /etc/sysconfig/network-scripts/route-eth0 con un contenido similar al siguiente:
GATEWAY0=10.0.0.4
NETMASK0=255.255.255.0
ADDRESS0=10.0.1.0
Posteriormente se debe reiniciar el servicio de red con el comando:
service network restart
Instalación de utilidades básicas
at: utilidad para ejecutar tareas una única vez en un tiempo determinado.acl: utilidades para manipular listas de control de acceso.
cron: utilidad para manejar tareas programadas.dmidecode: herramienta para analizar datos de la BIOS.
file: utilidad para identificar el tipo de un archivo.iotop: visualizador de I/O.mailx: utilidad para enviar correos desde consola.
man: manuales de varias aplicaciones.mc: administrador de archivos para consola.
mlocate: utilidad para buscar archivos.net-snmp: utilidades para utilizar el protocolo SNMP para monitorear el servidor.
ntp: cliente para Network Time Protocol.openssh-clients: clientes para el servidor OpenSSH.pciutils: utilidades para inspeccionar y configurar el bus PCI.
postfix: servidor de correo (MTA).policycoreutils-python: utilidades para administrar un ambiente SELinux.
rsync: herramienta para sincronizar archivos y directorios.screen: permite usar sesiones en consola.
setuptool: herramienta general de configuración de CentOS.system-config-network-tui: utilidades para la configuración de la red.system-config-services: utilidades para la configuración de la seguridad del sistema.
telnet: cliente para el protocolo Telnet.tmpwatch: elimina archivos temporales que no se han accedido en un tiempo determinado.
tree: visualiza una estructura de directorios en forma de árbol.vim-enhanced: add-ons para el editor Vi.
wget: utilidad de consola para descargar archivos.xorg-x11-xauth: utilidad para manejar los accesos al servidor gráfico.yum-fastestmirror: selecciona el mirror más rápido para las actualizaciones vía yum.
zip, unzip: utilidad para el manejo de archivos ZIP.
Para instalar estas utilidades se debe ejecutar la siguiente instrucción:
yum install mailx wget mc vim-enhanced postfix man man-pages-es \
setuptool system-config-services system-config-network-tui file \
iotop tree telnet rsync screen openssh-clients vixie-cron \
xorg-x11-xauth ntp crontabs at acl mlocate zip unzip tmpwatch \
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 13/18
yum-fastestmirror net-snmp net-snmp-utils dmidecode \
policycoreutils-python pciutils
Configuración de repositorios adicionales
CentOS CR
El repositorio "Continuous Release" de CentOS contiene paquetes RPMs que serán incluídos en la siguienteactualización de CentOS. Esto incluye actualizaciones de seguridad y corrección de errores, por lo que esterepositorio debe estar activo en todos los servidores.
yum install centos-release-cr
EPEL
Para 32 y 64 bits:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
RPMForge
Para sistemas de 32 bits:
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rm -f rpmforge-release-0.5.2-2.el6.rf.i686.rpm
sed -i s/"enabled = 1"/"enabled = 0"/g /etc/yum.repos.d/rpmforge.repo
Para sistemas de 64 bits:
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rm -f rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
sed -i s/"enabled = 1"/"enabled = 0"/g /etc/yum.repos.d/rpmforge.repo
NOTA: El repositorio RPMForge quedará deshabilitado, ya que puede producir conflictos con el repositorioEPEL. Para habilitarlo temporalmente se debe incluir el parámetro --enablerepo=rpmforge al usar yum.
Repositorio Lazos
El repositorio Lazos para CentOS 5 y 6 provee paquetes RPMs de distintos programas que no estándisponibles en los repositorios oficiales de CentOS, o que han debido ser modificados o actualizados parasatisfacer las necesidades propias de Lazos S.A. Véase Repositorio Lazos para CentOS 5 y 6.
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 14/18
Instalación de utilidades adicionales
apg: utilidad para generar contraseñas aleatorias.
fail2ban: permite bloquear las direcciones IP que realizan intentos fallidos de acceso SSH al servidor.htop: visualizador de procesos interactivo.
lshw: utilidad para realizar un inventario del hardware de una máquina.pigz: implementación en paralelo de gzip para máquinas multiprocesador.
rar, unrar: utilidades para el manejo de archivos RAR.rdiff-backup: herramienta para realizar respaldos.
tmux: multiplexador de terminal.trickle: utilidad para limitar ancho de banda utilizado por una aplicación.
Para instalar estas utilidades se debe ejecutar el comando:
yum --enablerepo=rpmforge install apg lshw rar rdiff-backup pyxattr \
unrar trickle fail2ban python-inotify tmux vlock pigz htop
Configuración del cortafuegos
Inicialmente se deben abrir sólo los siguientes puertos:
22/TCP: para conexiones SSH sólo desde la red local (10.0.0.0/24) y desde la VPN (10.0.1.0/24).
161/UDP: para monitoreo SNMP sólo desde el servidor 10.0.0.4.
Para ello, se debe modificar el archivo /etc/sysconfig/iptables de la siguiente forma:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# SSH
-A INPUT -m state --state NEW -m tcp -p tcp -s 10.0.0.0/24 --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 10.0.1.0/24 --dport 22 -j ACCEPT
# SNMP
-A INPUT -s 10.0.0.4/32 -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT
# Default
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Finalmente es necesario reiniciar el servicio de la siguiente forma:
service iptables restart
Configuración de SSH
Se debe modificar el archivo /etc/ssh/sshd_config:
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 15/18
TCPKeepAlive no
ClientAliveInterval 900
ClientAliveCountMax 0
Luego se debe reiniciar el servicio:
service sshd restart
Configuración del servidor de correo
Es necesario activar el servidor de correo, de la siguiente forma:
chkconfig postfix on
service postfix start
Configuración del servicio de tareas automatizadas
Es necesario activar el servicio de tareas automatizadas, de la siguiente forma:
chkconfig crond on
service crond start
Configuración del servidor de tiempo de red
Se debe editar el archivo /etc/ntp.conf y comentar la siguientes líneas (anteponiendo el símbolo '#'):
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
Debajo de esas lineas se debe agregar la siguiente:
server ntp.shoa.cl
(NOTA: en caso de tratarse de un servidor que se encuentre fuera de Chile, se debe utilizar el servidor NTPpúblico más cercano.)
Luego se debe activar la sincronización del reloj del hardware::
sed -i s/SYNC_HWCLOCK=no/SYNC_HWCLOCK=yes/ /etc/sysconfig/ntpdate
Finalmente es necesario activar el servicio de tiempo de red, de la siguiente forma:
chkconfig ntpd on
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 16/18
service ntpd start
Configuración de SNMP
Se debe descargar la configuración de ejemplo utilizada por LAZOS desde aquí:
wget http://lazos.cl/w/images/3/34/Snmpd.conf.txt -O /etc/snmp/snmpd.conf
Posteriormente se deben modificar las siguientes variables en el archivo /etc/snmp/snmpd.conf de acuerdo a laubicación del servidor y al contacto técnico asociado al mismo:
syslocation GTD
syscontact Monitor <[email protected]>
Finalmente es necesario activar el servicio de la siguiente forma:
chkconfig snmpd on
service snmpd start
Configuración de fail2ban
En primer lugar se debe crear una copia del archivo de configuración:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Luego se debe editar el archivo /etc/fail2ban/jail.local:
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, [email protected], sender=fail2ban@NombreDelServidor
logpath = /var/log/secure
maxretry = 3
Finalmente es necesario activar el servicio de la siguiente forma:
chkconfig fail2ban on
service fail2ban start
Configuración de tmux
Para iniciar automáticamente una sesión de tmux al ingresar por SSH como root, se debe modificar el archivo/root/.bashrc, agregando lo siguiente al final del archivo:
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 17/18
# TMUX
if [ "$PS1" != "" -a "${STARTED_TMUX:-x}" = x -a "${SSH_TTY:-x}" != x ]
then
STARTED_TMUX=1; export STARTED_TMUX
sleep 1
if $(tmux has-session)
then
echo "Se encontraron las siguientes sesiones de TMUX:"
tmux list-sessions
echo "Ingrese el número de la sesión a la que desea conectarse o presione cualquier tecla para crear una nueva sesión."
read -n 1 RESPUESTA
( tmux attach -t $RESPUESTA || tmux ) && clear && exit 0
else
tmux && clear && exit 0
fi
fi
Luego se debe crear el archivo /root/.tmux.conf con el siguiente contenido:
# Sane scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
# Lock after 15 min
set -g lock-after-time 900
set -g lock-server on
set -g lock-command "vlock"
Desactivación de SELinux
NOTA: SELinux es una capa de seguridad adicional, por lo que se recomienda mantenerlo activado a menosque existan motivos de fuerza mayor que lo impidan.
Para desactivar SELinux, se debe modificar el archivo /etc/sysconfig/selinux:
SELINUX=disabled
SELinxux quedará desactivado en el siguiente reinicio del servidor. Para reiniciar inmediatamente, se debeejecutar la siguiente instrucción:
reboot
Para verificar el estado actual de SELinux, se puede utilizar la siguiente instrucción:
sestatus
Actualización del sistema base
Para actualizar todos los paquetes instalados en el servidor, se debe ejecutar la siguiente instrucción:
yum update
15/04/13 Instalación básica de CentOS 6 - Wiki de Lazos S.A.
www.lazos.cl/wiki/Instalación_básica_de_CentOS_6#Configuraci.C3.B3n_de_SSH 18/18
En caso de que se haya aplicado una actualización del kernel, será necesario reiniciar el sistema:
reboot
Conclusión
Al terminar la instalación se obtendrá un sistema CentOS 6.x con las medidas básicas de protección y lasutilidades fundamentales para el manejo del sistema.
Referencias
http://wiki.centos.org/AdditionalResources/Repositories/CR
http://www.horaoficial.cl/sincron.htmhttp://superuser.com/questions/209437/how-do-i-scroll-in-tmux
https://www.digitalocean.com/community/articles/how-to-protect-ssh-with-fail2ban-on-centos-6
Obtenido de «http://www.lazos.cl/w/index.php?title=Instalaci%C3%B3n_b%C3%A1sica_de_CentOS_6&oldid=1352»
Categoría: CentOS 6
Esta página fue modificada por última vez el 14 ene 2013, a las 15:20.
Esta página ha sido visitada 5.262 veces.El contenido está disponible bajo los términos de la Attribution-NonCommercial-ShareAlike 3.0
Unported.