May 13

Configuración Proxy Inverso con apache en GNU/Linux

¿Que es un proxy inverso?

Un Proxy inverso es un intermediario entre una red pública y un conjunto de servidores privados; el cual se encarga de administrar las solicitudes de servicios por parte de uno o varios computadores externos. Estos funcionan manipulando los requerimientos HTTP que son enviados por varios computadores; en un proceso en cual se atienden las solicitudes y al mismo tiempo manipulan la presentación de estos servicios para evitar comprometer información crítica del grupo de servidores privados a donde se solicitan.

Diagrama:

Continue reading

May 11

Manual practico de iptables

Resetear reglas

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -t nat -F

Establecer las políticas de firewall por defecto  

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -L -v -n

Ver el estado del firewall

iptables -L -n -v

 

  • -L : Muestra las reglas.
  • -v : Muestra información detallada.
  • -n : Muestra la dirección ip y puerto en formato numérico. No usa DNS para resolver nombres. Esto acelera la lista.

Mediante este ejemplo podremos ver las reglas con el numero de lineas.


iptables -n -L -v --line-numbers  

Mostrar las reglas entrantes

iptables -L INPUT -n -v

Mostrar las reglas salientes

iptables -L OUTPUT -n -v

si agregamos –line-numbers podrémos ver el numero de lineas

Eliminar reglas de Firewall

Se puede eliminar una regla por el numero de la linea, en este caso eliminamos las reglas INPUT y OUTPUT correspondiente a la linea 4.

iptables -D INPUT 4

iptables -D OUTPUT 4

También podemos una regla concreta

iptables -D INPUT -s 10.10.33.14 -j DROP

 

  • -D : Elimina una o más reglas de la cadena seleccionada.

Guardar los cambios

service  iptables save

Sólo a bloquear el tráfico entrante

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -L -v -n

Eliminar direcciones de red privada en la interfaz pública (Suponiendo eth1 como interfaz pública)

iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

Permitir todo el tráfico de loopback, y eliminar todo el tráfico a 127/8 que no usa lo0

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

Aceptar todas las conexiones entrantes establecidas

iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

Eliminar cualquier paquete inválido que no pueda ser identificado

iptables -A INPUT -m state –state INVALID -j DROP

Bloquear tráfico a un dominio

Para ello debemos sacar el rango de IP del dominio:

 

host -t a www.google.es
www.google.es has address 216.58.214.163

whois 216.58.214.163  | grep CIDR
CIDR:           216.58.192.0/19

Denegamos el acceso al rango que hemos obtenido:

iptables -A OUTPUT -p tcp -d 216.58.192.0/19 -j DROP

También es posible hacerlo por nombre de dominio

iptables -A OUTPUT -p tcp -d www.google.es -j DROP
iptables -A OUTPUT -p tcp -d google.es -j DROP

Permitir todo el tráfico entrante SSH

iptables -A INPUT  -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

Permitir tráfico HTTP

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

Permitir HTTPS saliente.

iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

 

Permitir tráfico HTTP

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

Permitir HTTPS saliente.

iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

Abrir un rango de puertos de entrada

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

Prevenir ataques DoS
-Limit 25/minute : Limita a sólo 25 conexiones por minuto.
-Limit-burst 100: Indica que el valor de limit/minute será forzado sólo después del número de conexiones en este nivel

iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

 

Abrir un rango de direcciones IPs

iptables -A INPUT -p tcp –destination-port 80 -m iprange –src-range 192.168.1.100-192.168.1.200 -j ACCEPT

 

Listado de reglas ejemplo para puertos TCP/UDP comunes:

 

open port ssh tcp port 22 ##
iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state –state NEW -p tcp –dport 22 -j ACCEPT

## open cups (printing service) udp/tcp port 631 for LAN users ##
iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp –dport 631 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp –dport 631 -j ACCEPT

