miércoles, 6 de marzo de 2019

tunel via ssh usando putty

El protocolo de ssh permite generar túneles sobre las conexiones que se abren a un servidor. Esto permite que un puerto local sea re-enviado a un puerto en el servidor remoto o un puerto en el servidor remoto, sea reenviado a un puerto local. Con esta característica se puede implementar vpn simples, por ejemplo, acceder a un sitio web o consola remota desde la conexión local.

La aplicación putty permite configurar esto en forma online en una conexión, sin desconectarse.

Ejemplo de re-envio de puerto local 8888 al puerto remoto 80
Con esta configuración si localmente desde un browser se conecta a la url http://127.0.0.1:8888/ este es re-enviado al 127.0.0.1 puerto 80, la ip remota puede ser cualquier ip que el servidor remoto pueda alcanzar












Ejemplo de re-envio de puerto remoto 9999 al puerto local 80
Con esta configuración si alguien se conecta en el lado remoto al puerto 9999 sera reenviado al puerto local 80.



Espero que esto les sea útil

lunes, 4 de marzo de 2019

Ejecutar una copia scp desde el "task manager" de windows

En linux es relativamente simple programar una copia automática entre dos servidores via scp y crontab.
Pero hacer la copia desde un windows a un linux es algo mas complejo, pero igual de posible.
  • Primero, se necesita instalar winscp, el cual se puede bajar desde aqui.
  • Obtener la key publica del servidor linux al cual se debe copiar los archivos, para esto usar uno de los siguientes comandos según al tipo de key en el servidor linux

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key

  • Generar un script indicando que ejecutara el winscp:
    • primero abrir la conexión, esto puede ser con usuario y contraseña o certificado digitan, se debe agregar el hostkey del destino para seguridad.
    • ejecutar el comando de copia o sincronización, en el ejemplo se sincroniza la carpeta de windows al servidor linux.
Ejemplo del script 
open sftp://usuario:contraseña@192.168.20.16/ -hostkey="ssh-rsa 2048 25:d8:94:4b:a2:38:ff:2c:49:3d:79:e2:a0:18:55:f6"
synchronize remote C:\origen /destino
exit

  • Programar en el "task manager" de windows la ejecución del comando siguiente:
Programa: "C:\Program Files (x86)\WinSCP\WinSCP.exe"
Argumentos: /script="c:\path_al_script\script.txt"  /ini=nul

Espero que les sea util, para mas detalles de los comando en winscp ver aqui.
 

domingo, 3 de marzo de 2019

¿Como crear y modificar un pdf desde .net C# ?

Un cliente tiene una aplicación web que generaba un certificado en pdf para sus empleados pero sin código de verificación o de autenticación. El proveedor de la aplicación no tenia entre sus planes agregar este código a los certificados, así que me solicitaron agregar un código a estos pdf.
La aplicación original estaba generada en .net con C#, así que debía generar el pdf original, capturarlo, modificarlo agregando el código de autenticación y a url de verificación.
Revisando en internet por librerías que modificaran los pdf, me encontré con
Spire.PDF for .NET , esta librería permitía crea, modificar archivos pdf y tiene una versión gratis que permite crear pdf de hasta 10 hojas y como solo necesita modificar 1, fue perfecta para  mi caso.

Tiene buenos tutoriales para usar esta librería, ejemplos en C#. Todas mis dudas las pude resolver con el soporte web.

Al final genere una nueva pagina para mi cliente, que tenias solo 30 lineas de código, agregando la información que solicitada:
  • Generar un pie de pagina donde apareciera el código de verificación.
  • Agregar la url de verificación
  • Colocar una linea recta que destacara el contenido

sábado, 2 de marzo de 2019

Habilitar ping en windows server 2016

Para habilitar el ping en windows server 2016, se debe ir a "Herramientas Administrativas de Windows", seleccionar "Firewall de windows con seguridad avanzada".
Seleccionar "Reglas de entrada"






Buscar la regla "Supervisión de máquina virtual (Solicitud de eco - ICMPv4 de entrada)" y habilitarla haciendo click con el botón derecho.



debe quedar así:


Ya tienes ping al servidor sin bajar el firewall

Que versiones son compatibles de MSSql con windows server 2016

