Jun 21

Script transferencia SFTP con expect

En este escript vamos a utilizar la shell expect para realizar una transferencia de archivos mediante SFTP.
Ya tenemos generadas las claves y el usuario tiene acceso sin contraseña al servidor, pero la clave privada está protevida mediante passphrase.

 

#!/usr/bin/expect -f
spawn sftp -P 11344 user11sftp01@192.168.1.158
expect “Enter passphrase for key ‘/root/.ssh/id_rsa’:”
send “c0ntr4s3n4\n”
expect “sftp>”
send “cd /out\n”
expect “sftp>”
send “mget *.txt\n”
expect “sftp>”
send “exit\n”
interact

system chown rokitoh:rokitoh /sftp/out

 

 

 

Un saludo

:wq!

 

Jun 14

Script en bash para hacer backup de MySQL

En esta ocasión vamos a ver un pequeño script con el cual realizar backups de MySQL

 

#!/bin/bash

# Credenciales BBDD
user=”usuario”
password=”contraseña”
host=”localhost”
db_name=”bbdd”

# definimos las variables del path y la fecha
backup_path=”/backup”
date=$(date +”%d-%b-%Y”)

# Establecemos los permisos predeterminados
umask 177

# Dump de la base de datos
mysqldump –user=$user –password=$password –host=$host $db_name > $backup_path/$db_name-$date.sql

#Comprimir backup

xz -9 $backup_path/$db_name-$date.sql

# Eliminar archivos de más de 30 días
find $backup_path/* -mtime +30 -exec rm {} \;

 

lo añadimos en el crontab

rokitoh@red-orbita:# cronta -l

0 0 * * * /usr/bin/backupmysq.sh

 

Un saludo

:wq!

Jun 14

Autenticación en Active Directory vía RADIUS GNU/Linux

RADIUS (acrónimo en inglés de Remote Authentication Dial-In User Service). Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1812 UDP para establecer sus conexiones.

Cuando se realiza la conexión con un ISP mediante módem, DSL, cablemódem, Ethernet o Wi-Fi, se envía una información que generalmente es un nombre de usuario y una contraseña. Esta información se transfiere a un dispositivo Network Access Server (NAS) sobre el protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS comprueba que la información es correcta utilizando esquemas de autenticación como PAP, CHAP o EAP. Si es aceptado, el servidor autorizará el acceso al sistema del ISP y le asigna los recursos de red como una dirección IP, y otros parámetros como L2TP, etc.

Continue reading

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 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 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