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

El firewall y sus reglas

38/46
Recursos

Los Firewalls son herramientas que monitorean el tr谩fico de nuestras redes para identificar amenazas e impedir que afecten nuestro sistema.

Recuerda que la seguridad inform谩tica es un proceso constante, as铆 que ninguna herramienta (incluyendo el firewall) puede garantizarnos seguridad absoluta.

En Ubuntu Server podemos usar ufw (Uncomplicated Firewall) para crear algunas reglas, verificar los puertos que tenemos abiertos y realizar una protecci贸n b谩sica de nuestro sistema:

  • sudo ufw (enable, reset, status): activar, desactivar o ver el estado y reglas de nuestro firewall.
  • sudo ufw allow numero-puerto: permitir el acceso por medio de un puerto espec铆fico. Recuerda que el puerto 22 es por donde trabajamos con SSH.
  • sudo ufw status numbered: ver el n煤mero de nuestras reglas.
  • sudo ufw delete numero-regla: borrar alguna de nuestras reglas.
  • sudo ufw allow from numero-ip proto tcp to any port numero-puerto: restringir el acceso de un servicio por alguno de sus puertos a solo un n煤mero limitado de IPs espec铆ficas.

Aportes 44

Preguntas 10

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

RESUMEN DE LA CLASE
|
El firewall y sus reglas
|
|
Comandos
|

  • sudo ufw status: Muestra el estado (activo/inactivo) y las reglas del firewall. Con el modificador numbered me muestra las reglas numeradas
  • sudo ufw allow puerto: Habilita un puerto
  • sudo ufw enable: Enciende el firewall
  • sudo ufw delete numero_de_regla: Borra una regla
  • sudo ufw allow from direccion_ip proto protocolo to any port puerto: Restringe las direcciones ip que pueden conectarse a cierto puerto. Recordar que SSH trabaja con el protocolo TCP
  • sudo ufw reset: Elimina todas las reglas

|
|
Recomendaci贸n
|
Abrir al p煤blico 煤nicamente el puerto 80 (http), 443 (https). Para un conjunto de IP鈥檚 espec铆ficas, habilitar el puerto 22 (ssh)

Para banear una IP espec铆fica:

sudo ufw insert 1 deny from {IP} comment 'Bloqueada ip de Atacante'

Para banear una red:

sudo ufw insert 1 deny from {IP}/{rango} comment 'Bloqueada ip de Atacante'

para ver las apps permitidas:

sudo ufw app list
Available applications:
  Apache
  Apache Full
  Apache Secure
  Bind9
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH```

(un poco de humor) 馃お creo aplica para distros de la familia RHEL (por ejemplo, CentOS), les comparto esta p谩gina del creador de SELinux: stopDisablingSELinux.com, y ya saben, un buen proyecto debe siempre quedar con el firewall bien configurado, no lo apaguen simplemente porque 鈥渁s铆 es que funciona todo bien鈥 (lecci贸n en aprendizaje) 馃

ufw genera a final de cuentas reglas de iptables, que podemos ver usando el comando

iptables -L -v -n

Ahora bien, el profesor no explica que las reglas se evaluan en el orden en el que est谩n listadas por lo que en el ejemplo al hacer allow in al puerto 22 y estar primero la segunda regla nunca se va a evaluar ya que la primera es m谩s general y engloba a la segunda, por lo que para definir reglas siempre debemos definir la m谩s especifica primero y al final la m谩s general.

Por ejemplo primero definimos las IP desde las que se va permitir puerto 22, y al final una regla que deniegue acceso a puerto 22, de tal manera que se deja pasar si hace match de las primeras reglas y si no hizo match con ninguna al final deniega acceso.

Esto es m谩s apropiado para un curso de redes, o de seguridad y firewalls.

Que hermoso es Linux :3

Tambi茅n es importante permitir el puerto 443 en caso de que tu sitio web tenga SSL, de lo contrario no podr谩n entrar con https

para permitir acceso desde todo el segmento de la red local

sudo ufw allow from 192.168.0.0/24 proto tcp to any port 22 comment 'permitir ssh ip'

listo鈥 reto realizado 馃槂

En Ubuntu Server podemos usar ufw (Uncomplicated Firewall) para crear algunas reglas, verificar los puertos que tenemos abiertos y realizar una protecci贸n b谩sica de nuestro sistema:

sudo ufw (enable, reset, status): activar, desactivar o ver el estado y reglas de nuestro firewall.
sudo ufw allow numero-puerto: permitir el acceso por medio de un puerto espec铆fico. Recuerda que el puerto 22 es por donde trabajamos con SSH.
sudo ufw status numbered: ver el n煤mero de nuestras reglas.
sudo ufw delete numero-regla: borrar alguna de nuestras reglas.
sudo ufw allow from numero-ip proto tcp to any port numero-puerto: restringir el acceso de un servicio por alguno de sus puertos a solo un n煤mero limitado de IPs espec铆ficas.

Puedes ampliar la info que recibes de status con:

sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22                         ALLOW IN    Anywhere                   # ssh
22/tcp (v6)                ALLOW IN    Anywhere (v6)
22 (v6)                    ALLOW IN    Anywhere (v6)              # ssh```

