Jun 09

Integración MediaWIKI con Active Directory

Nos descargamos la extensión LdapAuthentication:

https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication

También lo podemos descargar mediante git en la siguiente URL:

https://gerrit.wikimedia.org/r/#/q/status%3Aopen+project%3Amediawiki/extensions/LdapAuthentication

En mi casó dado que tengo instalado MediaWiki 1.27 bajo centOS 7 me bajo dicha versión

wget https://extdist.wmflabs.org/dist/extensions/LdapAuthentication-REL1_27-b0dba33.tar.gz

Descomprimimos la paquete

tar -xzf LdapAuthentication-REL1_27-b0dba33.tar.gz -C /var/www/html/extensions

Continue reading

Jun 03

Registrar una máquina virtual o template en vCenter Server

Este artículo describe los pasos para registrar o agregar una máquina virtual al inventario en vCenter Server/VirtualCenter o en un host ESX/ESXi.
  • Haga clic en la pestaña Configuration.
  • Haga clic en Storage.
  • Haga clic con el botón derecho en el almacén de datos adecuado y haga clic en Browse Datastore.

Podemos utilizar el buscador para encontrar la maquina o template en cuestión si sabemos el nombre.

botón derecho sobre el archivo .vmtx  > Registrar maquina virtual (Add to inventory)

 

Continue reading

Jun 01

Proxy inverso SFTP con HAproxy

¿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

Jun 01

Clúster de alta disponibilidad HAproxy en Red Hat 7

¿Que es un Cluster HA?

Un cluster de alta disponibilidad es un conjunto de dos o más máquinas que se caracterizan por mantener una serie de servicios compartidos y por estar constantemente monitorizándose entre sí. Podemos

mas información

¿Que es HAProxy?

HAProxy (que significa alta disponibilidad Proxy) es una solución de código abierto rápido y confiable, que es capaz de manejar el tráfico enorme y ofrece alta disponibilidad, balanceo de carga y proxy para TCP y aplicaciones basadas en HTTP. Similar a NginxBalancer, se utiliza un modelo orientado a eventos de un solo proceso, que consume un bajo (y estable) cantidad de memoria, lo que permite a HAProxy procesar un gran número de peticiones concurrentes al mismo tiempo, garantiza un buen equilibrio de carga con la persistencia inteligente y mitigación de DDoS.

Continue reading

Jun 01

Script en bash para crear usuarios SFTP enjaulados

En esta ocasión vamos a ver un pequeño script el cual permite la creación de usuarios enjaulados en SFTP:

 

#!/bin/bash
usage()
{
cat << EOF
USO: $0 -G grupo -u usuario  -f file system
Script para la creacion de usuarios enjaulados SFTP
OPCIONES:
   -G      Grupo
   -u      Usuario SFTP
   -f      file system
ejemplo de uso: /usr/bin/createuser.sh -G sftp -u usersftp -f /home/usersftp
EOF
}
#Declaramos todas las variables que se van a usar para guardar los parametros
inputgroup=
inputusuario=
inputfs=
#Usamos el getopts para guardar los parametros en variables
while getopts “hH:G:u:f:” OPTION
do
        case $OPTION in
                h)
                usage
                exit 1
                        ;;
                G)
                inputgroup=$OPTARG
                        ;;
                u)
                inputusuario=$OPTARG
                        ;;
                f)
                inputfs=$OPTARG
                        ;;
                esac
done
#Comprobamos que se han introducido los parametros obligatorios
if [ -z $inputgroup ] || [ -z $inputusuario ] || [ -z $inputfs ]
then
        usage
        exit 1
fi
function SSHconfig (){
if [ -f “/etc/ssh/sshd_config-bck” ]
            then
#Comentamos lineas
  sed -i ‘s/Subsystem/#&/’ /etc/ssh/sshd_config
                #Agregamos configuracion
cat << EOF >> /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match user $inputusuario
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
KbdInteractiveAuthentication yes
EOF
            else
                #Si no existe el fichero de backup muestra un error y sale del script
                echo “No se encontro el fichero de configuracion /etc/ssh/sshd_config-bck”
                exit 1
fi
}
# Creamos el grupo
groupadd $inputgroup
#Creamos el usuario
useradd -g $inputgroup  -s /bin/false -d $inputfs $inputusuario
#Asignamos una contraseña al usuario
passwd $inputusuario
mkdir -p $inputfs/public
chmod 755 $inputfs
chown root:root $inputfs
chown $inputusuario:$inputgroup $inputfs/public
#Creamos backup del fichero de configuracion de SSH
cp /etc/ssh/sshd_config /etc/ssh/sshd_config-bck
#Realizamos la configuracion de SSH
SSHconfig
#Reiniciamos el servicio
service sshd restart
Un saludo
:wq!
May 18

Configuración Inicial Switch D-link DGS-1210

Cuando configuramos por primera vez el Switch D-link DGS-1210 tenemos que tener en cuenta que viene configurado por defecto mediante una IP fije, por lo que tenemos que conectar directamente el Switch a nuestro equipo.  también  tenemos que tenerlo conectado a nuestro router.

Una vez ya tenemos conectado todo el switch inicia con la dirección IP: 10.90.90.90/24 por lo tanto debemos de ponernos un direccionamiento ip en ese rango.

Configuramos una interfaz virtual:

ifconfig eth0:0 10.90.90.91/24 up

Comprobamos que llegamos al Switch

root@redorbita:~# ping 10.90.90.90
PING 10.90.90.90 (10.90.90.90) 56(84) bytes of data.
64 bytes from 10.90.90.90: icmp_seq=1 ttl=255 time=3.28 ms
64 bytes from 10.90.90.90: icmp_seq=2 ttl=255 time=2.97 ms
64 bytes from 10.90.90.90: icmp_seq=3 ttl=255 time=2.54 ms
64 bytes from 10.90.90.90: icmp_seq=4 ttl=255 time=2.92 ms
64 bytes from 10.90.90.90: icmp_seq=5 ttl=255 time=2.55 ms
— 10.90.90.90 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 2.549/2.857/3.286/0.284 ms

Continue reading

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