Jun 23

Error No existe clave pública Debian

Si al hacer un apt-get update obtenéis un error como el siguiente:

W: No existe ninguna clave pública disponible para los siguientes identificadores de clave:
EF0F382A1A7B6500

Es porque no se encuentra la clave pública del repositorio.
Para solucionar el problema, no tenéis más que descargarla y añadirla:
gpg –keyserver keys.gnupg.net –recv-key EF0F382A1A7B6500
gpg: solicitando clave 1A7B6500 de hkp servidor keys.gnupg.net
gpg: clave 1A7B6500: clave pública “Debian Stable Release Key (9/stretch) <debian-release@lists.debian.org>” importada
gpg: no se encontraron claves absolutamente fiables
gpg: Cantidad total procesada: 1
gpg: importadas: 1 (RSA: 1)
Añadimos la clave:
gpg –export –armor EF0F382A1A7B6500 | apt-key add –
OK
un saludo.
:wq!
Jun 22

Configurar servidor SFTP enjaulado con permisos de escritura en el grupo GNU/Linux

En esta entrada realizaremos una configuración de SFTP  enjaulado en el cual tanto el propietario como el grupo podrán realizar modificaciones en el directorio enjaulado.

Realizamos dicha modificación dado que en mi casó un usuario que gestiona un aplicativo necesita poder procesar los ficheros alojados en el sftp.

Continue reading

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!