Estos serian los puertos para SSH, HTTP y HTTPS:

sudo ufw allow 22 proto tcp
sudo ufw allow 80 proto tcp
sudo ufw allow 443 proto tcp

.
Hay que recordar que si queremos actualizar usando aptitude, necesitaremos o bien cambiar todos los host por su respectiva IP o tambi茅n agregar el puerto DNS para que nuestro servidor pueda buscar los host en servidores DNS.

sudo ufw allow 53

En el caso de CentOS, seria de esta forma

/*Activamos el servicio*/
sudo systemctl start firewalld

/*De esta forma*/
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

/*De esta otra forma*/
sudo firewall-cmd --zone=public --add-port=80/tcp
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent

//Recargamos 
sudo firewall-cmd --reload

//Verificamos
sudo firewall-cmd --list-all

Si bien ufw es un aplicativo que facilita la creaci贸n de reglas de firewall deber铆an comentar que actualmente iptables es el gestor a nivel kernel de las reglas de firewall, y que a煤n sin instalar ufw iptables siempre esta disponible, claro que es m谩s complicado de configurar, lo que hace falta es entender bien como funciona iptables para poder sacarle provecho.

Muy interesante el poder activar el firewall desde el servidor.

sudo ufw status
sudo ufw allow 22 comment 'SSH'
sudo ufw enable
sudo ufw status
sudo ufw status numbered
sudo ufw delete 2
sudo ufw status
sudo ufw allow from 10.106.51.10 proto tcp to any port 22 comment "Permitir SSH IP"
sudo ufw reset

iptables es otro comando interesante para manejar reglas de firewall aunque es un poco mas complicado de usar.

<sudo ufw from 192.168.10.127 proto tcp  to any port 22  comment 'permitir ssh ip'> 
  1. from : desde que ip se van a conectar, solo podran conectarse desde siertas direcciones ip espesificas.

  2. proto tcp : porque SSH es un protocolo que corre por TCP.

  3. to any port : que nos permita a cualquiera que sea el puerto 22.

|
#Tecnicamente el uso de firewall consiste en restringir algunas conecciones de puertos, un uso muy espesifico podria ser un centro educativo que permitiria coneccion a los estudiantes pero denegandoles el sitios weds inapropiados.

No se olviden habilitar el puerto para nagios.
sudo ufw allow from ip proto tcp to any port 8080 comment 鈥淎cceso Nagios鈥

Como parte complementaria por si les interesa:
FirewallD, es el front-end firewall-cmd en el programa de administraci贸n de reglas de firewall (iptables) para el kernel de Linux.

ufw es una interfaz con todas las funciones para la CLI, mientras que firewalld en su mayor铆a solo proporciona una API y tendr铆as que usar otro programa adem谩s de eso. ufw tiene mucha experiencia / exposici贸n, ya que es la herramienta recomendada para distribuciones basadas en Debian como Ubuntu.