Al realizar la migración de bases de datos para un cliente, el cual había adquirido Windows Server 2016, debí revisar la matriz de compatibilidad con mssql, la cual arrojo la siguiente información

Windows Server 2016 es compatible con:
  • Microsoft SQL Server 2012
  • Microsoft SQL Server 2014
  • Microsoft SQL Server 2016
  • Microsoft SQL Server 2017
  • Microsoft SQL Server 2016
  • Microsoft SQL Server 2019

La mitad de las bases de datos del cliente son Microsoft SQL Server 2008, las cuales solo están soportadas hasta Windows 2012.

fuentes:
https://docs.microsoft.com/en-us/windows-server/get-started/server-application-compatibility
 https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server?view=sql-server-ver15

miércoles, 18 de abril de 2018

Como activar conexiones simultaneas de escritorio remoto en windows 10

Un cliente tiene una consola de monitoreo en un windows 10, la cual tiene acceso a todas las redes. Un día necesita tomar por escritorio remoto esta consola pero no botar a sesion donde esta el monitoreo, pero windows 10 solo permite una solo sesion remota o escritorio remoto. Buscando en internet encontre dos posibles solucionies

Opción 1: modificación de termsvrl.dll
La primera opción para habilitar varias conexiones simultáneas de escritorio remoto en Windows 10 / Windows 8 es modificar el archivo de biblioteca termsrv.dll el cual es utilizado por los Servicios de Escritorio remoto, que restringe el número de conexiones RDP a uno.

Hay varios pasos clave que deberá seguir antes de modificar el archivo termsrv.dll.

Primero, cree una copia de seguridad del archivo termsrv.dll, que se puede encontrar en el directorio C:\Windows\System32:

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

Una vez que se haya realizado la copia de seguridad del archivo, deberá convertirse en el propietario del archivo termsrvl.dll y asignarle al grupo de Administradores todos los derechos sobre el archivo.

Para hacer esto, haga clic derecho en el archivos y seleccionar Propiedades luego, luego vaya a la pestaña Seguridad y haga clic en Editar. En la lista de acceso, busque el grupo de administradores locales y dele control total sobre este archivo y luego guarde los cambios.

A continuación, detenga el servicio de escritorio remoto (TermService) en la consola services.msc o desde el cmd con el siguiente comando:

Net stop TermService

Ahora abra el archivo termsrv.dll utilizando cualquier editor HEX (como el editor freeware HxD ) y busque la siguiente línea:

39 81 3C 06 00 00 0F 84 73 42 02 00

Reemplace esta línea con:

B8 00 01 00 00 89 81 38 06 00 00 90

Finalmente, guarde el archivo termsrv.dll e inicie TermService, ya puede abrir una segunda sesion remota.

Opción 2: RDP Wrapper Library
Existe una alternativa aún más simple y más eficiente para modificar el archivo termsrv.dll gracias al  proyecto RDP Wrapper Library , que se puede descargar desde https://github.com/stascorp/rdpwrap/releases (la última versión es v1.6).

Es importante tener en cuenta que RDP Wrapper Library no realiza ningún cambio real en el archivo termsrv.dll, simplemente carga términos con parámetros modificados.

El beneficio de esto es que incluso si Microsoft actualiza el archivo termsrv.dll con una actualización de Windows, el RDP Wrapper Library debería funcionar sin problemas.

RDP Wrapper Library sirve como una capa entre SCM (Service Control Manager) y Servicios de Terminal Server, y no solo habilita el soporte para múltiples sesiones RDP simultáneas, sino que también habilita el soporte de RDP Host en Windows 10.

Para usar el RDP Wrapper Library, primero deberá instalar la RDP Wrapper Library ejecutando install.bat con privilegios de Administrador.

Una vez que la instalación esté completa, ejecute RDPConfig.exe y verifique que todos los elementos en la sección de Diagnósticos estén en verde.

A continuación, pruebe la conexión remota abriendo una segunda sesión de RDP. Debería poder habilitar conexiones de escritorio remoto para múltiples usuarios en Windows 10 o Windows 8 en este momento.

Fuente:  https://www.serverwatch.com/server-tutorials/remote-desktop-connections-for-multiple-users-on-windows-10-and-windows-server-2012.html

sábado, 8 de julio de 2017

Como detectar si un equipo en tu red es vulnerable al virus RANSOMWARE WANNACRYPT

