Software">
Administración de Servidores Linux
Administración de Servidores Linux
Administración de Servidores Linux
Clase 1: Introducción:
En nuestro curso veremos comandos, scripts, instalación de servicios y como
monitorizarlos. También gestionaremos usuarios y permisos. Abordaremos un tema
básico de seguridad informática, que es como endurecer nuestro servidor, para tener
servicios altamente disponibles y evitar que atacantes pueda vulnerar nuestro sitio, para
ellos utilizaremos herramientas como linis y openscap, también realizaremos escaneo de
nuestro sitio.
Centos viene de RedHat, RedHat debo pagar, La diferencia es que RedHat es más
utilizado en entornos empresariales y Ubuntu server es más utilizado para desplegar
sitios web.
Clase 6: Diferencias entre LESS, CAT, HEAD Y TAIL para lectura de archivos
Cat “nombre del archivo”: me permite ver la información contenida en el archivo
less: “nombre del archivo” me permite ve la info, pero paginada: para moverme entre
paginas usar la tecla espaciadora mientras que si solo quiero bajar solo utilizo las flechas.
Y para salirme utilizo los: q
man ls: me sirve para obtener ayuda de comandos (me lista todos los comandos y una
breve descripción de ellos
- puedo utilidar man “letra con que inicie un comando” “2 veces tab”: para
ver que comandos empiezan con esas letras
head “nombre del archivo”: hace lo mismo que tail solo que me muestra solo las
primeras 10 líneas y no las últimas.
sudo se guarda en memoria por un cierto tiempo por eso es que no vuelve a solicitar la
contraseña.
Tendremos disponibles 6 terminales virtuales a las que podemos entrar o salir con las
teclas Ctrl + Alt + Fx. También podemos usar el comando chvt. La séptima terminal es la
interfaz gráfica, así que en este caso no disponemos de ella.
Cada usuario activo en nuestro sistema operativo crea una nueva conexión. Podemos ver
todas estas conexiones con los comandos who y w (este último nos da un poco más de
información).
Para ver todos los procesos que corren en el sistema podemos usar el comando ps. Para
filtrar los procesos y ver únicamente las conexiones de los usuarios usamos ps -ft tty.
Este comando nos muestra el identificador de cada proceso. Para terminarlo podemos
usar el comando kill -9 PID.
ps aux: para ver los procesos que están corriendo en el Sistema Operativo
ps aux | grep platzi: para ver los procesos que pertenecen al usuario platzi, esto lo hicimos
con un pipe, es decir la salida del comando ps aux se la pasamos al comando grep
Pasar procesos al background: Esto me sirve por si quiero hacer multiples tareas a la
vez , no tenga que abrir una cantidad excesiva de consolas por tareas, sino que esos
procesos se mandan al background o segundo plano.
usuario$ fg %2: Para traer el proceso de segundo plano a primer plano. El [2] es el
número del proceso.
Si queremos saber cuales son los procesos que mas CPU se consumen en SO se
ejecuta:
sudo ps auxf | sort -nr -k 3 | head -n 5
SI queremos saber cuales son los procesos que mas RAM consumen ejecutamos
sudo ps auxf | sort -nr -k 4 | head -n 5
htop: Podemos usarlo para una mejor administración, podemos realizar filtros, organizar
procesos por tipo, porcentaje de cpu, memoria.
Sudo snap install canonical-livepatch: para hacer actualizaciones en el kernel sin tener
que reiniciar.
Clase 14 Manejo de paquetes basados en RedHat – CentOS
Rmp -qa: para ver todos los paquetes que tengo instalado en el SO
Rpm -qi paquete: para consultar información de un paquete.
Rpm -qc paquete: configuración de donde se encuentra BASH
sudo yum update: actualización de los repositoríos -hacerlo
yum install net-tools: para que me incluya algunos comandos para interacturar con la red,
ifconfig, route, etc.
Tarea: Instalar htop y nmap
Paso #1 :
Instalar un conjunto de paquetes para que todo funciones bien.
Build essentials es para compilar el código, algunas librerías para hacer CURL , el
sevidor apachace que es donde va a estar nagios, unzip para descomprimir, php, gcc para
poder compilar, y unas librerías de perl para la conexión a la base de datos mysql.
Paso # 2 descargar el sistema de monitoreo. (NAGIOS)
X= extrar
V=que me muestre por pantalla que es lo que está realizando
Z= por que es un archivo que esta empaquetado y comprimido
F= para decirle que va ir un archivo o sea que archivo quiero descomprimir y
dempaquetar? nagioscore.tar.gz
Paso # 4: Verificamos que nos lo haya descomprimido y nos crea la carpetan agios-4.4.4
Debo ejecutarlo con sudo, pero yo le debo configurar con unas variables especificas
Lo voy a configurar para que se pueda utilizar con apache y le voy a poner la ruta donde
esta apache actualmente.
Paso # 9:
Sudo make install: para instalar las cosas
Sudo make install-init: para instalar los scripts en el sistmema de arranque
Sudo make install-commandmode: para tener acceso a los modos de comando
Sudo make install-config: y para la configuracion
Sudo make install-webconf : para que dentro de los sitios de apache quede una relación
con NAGIOS
Hasta el momento el proceso de instalación ya fue realizado
Se verifica con curl localhost
Paso # 10 activar 2 módulos en apache para que nagios funcione de buena forma
Necesitamos correr los servicios
Sudo systemctl status nagios : para ver como está el servicio
Sudo systemctl start nagios: para iniciar el servicio
Documentación
https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html#Ubuntu
Clase 16: Los usuarios, una tarea vital en el proceso de administración del sistema
operativo.
En esta clase aprenderemos a identificar los usuarios con los que estoy trabajando y a
identificar las rutas en el SO donde se guarda esta información
Id: me muestra cual es la identificación de mi usarios
Para cambiar la contraseña de los usuarios, la toma como base el usuario whoaim
Passwd “nueva contrasena”: para cambiar la contraseña
Clase 17: Creando y manejando cuentas de usuario en el sistema operativo
Borrar un usuario
Sudo userdel nombre:
Modificar un usuairio
Usermod es para moverlos de grupo.
Otra forma
Usermod -aG sudo nodejs : póngame el usuario en un grupo secundario
ulimit: listar los permisos que tiene el usuario para ejecutar ciertas cosas en el sistema
operativo, también miro la cantidad de procesos que puede ejecutar.
Ulimit -u 10: para predeterminar la cantidad de procesos que puede realizar el usuario.
A nuestros servidores pueda entrar a mi servidor ssh en los días que yo quiera y a la hora
que yo quiera. Para eso se modifica el archivo
Vim /etc/security/time.conf
para cambiar un usuario de grupo en centos
el único que puede cambiar los usuarios de grupo es el root.
Gpasswd -a platzi wheel: el usuario wheel es sudo en ubuntu
Debemos salirnos de la consola y volver a ingresar para que los cambios tengan efecto.
Yo quiero salir a comer para llenarme de pizza
Módulo 4 Servicios en el sistema operativo
A continuación, vamos a configurar un servidor DNS en Ubuntu con BIND que será
nuestro servidor DNS
Sudo systemctl enable servicio: para activar o desactivar el servicio cuando arranque
Sudo systemctl start o stop o restart: para iniciar, parar o reiniciar un servicio
NGINX Amplify es una herramienta SaaS que permite realizar el monitoreo de NGINX y
NGINX Plus. Los factores que permite monitorear son el rendimiento, configuraciones
con análisis estático. parámetros del sistema operativo, así como PHP-FPM, bases de
datos y otros componentes. Nginx Amplify es de fácil configuración y llevar control de
nuestros servidores es agradable por los tableros de administración que posee.
Con NGINX Amplify podrás recolectar más de 100 métricas de NGINX y el sistema
operativo. Amplify analiza los archivos de configuración propios del servidor, detecta
configuraciones incorrectas y da recomendaciones de seguridad, también permite crear
notificaciones que pueden ser enviadas por correo o a un canal de Slack con un simple
clic.
Clase 26: NGINIX Amplify: Instalación y configuración de un servidor para
producción
NGINX Amplify es una herramienta que permite monitorear aplicaciones y servicios de
NGNIX. Nos ayuda a detectar problemas en nuestros proyectos, trackear las peticiones,
conexiones, tiempos de respuesta, tráfico, uso de CPU, entre otras.
Paso #5: Realizar una instalación segura de mysql donde verificamos algunos parámetros
nuevamente, como el acceso remoto de otras bases de datos, la configuración de una
contraseña etc
Sudo mysql_secure_installation
Paso #5: Proceso adicional de nagios
Verificamo que este funcionando apache2
Sudo systemctl status apache2
Configuración de Nagios
sudo vim /usr/local/nagios/etc/nagios.cfg
y agregar una línea de cgfile con mysqlmonitoring
-otro paso
Crear comandos específicos para poder hacer uso de nagios
sudo vim /usr/local/nagios/etc/objects/commands.cfg
-otro paso
Ir al achivo /usr/local/nagios/etc/objects/mysqlmonitoring.cfg
Clase 29: Los logs, nuestros mejores amigos
Gestion de vulnerabilidades:
telnet
que usuarios tengo
que servicios están en mi servidor
Recomendaciones:
Verificar la seguridad
Yum check-update – -security
Yum update security
Clase 37: Que es una superficie de ataque? Principio del menor privilegio
Entre el mayo numero tenemos adminisrando mayo cantidad de cosas debemos de
proteger
La superficie de ataque se refiere al conjunto de vulnerabilidades que puedne ser
explotadas por un atacante.
Clase 38: El firewall y sus reglas
Para asegurar los servicios hacemos uso de un software que viene por defecto en Ubuntu,
el software, verificar que puertos son los que tengo abiertos, aplicar reglas y a hacer una
protección de forma básica.