Clase fant谩stica!!

Excelente!

Esta reglas al momento de agregarlas son fijas?, o cuando reinicie se borran?..

RESUMEN CLASE 38

Ver el estado y reglas del firewall

$ sudo ufw status

Crear un conjunto de reglas y activarlo

$ sudo ufw allow 22 comment 'ssh'

Para activar ufw

$ sudo ufw enable

Cuales son las reglas que tenemos en el S.O.

$ sudo ufw status

Para que nos muestre numeradas

$ sudo ufw status numbered

Para borrar una regla de un puerto

$ sudo ufw delete "numero de regla"

Para restringir otras IPs

$ sudo ufw allow from "IP Privada o Publica" proto tcp to any port 22 comment 'permitir ssh ip'

Para borrar reglas

$ sudo ufw reset

Recomendacion de los Puertos:
80 HTTP Habilitar
443 HTTPS Habilitar
22 SSH Habilitar solo a IPs autorizadas.

Interesante, no sab铆a que se pod铆an comentar las reglas:

  • sudo ufw allow port comment 'Commit鈥
    Podemos ver el n煤mero si es que deseamos eliminar una regla, de la siguiente manera:
  • sudo ufw status numbered
  • sudo ufw delete number_rule

Para usar ufw con CentOS:

sudo yum install epel-release -y
sudo yum install --enablerepo="epel" ufw -y
sudo ufw enable
sudo ufw status

Ese punto de habilitar el ssh es muy importante la primera vez que hice eso en una maquina virtual de google solo abri el puerto 80 y luego no me podia conectar al servidor y lo peor era que no sabia la razon jaja.

Solucion: coloque la orden de habilitar el puerto para ssh en el script de arranque de la maquina asi que la apague y la volvi a encender, donde ya quedo habilitado el acceso

Reto: Permitir ssh solo a tu maquina.
respuesta: cuando habilitamos el firewall UFW autom谩ticamente bloquea numerosos puertos y conexiones de red. a partir de ah铆 toca agregarle las reglas,

una vez activado aplicamos la regla

<sudo ufw allow from 20.20.20.15 to any port 22 proto tcp> 

Un firewall en s铆 mismo no garantiza nada, s铆, permite cerrar o abrir puertos desde ciertas IP/Segmentos espec铆ficos, pero se cierran todos los puertos y los c贸digos con los que se ejecutan las aplicaciones web son tan poco asegurables que permiten ataques de SQL Injection, XSS, y se pasan el OWASP TOP10 por las narices?

Comando para permitir al puerto 22(para SSH) usando UFW

Tiene absoluta razon cuando dice que no nos interesa tener los puertos de la BD abiertos al publico, que peligro!!!

El puerto 22 siempre debe de estar abierto, pues es el puerto de SSH.

Los puertos que deber铆an estar abiertos en el firewall es el 80 (HTTP) y 443 (HTTPS).

ufw para permitir acceso por un puerto en especifico

explicacion de que es un firewall sus funciones鈥sta en ingles pero vale la pena verlo.

https://youtu.be/kDEX1HXybrU

Que buena clase! estaba con esa duda de c贸mo restringir el acceso por ssh. 馃槷

Este comando funciona igual en red hat?

por ejemplo si quieres un segmentod e red

sudo ufw allow from X.X.X.0/24  to any port 22

donde las X son el segmento

Excelente

Que firewall es m谩s utilizado hoy d铆a en Linux ? ufw o iptables ?

Los Firewalls son herramientas que monitorean el tr谩fico de nuestras redes para identificar amenazas e impedir que afecten nuestro sistema.

Recuerda que la seguridad inform谩tica es un proceso constante, as铆 que ninguna herramienta (incluyendo el firewall) puede garantizarnos seguridad absoluta.

En mi caso, el reto quedo asi:

Permiti de ssh desde cualquier ip de mi red y habilite el puerto 2222 que es por donde me conecto via ssh