## allow time sync via NTP for lan users (open udp port 123) ##
iptables -A INPUT -s 192.168.1.0/24 -m state –state NEW -p udp –dport 123 -j ACCEPT

## open tcp port 25 (smtp) for all ##
iptables -A INPUT -m state –state NEW -p tcp –dport 25 -j ACCEPT

# open dns server ports for all ##
iptables -A INPUT -m state –state NEW -p udp –dport 53 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 53 -j ACCEPT

## open http/https (Apache) server port to all ##
iptables -A INPUT -m state –state NEW -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 443 -j ACCEPT

## open tcp port 110 (pop3) for all ##
iptables -A INPUT -m state –state NEW -p tcp –dport 110 -j ACCEPT

## open tcp port 143 (imap) for all ##
iptables -A INPUT -m state –state NEW -p tcp –dport 143 -j ACCEPT

## open access to Samba file server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state –state NEW -p tcp –dport 137 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state –state NEW -p tcp –dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state –state NEW -p tcp –dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state –state NEW -p tcp –dport 445 -j ACCEPT

## open access to proxy server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state –state NEW -p tcp –dport 3128 -j ACCEPT

## open access to mysql server for lan users only ##
iptables -I INPUT -p tcp –dport 3306 -j ACCEPT

 

 

:wq!

Abr 26

Instalación y configuración de Suse Manager 3

SUSE Manager 3 es el último software de gestión de servidores Linux que proporciona una gestión integral del ciclo de vida y monitorización de servidores Linux en diferentes distribuciones, arquitecturas de hardware, plataformas virtuales y entornos de nube. SUSE Manager 3 incluye el software de automatización Salt y características mejoradas de gestión de configuración, gestión de suscripciones más sencilla y capacidades de monitorización optimizadas.

Características

  • Permite gestionar varias distribuciones de Linux (Red Hat y SUSE®) desde una única consola centralizada
  • Es compatible con una gran variedad de hardware en entornos físicos, virtuales y en la nube
  • Permite mantener y cumplir fácilmente las políticas internas de seguridad y las normativas externas
  • Método estándar para salvaguardar la seguridad de Linux
  • Inventario de software y hardware simple y automatizado con elaboración avanzada de informes

Continue reading

Abr 16

Instalar PowerCLI Core en GNU/Linux

PowerCLI Core es una solución de VMware basada en Powershell de Microsoft. Nos permite utilizar esta poderosa herramienta en Linux, Mac y Docker.

En primer lugar tenemos que instalar las dependencias:

root@redorbita:~# apt-get install ca-certificates curl libunwind8 libicu52 unzip wget libcurl4-openssl-dev

 

Continue reading

Feb 05

Instalación y Configuración de BareOS en GNU/Linux

¿Que es BareOS?

BareOS (Backup Archiving Recovery Open Sourced) Es un potente y flexible solución de backup en red multipataforma. Se basa en una arquitectura Cliente-servidor que resulta eficaz y fácil de manejar. BareOS se trata un fork de Bacula, está división del proyecto se dio debido a que la empresa que está detŕas de Bacula solamente incorporó las mejoras y parches aportados por la comunidad en su versión comercial.

Esta instalación la vamos a centrar en dos distribuciones diferentes Debian y CentOS

Continue reading

Feb 03

Instalación y configuración de Veritas Cluster Server (sfha) en GNU/Linux Red Hat

¿Que es Veritas Cluster?

VCS (Veritas cluster server)

Software de clúster de gran disponibilidad desarrollado por Symantec para plataformas UNIX, Linux y Windows.

Una solución de clústeres de sistemas abiertos que elimina el tiempo fuera de servicio planeado e imprevisto, simplifica la consolidación de servidores y permite la administración eficaz de una amplia gama de aplicaciones en entornos de varias plataformas.

Continue reading

Ene 30

Configuración bonding LACP con VLAN taggeada en Red Hat

¿Que es LACP?

Agregación de enlaces LACP (IEEE 802.3ad)

