Linux
Linux
RESUMEN DE LA CLASE
Instalación de CentOS
1. Descargar Virtual Box: https://www.virtualbox.org/
2. Descargar CentOS: http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-
DVD-1908.iso
3. Crear una nueva máquina virtual
4. En la configuración de nuestra máquina, en la sección Red cambiar de NAT a Adaptador
puente. En avanzadas, colocar en el Modo promiscuo “Permitir todo”
5. En la sección Storage seleccionamos el cd que dice “Vacío”, y en el apartado de atributos a
la derecha seleccionamos el icono del cd para buscar nuestra imagen ISO de CentOS ya
descargada anteriormente. Aceptamos los cambios
6. Iniciamos la máquina virtual
7. Instalamos el sistema operativo
8. En la configuración, en el apartado de NETWORK & HOST NAME, activar la interfaz con el
botón “on”. Cambiamos el host name a “platzi-server” y damos click en aplicar
9. En el apartado de INSTALLATION DESTINATION seleccionamos el disco de Virtual Box
10. Configuramos la hora y damos click en done
11. Hacemos click en ROOT PASSWORD y creamos una contraseña para el usuario root
12. Creamos un usuario nuevo dando click en USER CREATION y finalizamos la instalación
Manejo y monitoreo de procesos y recursos del sistema
|
|
Comandos
|
ps: Muestra los procesos corriendo. Modificadores:
1. aux: Muestra todos los procesos
jobs: Al igual que el comando anterior, muestra los procesos. A diferencia de ps, es un comando
interno de la terminal
fg: Abre un proceso que estaba pausado
nohup: Genera un archivo llamado “nohup.out” que muestra toda la información que produjo un
proceso
grep: Nos ayuda a filtrar el resultado de un comando o el contenido de un archivo dependiendo de
las palabras (o incluso expresión regular) que le indiquemos
|
|
Símbolos especiales
|
"|" Pipe: Envia el standard output de un comando al standard input de otro.
"&" Ampersand: Envia un proceso al background
"./": Ejecuta un archivo
<h1>1.7 Manejo y monitoreo de procesos y recursos del sistema</h1>
Una de las funciones importantes de los administradores de sistemas es verificar que todos los procesos
que se están ejecutando sean válidos y no sean procesos que esten haciendo cosas maliciosas.
ps aux
La información más importante que muestra este comando es que comando esta ejecuando el proceso.
Cuando trabajamos con algún editor de texto, a veces necesitamos enviar estos procesos a un segundo
plano.
Para volver a la consola presionamos: ctrl+z ==> pasamos los procesos a background.
./script.sh & ==> ejecuta el archivo, muestra un proceso especifico y muestra el resultado.
nohup ./script.sh & ==> genera una salida con el nombre de nohup.out y en el enctramos toda la
información de lo que realiza el proceso. Esto es muy útil cuando realizamos despliegues en servidores
porque sabemos que esta realizando el proceso.
Comandos
|
top: Muestra la siguiente información del sistema:
load average (carga promedio): Provee una representación en números del 1 al número de
procesadores que tenga nuestro servidor del uso de los mismos.
Uso de la memoria
Cantidad de usuarios
Procesos
Etc
du: Muestra información sobre el disco duro. Con el modificador -hsc y un directorio especificado
muestra el tamaño de ese directorio
Comandos útiles
sudo ps auxf | sort -nr -k 3 | head -5: Muestra los 5 procesos que más uso hacen del CPU
sudo ps auxf | sort -nr -k 4 | head -5: Muestra los 5 procesos que más uso hacen de la memoria RAM
Comandos
sudo systemctl list-units -t service --all: Lista los servicios del sistema
sudo journalctl --disk-usage: Muestra cuanto pesan los logs en el sistema operativo
Proceso de instalación.
Apache
NGINX
Para verificar si los servicios está corriendon se debe ejecutar los siguientes
comandos:
systemctl status apache2
systemctl status nginx
proxy_pass http://127.0.0.1:8080;
Conclusión
ESUMEN DE LA CLASE
|
Monitoreo de MySQL con Nagios
|
|
Instrucciones
|
Instalar MySQL Server
sudo apt install mysql-server
mysql -u debian-sys-maint -p
sudo mysql_secure_installation
Reiniciar Apache
direccion_ip_del_servidor:8080/nagios
Es muy importante notar que estamos ingresando en el puerto 8080, ya que ahí es donde está
funcionando Apache
Instalar las siguientes dependencias:
Si no instalaste los plugins en las clases anteriores, debes hacer lo siguiente: en primer
lugar, posicionado en tu home, descargarlos
wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz -0
plugins.tar.gz -O plugins.tar.gz
Ya en la carpeta de plugins que se creo con el paso anterior, configurar los mismos
sudo ./config
wget https://labs.consol.de/assets/downloads/nagios/check_mysql_health-
2.2.2.tar.gz -O mysqlplugin.tar.gz
ESUMEN DE LA CLASE
|
Configuración de Nagios
|
|
Instrucciones
|
Ya en la consola de MySQL, crear un usuario
GRANT SELECT ON *.* TO 'nagios'@'localhost' IDENTIFIED BY 'nagiosplatziS14*';
FLUSH PRIVILEGES;
Configurar Nagios
sudo vim /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/mysqlmonitoring.cfg
Crear comandos para hacer uso de Nagios
define command {
command_name check_mysql_health
command_line $USER1$/check_mysql_health -H $ARG4$ --username
$ARG1$ --password $ARG2$ --port $ARG5$ --mode $ARG3$
}
Crear el archivo que nombrarmos en la configuración en el archivo nagios.cfg
use local-service
host_name localhost
check_command check_mysql_health!nagios!nagiosplatziS14*!
connection-time!127.0.0.1!3306!
}
OJO! En la clase hay un pequeño typo, como puede verse arriba, la directiva correcta
es host_name y no hostname, les va a dar error si lo ponen de esta última forma
Reiniciar nagios
Entendiendo la gestión de vulnerabilidades++
Malas prácticas
|
|
Buenas prácticas
En CentOS:
En Ubuntu:
apt update
apt upgrade
RESUMEN DE LA CLASE
Una superficie de ataque es el conjunto de datos conocidos o vulnerabilidades que pueden ser
explotados por un atacante informático.
|
SCAP: El Security Content Automation Protocol es un conjunto de reglas sobre la expresión y
manipulación de información relacionada con configuraciones y fallos.
OWASP: El Open Web Application Security Project es un proyecto de código abierto destinado a pelear
contra la inseguridad informática
Comandos
|
Comandos
Instalación de Lynis:
sudo apt install lynis
sudo lynis audit system: Realiza un escaneo del sistema operativo, mostrándonos sugerencias y el
estado de peligro de ciertos detalles en nuestra distribución
ESUMEN DE LA CLASE
|
Configuración de Node.js en un ambiente productivo
|
|
Instrucciones
|
Clonar el repositorio necesario para realizar la clase
git clone https://github.com/edisoncast/linux-platzi
Instalar Node.js y npm
node server.js
[Unit]
Description=Balanceo de carga para Platzi
Documentation=https://github.com/edisoncast/linux-platzi
After=network.target
[Service]
Enviroment=PORT=%i
Type=simple
User=nodejs
WorkingDirectory=/home/nodejs/linux-platzi
ExecStart=/usr/bin/node /home/nodejs/linux-platzi/server.js
Restart-on=failure
[Install]
WantedBy=multi-user.target