Bases del sistema operativo

1

Lo que aprenderás sobre la administración de servidores linux

2

Distribuciones más utilizadas de Linux

3

Instalación de Ubuntu Server

4

Instrucciones para instalar CentOS

5

Gestión del árbol de directorios

6

Diferencias entre LESS, CAT, HEAD y TAIL para lectura de archivos

7

Interacción con archivos y permisos

8

Conociendo las terminales en linux

9

Manejo y monitoreo de procesos y recursos del sistema

10

Monitoreo de recursos del sistema

Instalación y manejo de software en Linux

11

Análisis de los parámetros de red

12

Administración de paquetes acorde a la distribución

13

Manejo de paquetes en sistemas basados en Debian

14

Administración de software con YUM y RPM para CentOS

15

Nagios: Desempaquetado, descompresión, compilación e instalación de paquetes

Administración de usuarios

16

Los usuarios, una tarea vital en el proceso de administración del sistema operativo

17

Creando y manejando cuentas de usuario en el sistema operativo

18

Entendiendo la membresía de los grupos

19

Usando PAM para el control de acceso de usuarios

Servicios en el sistema operativo

20

Autenticación de clientes y servidores sobre SSH

21

Configurando DNS con bind

22

Arranque, detención y recarga de servicios

23

NGINX y Apache en Ubuntu server

24

Instalación y configuración de NGINX

25

¿Qué es NGINX Amplify?

26

NGINX Amplify: Instalación y configuración de un servidor para producción

27

Monitoreo de MySQL con Nagios

28

Configuración de Nagios

29

Los logs, nuestros mejores amigos

30

Otros servicios de logs

Bash scripting

31

Las bases de bash

32

Las variables y su entorno de ejecución

33

Automatizando tareas desde la terminal

34

Automatizando la copia de seguridad

35

Crontab

Asegurando tu servidor

36

Entendiendo la gestión de vulnerabilidades

37

¿Qué es una superficie de ataque? Principio del menor privilegio

38

El firewall y sus reglas

39

Escaneo de puertos con NMAP y NIKTO desde Kali Linux

40

Lynis: Herramientas de auditoria de seguridad en Linux

Proyecto

41

Configuración de Node.js en un ambiente productivo

42

Configuración de NGINX para la aplicación de Node.js

Bonus: Linux en Azure

43

Aprende sobre Linux en Azure

44

Despliegue de una aplicación web MEAN

45

Crea una máquina virtual en la nube de Azure

Conclusiones

46

Lo que aprendiste sobre servidores linux

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Entendiendo la gestión de vulnerabilidades

36/46
Recursos

Al construir aplicaciones debemos enfrentarnos a la comodidad de los usuarios al crear sus contraseñas y la seguridad que necesitamos para que los atacantes informáticos no consigan acceso a nuestra información.

Existen algunos comandos que no debemos utilizar, ya que son vulnerables por defecto, así como telnet o comandos r*. En vez de estos comandos podemos usar protocolos seguros como SSH.

Debemos tener presente cuáles son los servicios y puertos abiertos de nuestro sistema operativo. También debemos ser muy cuidadosos con los permisos de los usuarios.

Para verificar las actualizaciones de seguridad e instalarlas en nuestra máquina podemos usar los siguientes comandos:

# CentOS
yum check-update --security
yum update security

# Ubuntu
apt-get update
apt-get upgrade

Recuerda que la seguridad informática no es un producto, sino un proceso constante.

Aportes 35

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

RESUMEN DE LA CLASE
|
+Entendiendo la gestión de vulnerabilidades++
|
|
Malas prácticas

  • No desactivar el usuario root
  • Realizar un login con usuario y password (sin ssh)
  • No validar la versión de software usada
  • Utilizar comandos r* o telnet
  • No identificar los servicios y puertos abiertos en el S.O
  • No gestionar correctamente los permisos de los usuarios
    |
    |
    Buenas prácticas
    |
  • Verificar las actualizaciones de seguridad y realizar la instalación de las mismas.
    En CentOS:
yum check-update --security
yum update security

En Ubuntu:

apt update
apt upgrade

Creo que ejecutar un sudo apt upgrade (sin validar antes que paquetes se deben repotenciar) podría hacer que nuevas versiones entren en conflicto con las aplicaciones que ya están corriendo en el servidor (p.ej. Si se llegara a cambiar un php6.x a un php7.x podría provocar una catástrofe), creo que mejor es verificar cuidadosamente (con el equipo) y ejecutar un set de pruebas para determinar que paquetes pueden ser repotenciados con upgrade:
Este comando puede listar cuales son los paquetes que ya tienen nuevas versiones disponibles en los repositorios:
sudo apt list --upgradeable