La agregación virtual de enlaces, también llamadatrunking, es una característica de nivel 2, que une puertosfísicos de la red en un único enlace de datos de granancho de banda; de este modo se aumenta la capacidad de ancho debanda y se crean enlaces redundantes y de alta disponibilidad. Sifalla un enlace, la carga se redistribuye entre los enlacesrestantes, con lo que el funcionamiento es continuo. Gracias a lacapacidad de distributed multilink trunking (trunking distribuidopor pila), el fallo o la eliminación de una unidad de lapila no causará la caída de todo un trunk.

¿Que es una VLAN?

Una red de área local virtual (VLAN por sus siglas en inglés Virtual Local Area Network ) es una topología en red que se configura de acuerdo a un esquema lógico en lugar del diseño físico. Los servidores en el mismo VLAN se comunican entre ellos como si estuvieran en LAN. Sin embargo, los servidores de diferentes VLANs no se pueden comunicar libremente entre ellos.

 

¿Que es el tropocolo IEEE 802.?

El protocolo IEEE 802.1Q, también conocido como dot1Q, fue un proyecto del grupo de trabajo 802 de la IEEE para desarrollar un mecanismo que permita a múltiples redes compartir de forma transparente el mismo medio físico, sin problemas de interferencia entre ellas (Trunking). Es también el nombre actual del estándar establecido en este proyecto y se usa para definir el protocolo de encapsulamiento usado para implementar este mecanismo en redes Ethernet. Todos los dispositivos de interconexión que soportan VLAN deben seguir la norma IEEE 802.1Q que especifica con detalle el funcionamiento y administración de redes virtuales. *Shortest Path Bridging (SPB) Incorporado al IEEE 802.1Q-20141

Continue reading

Ene 29

Redimensionar multipath de una LUN Pure Storage en GNU/Linux

A continuación, indicaremos los pasos a seguir para redimensionar el tamaño del disco en GNU/Linux

 

Rescaneamos las sesiones en ambos nodos

iscsiadm -m session -R

 

mediante el comando multipath -ll identificamos la LUN

multipath -ll
mysql_data (3624a93708731da97f48571620001105a) dm-6 PURE ,FlashArray
size=232G features=’0′ hwhandler=’0′ wp=rw
`-+- policy=’service-time 0′ prio=1 status=active
|- 3:0:0:10 sdb 8:16 active ready running
|- 4:0:0:10 sdc 8:32 active ready running
|- 5:0:0:10 sdd 8:48 active ready running
|- 6:0:0:10 sde 8:64 active ready running
|- 7:0:0:10 sdf 8:80 active ready running
|- 10:0:0:10 sdh 8:112 active ready running
|- 8:0:0:10 sdg 8:96 active ready running
`- 9:0:0:10 sdi 8:128 active ready running

 

Re-escanear el dispositivo multipath en ambos nodos

 

multipathd -k’mysql_data’

 

Expandimos  el volumen físico:

 

pvresize /dev/mapper/mysql_data

 

En caso que no tenemos creado ningún volumen físico lo debemos redimensionar mediante  resize2fs

 

resize2fs /dev/mapper/mysql_data

 

:wq!

 

 

Ene 29

Configurar nombres persistentes en multipath

Se recomienda que dichos sistemas tengan nombres de dispositivos persistentes configurados para sus hosts. Así se ayuda a la migración en vivo como también a proporcionar nombres de dispositivos consistentes y almacenaje para sistemas virtualizados múltiples.
Los identificadores únicos universales o UUID (Universally Unique Identifiers) son un método estandarizado para la identificación de computadores y dispositivos en entornos informáticos de distribución. Esta sección utiliza los UUID para identificar a iSCSI o LUN de Fibre Channel. Los UUID persisten después del reinicio, desconexión e intercambio de dispositivos. El UUID es similar a una etiqueta en el dispositivo.

Continue reading