Difference between revisions of "Pilaf"
Rafahsolis (talk | contribs) (Created page with "= Pilaf = [https://www.lucidchart.com/invitations/accept/3a44a7b6-b1b3-4099-8feb-942fee40e067 Diagrama Arquitectura y Funcional] == Configuracion previa necesaria para copia d...") |
Rafahsolis (talk | contribs) |
||
| Line 10: | Line 10: | ||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] | ||
| − | < | + | <nowiki>"AutoAdminLogon"="1" |
| − | "AutoAdminLogon"="1" | ||
"DefaultUserName"="your-admin-account" | "DefaultUserName"="your-admin-account" | ||
"DefaultDomainName"="yourdomain.local" | "DefaultDomainName"="yourdomain.local" | ||
| − | "DefaultPassword"= | + | "DefaultPassword"="YourAdminPasswordRevealedToThePublicByAStupidAdmin"</nowiki> |
| − | "YourAdminPasswordRevealedToThePublicByAStupidAdmin" | ||
| − | </ | ||
== Programas necesarios para transferencia segura entre t302 y s314 == | == Programas necesarios para transferencia segura entre t302 y s314 == | ||
Revision as of 20:12, 17 March 2018
Pilaf
Diagrama Arquitectura y Funcional
Configuracion previa necesaria para copia desde temporales a t302
AutoLogin Windows
Pilaf necesita un usuario y password del dominio hardcodeado en el registro para poder iniciar sesion automaticamente al encender y asi poder acceder a las carpetas temporales con ese usuario.
Existe una forma de introducir el password sin hardcodearlo pero a veces falla. Cada vez que se cambia el password se tiene que volver a introducir en la maquina
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1" "DefaultUserName"="your-admin-account" "DefaultDomainName"="yourdomain.local" "DefaultPassword"="YourAdminPasswordRevealedToThePublicByAStupidAdmin"
Programas necesarios para transferencia segura entre t302 y s314
Windows
- Deltacopy (http://www.aboutmyip.com/AboutMyXApp/DeltaCopyDownloadInstaller.jsp) Es un cliente/servidor de rsync grafico para windows para el que no necesitas SSH ni instalar nada mas, la informacion viaja en claro
- Stunnel (https://www.stunnel.org/downloads/stunnel-5.42-win32-installer.exe)
Linux
- Rsync
sudo apt install rsync
- Stunnel
sudo apt install stunnel4
Instalacion y configuracion para transferencia segura entre t302 y s314
Windows
Deltacopy Server
Lo lanzamos y nos dira que hagamos clic para instalarlo como servicio y posteriormente nos aparecera un semaforo que indica si el servidor esta corriendo o no y dos botones para pararlo o iniciarlo.
Para compartir una carpeta usando rsync debemos ir a "virtual directories" una vez alli darle a <Add New Directory> y introducir el path, no es necesario darle a las opciones de read only o usar autenticacion ya que para eso tenemos stunnel.
Para cambiar el puerto por defecto de rsync (873) o cambiar la ip en la que escucha(por defecto 0.0.0.0) podemos ir al archivo de configuracion de Deltacopy situado en la carpeta donde esta instalado y llamado "deltacd.conf".
En un equipo plataformado del BBVA no se pueden cambiar las reglas de firewall (al menos yo no pude, ya que el FW de windows no se puede activar) por lo que si queremos que el puerto 873 solo este disponible en 127.0.0.1 para evitar accesos que no sean a traves de Stunnel el archivo "deltacd.conf" debe quedar mas o menos asi.
use chroot = false
strict modes = false
port = 873
address = 127.0.0.1
[Backup]
path = /cygdrive/c/Users/Rafa Marti/Downloads
comment = Descargas
read only = false
auth users =
secrets file =
[enclaro]
path = /cygdrive/c/Users/Rafa Marti/Downloads/enclaro
comment = prueba en claro
read only = false
auth users =
secrets file =Stunnel Server
Para instalar stunnel como servicio de windows debemos ir a la carpeta de instalacion y introducir en cmd:
stunnel --installComo queremos instalar Stunnel como servidor y no como cliente el archivo de configuracion "stunnel.conf" que esta en la carpeta de instalacion de stunnel quedaria asi:
client = no
sslVersion = TLSv1
verify = 2
CAfile = stunnel.pem
[rsync]
accept = 8888
connect = 127.0.0.1:873
cert = stunnel.pemParametros
- sslVersion: es necesaria para que solo funcione con la version mas segura de TLS
- verify 2: es para que compruebe si el certificado es correcto y si no rechace la conexion
- CAfile: es necesario para el funcionamiento en modo servidor.
- accept: indica el puerto donde queda el servicio stunnel a la escucha
- connect: indica el puerto al que pasara la conexion el servicio stunnel, en nuestro caso es al servicio rsync que esta disponible solo en local y en el puerto 873
- cert: necesario para conectarse
Linux
Stunnel Client
El archivo de configuracion de stunnel esta en /etc/stunnel/stunnel.conf y quedaria mas o menos asi:
sslVersion = TLSv1
cert = /etc/stunnel/stunnel.pem
client = yes
[rsync]
accept = 127.0.0.1:873
connect = 192.168.65.148:8888Parametros
- sslVersion: es necesaria para que solo funcione con la version mas segura de TLS
- cert: necesario para conectarse, debe ser el mismo que el del servidor
- client: debe estar a yes para conectarse al servidor stunnel remoto
- accept: es a donde tenemos que apuntar para conectarnos al rsync remoto
- connect: es el servidor remoto en el que esta stunnel escuchando en 8888
Comando Rsync
rsync -avz --log-file="/home/daos/rsync/rsync.log.$(date +%Y%m%d%H%M%S)" --remove-source-files 127.0.0.1::enclaro /home/daos/Desktop/prueba/- el flag -a hace muchas cosas entre otras transferir recursivamente
- -v es para ver mas informacion
- -z es para que comprima antes de enviar
- --remove-source-files es para que borre los archivos remotos una vez ya los tenemos copiados en local. OJO: No borra las carpetas remotas solo los archivos
- 127.0.0.1 es la direccion en la que esta escuchando el cliente stunnel que lanzara la conexion al rsync remoto que esta tras el stunnel remoto
- enclaro: es el nombre del "virtual directory" creado en Deltacopy en windows
- /home/daos/Desktop/prueba/ es la direccion local a la que ira a parar la informacion de la carpeta remota
- el log file es la carpeta en la que queremos que se guarden los logs de rsync
Poner Rsync como Cron en Linux
pgrep -f "rsync -avz --log-file=/home/daos/rsync/rsync.log" > /dev/null || rsync -avz --log-file="/home/daos/rsync/rsync.log.$(date +%Y%m%d%H%M%S)" --remove-source-files --exclude '*.tmp' 127.0.0.1::enclaro /home/daos/Desktop/prueba/Al utilizar pgrep con el cron podemos asegurarnos de que no esta corriendo dos rsync contra la misma maquina y asi no chocan entre si. El comando superior esta preparado para funcionar con Pilaf.
Sincronizar Repo Git con codigo s302temporales
Desde s314 pilaf procesos en /home/turing:
#!/bin/bash
rsync -avz /home/turing/pilaf/ --chmod=777 -p 127.0.0.1::ScriptPilafImportante
Si no funciona, comprobar que tanto stunnel como Deltacopy estan funcionando como servicios en Windows, entrando al administrador de tareas y buscando en la pestaña de servicios. Otra forma de comprobarlo seria con el comando
netstat -aonpara ver que puertos estan abiertos y en que interfaces.
En linux igual.
Si se quiere se puede generar un certificado diferente.