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!

 

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!

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.

Leer más

Instalación servidor NPS

NPS (Network Policy Server ) es la implementación de Microsoft de un servidor y un proxy de servicio de usuario de acceso telefónico de autenticación remota (RADIUS) en Windows Server 2008. NPS sustituye al servicio de autenticación de Internet en Windows 2003.

Como servidor RADIUS, NPS realiza autenticaciones de conexiones, autorizaciones y administración de cuentas centralizadas para muchos tipos de acceso de red, incluidas las conexiones inalámbricas y virtuales de carácter privado (VPN). Como proxy de RADIUS, NPS reenvía mensajes de autenticación y administración de cuentas a otros servidores de RADIUS. NPS también actúa como servidor de evaluación del estado de mantenimiento de la protección de acceso a redes (NAP).

Leer más

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

Leer más

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)

 

Leer más

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:

 

Leer más

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.

Leer más

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!