Debidos a los problemas provocados por el RANSOMWARE WANNACRYPT, que secuestras tus archivos de tu pc, me recomendaron escanear la red en busca de posibles equipos con Windows que no tenga el parche que evitar el contagio en la red.

Para esto se requiere utilizar nmap, ya sea para su versión para Linux o Windows junto con el nse de escaneo smb-vuln-ms17-010.nse que se puede encontrar en https://github.com/cldrn/nmap-nse-scripts/tree/master/scripts.

Pasos a seguir:

Para Windows

- Descargar el siguiente link https://nmap.org/dist/nmap-7.40-setup.exe
- Instalar archivo descargado.
- Copiar script  “smb-vuln-ms17-010.nse” en la siguiente carpeta:
         C:\Program Files (x86)\Nmap\scripts
- Ejecutar Nmap, con las siguientes opciones:

nmap -sC -p 445 --max-hostgroup 3 --open --script smb-vuln-ms17-010.nse x.x.x.x/x


Por pantalla te entregara el resultado del escaneo, si aparece algo de la forma

Nmap scan report for 10.10.10.33
Host is up (0.00013s latency).
PORT    STATE SERVICE
445/tcp open  microsoft-ds
MAC Address: A0:D3:C6:64:66:D3 (Hewlett Packard)

Host script results:
| smb-vuln-ms17-010:
|   VULNERABLE:
|   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
|     State: VULNERABLE
|     IDs:  CVE:CVE-2017-0143
|     Risk factor: HIGH
|       A critical remote code execution vulnerability exists in Microsoft SMBv1
|        servers (ms17-010).
|      
|     Disclosure date: 2017-03-14
|     References:
|       https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
|       https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143


Ese equipo es vulnerable, debes actualizar los parches de Windows.

Para Linux
- Instalar o actualizar RPM de Nmap:
  rpm -vhU https://nmap.org/dist/nmap-7.40-1.x86_64.rpm
- Copiar script  “smb-vuln-ms17-010.nse” en la siguiente carpeta:
   /usr/share/nmap/scripts/
- Ejecutar el siguiente scan:

nmap -sC -p 445 --max-hostgroup 3 --open --script smb-vuln-ms17-010.nse x.x.x.x/x

Dependiendo del tamaño de la red puede tomar entre 2 minutos a 30 minutos

No olvides dejar tu comentario, duda o sugerencia.

jueves, 6 de julio de 2017

En mi dominio con samba4, los usuarios no ven el sysvol

Para uno de mis clientes debí generar un dominio con samba4, la instalación fue rápida y sin problemas. Se podía crear los usuarios mediante la interfaz de Windows o mediante línea de comandos.
Los PC de los usuarios se unían al dominio en forma fácil y segura. Al crear carpetas compartidas, era posible asignar los usuarios y privilegios sin problemas.
Pero cuando se comenzó a configurar las políticas de grupo para el dominio, están no se podían aplicar, indicando como error que no se tenía acceso al sysvol. (carpeta compartida donde se almacenan las “group policy”).
El error solo aparecía cuando se trata de conectar al recurso de red \\dominio\, si en vez del nombre de dominio se usaba la ip el el nombre del contralador de dominio, el error no ocurría.
Pero las “group policy” solo usaba el nombre del dominio, lo cual no se puede cambiar.
Al buscar solución siempre llegaba a que en el servidor samba se debía ejecutar:

samba-tool ntacl sysvolreset

Pero esto no resolvía el problema, al analizar en mayor detalle como se usa el sysvol, esta es una carpeta especial que usa dfs para distribuir la información en ella, debido a esto se debe agregar el soporte de dfs y los acl de seguridad en el smb.conf, en mi caso quedo de la forma:

[sysvol]
        path = /var/lib/samba/sysvol
        read only = No
        msdfs root = Yes
        nt acl support = No
        directory mask = 0750


en la sección global debi agregar 

        host msdfs = yes

Luego de eso ya pude distribuir las políticas del dominio.

No olvides dejar tu comentario, duda o sugerencia.

Instalación rapida de kvm manager de oracle

 Para instalar kvm manager de oracle se deben seguir los siguientes pasos: Instalar Oracle Linux 7 configurar el fqdn en el archivo /etc/hos...