Algunas reglas para mejorar la seguridad del servidor:
-Desactivar el usuario root para conexiones (ej. SSH).
-No Realizar un login con usuario y password.
-No validar las versiones de software utilizadas.
-No utilizar comandos r*

Exploit para la vulnerabilidad CVE: 2017-16995

https://www.exploit-db.com/exploits/44298

Enlace a la fuente de datos CVE

Que son los camando r* ? y por qué su uso implica un riesgo de seguridad ?

CVE-2017-16995 Un error en la función check_alu_op del kernel permite a usuarios escalar privilegios. "The check_alu_op function in kernel/bpf/verifier.c in the Linux kernel through 4.14.8 allows local users to cause a denial of service (memory corruption) or possibly have unspecified other impact by leveraging incorrect sign extension."

Debemos tener presente cuáles son los servicios y puertos abiertos de nuestro sistema operativo. También debemos ser muy cuidadosos con los permisos de los usuarios.

Para verificar las actualizaciones de seguridad e instalarlas en nuestra máquina podemos usar los siguientes comandos:

<h1>CentOS</h1>

yum check-update --security
yum update security

<h1>Ubuntu</h1>

apt-get update
apt-get upgrade
Recuerda que la seguridad informática no es un producto, sino un proceso constante.

Al construir aplicaciones debemos enfrentarnos a la comodidad de los usuarios al crear sus contraseñas y la seguridad que necesitamos para que los atacantes informáticos no consigan acceso a nuestra información.

Existen algunos comandos que no debemos utilizar, ya que son vulnerables por defecto, así como telnet o comandos r*. En vez de estos comandos podemos usar protocolos seguros como SSH.

RESUMEN CLASE 36

Buenas practicas

  • No desactivar al usuario ROOT

  • Realizar un login con Usuario y Password

  • Validar software instalado siempre actualizarlo

  • Usar SSH

Actualizacion de seguridad en Ubuntu

$ sudo apt update

$ sudo apt upgrade

Hise el escaneo de puertos y si esta comprobado que no se debe de hacer uso de telnet, mi respuesta a eso creo que seria por el echo de compartir texto.
Si mal no recuerdo Chema Alonso ya hablo de este tema y recomendaba no conectarse a redes wifi de acceso libre ya que ahi suseden la mayoria de estos ataques usando un sotfware llamado Wireshark en el cual se puede visualisar el trafico de datos.

OWASP es un proyecto de código abierto dedicado a determinar y combatir las causas que hacen que el software sea inseguro. La Fundación OWASP es un organismo sin ánimo de lucro que apoya y gestiona los proyectos e infraestructura de OWASP:
https://owasp.org/www-project-top-ten/

Investigue sobre ese tema de las vulnerabilidades pero sigo con dudad, cuando hablan de la CVE, ¿Qué es exactamente?, ¿Cómo puedo entender bien cada cosa que dicen?, por ejemplo, como podría leer o como puedo hacer para entender:
CVE-2017-1807
No me queda claro que es exactamente eso además de que significa el 2017 y el 1807, eh visto que existen mas y cambian de numero, pero no entiendo como puedo identificarlo o puedo leerlo.

Creo que hay algunos cursos que debo ver antes de este, y luego volver a repasar. Para adelante, como el elefante

buena info

Excelentes datos

La seguridad informática no es un producto, sino un proceso constante.

Debemos manejar conceptos básisos:

  • Gestión de vulnerabilidades

  • Superficies de ataque

  • Cuáles son los servicios que yo estoy administrando

Me quedé en blanco con los comandos R.

Quisiera compartirles la

Guía de seguridad RHEL

Ahí pueden encontrar más sobre la historia
y conceptos básicos sobre seguridad

administración y buenas practicas

En las versiones recientes de las distribuciones derivadas de Debian/Ubuntu el comando apt ha tenido algunas variaciones, este nos provee de un comando con el cual podemos verificar previamente los paquetes candidatos a ser actualizados el cual se puede hacer con:

# apt list --upgradable

Posteriormente ya se puede proceder a actualizar estos paquetes utilizando:

# apt upgrade

En ocasiones es posible que algún paquete presente problemas para cubrir dependencias para lo cual en la mayoria de los casos estas se pueden solventar usando:

# apt --fix-broken install

Nota: los comando anteriores se ejecutan con un usario root, ocupar sudo antes de ellos si se llevan a cabo con el usuario personal.

paso!

Entendido.

Entendido

Me encantaria que profundicen en SElinux

gracias! 😃

Muy buena clase y muy buenos tips de seguridad básica para los servidores.

Este es el fix que arregló la vulnerabilidad CVE-2017-16995

https://github.com/torvalds/linux/commit/95a762e2c8c942780948091f8f2a4f32fce1ac6f

el enlace de vulnerabilidades por fecha