Sistemas

Seguridad, Servidores, Sistemas

Cómo crear una VPN con OpenVPN en Windows. Parte 1: Servidor

Nota: este artículo es válido hasta OpenVPN v. 2.3.x. que vienen con easy-rsa 2. A partir de OpenVPN v 2.4.x la generación de certificados se hace con Easy-rsa 3 y el proceso es diferente. Hace unos días nos han encargado realizar una VPN en un Windows Server 2008 R2. Como los usuarios podían no ser todos Windows (y también para probar), decidimos no usar la VPN de Windows y crearla con OpenVPN.Os dejamos los pasos.Puedes seguir el proceso en inglés también aquí. Y este vídeo está muy bien para ver los pasos (yo he hecho modificaciones al proceso, cuidado). Instalar y configurar el servidor. Primero hay que configurar el servidor al que se van a conectar los clientes, donde están las carpetas que queremos ver. En nuestro caso el Windows Server 2008, pero puede ser cualquier otro Windows (evidentemente mejor el servidor). Instalar el programa OpenVPN en el servidor. Vamos a descargarnos el programa de OpenVPN (es el mismo para servidor y para cliente). Puedes hacerlo aquí (la versión community es la gratuita). El programa más sencillo a descargar es el Windows Installer.Descargamos el instalador, lo ejecutamos y damos a todas las opciones que si marcando la casilla de EasyRSA 2 Certificate…. (la necesitas para generar los certificados). Cuando te pida instalar el adaptador TAP di que si y marca la opción de confiar en el fabricante. Abre un terminal (cmd) y ve a la carpeta C:\Program Files\OpenVPN\easy-rsa  Pon init-config y pulsa Enter. Después haz copy vars.bat.sample vars.bat Edita el fichero creado con notepad vars.batVe a las líneas siguientes y modifica la información con tus datos. Voy a poner unos de ejemplo: set KEY_COUNTRY=US set KEY_PROVINCE=CA set KEY_CITY=SanFrancisco set KEY_ORG=OpenVPN set KEY_EMAIL=mail@host.domainLo modificamos porset KEY_COUNTRY=ES set KEY_PROVINCE=MD set KEY_CITY=Madrid set KEY_ORG=TUEMPRESA (tb puedes dejarlo como OPenVPN) set KEY_EMAIL=tucorreo@tucorreo.com Guarda el fichero y ejecuta (Enter después de cada comando):vars.batclean-all Generar las claves y certificados del servidor. Ahora vamos a generar las claves y certificados que necesita el servidor. En la misma carpeta de Easy-rsa ejecutamos el comando para crear la entidad certificadora:build-ca Va a preguntar unos valores pero son los anteriores que has puesto en el fichero. Así que con que des a Enter se quedan esos valores. Salvo cuando pregunte: Common Name (eg, your name or your server’s hostname) [] que yo suelo poner el nombre completo del servidor (aunque OpenVPN lo deja como OpenVPN-CA). Creemos las claves con:build-key-server server Vuelve a preguntar los mismos datos, das como antes a Enter salvo cuando pregunte “Common Name” pones server. Responde y a las dos preguntas y ya está. Ahora genera la encriptación conbuild-dh Configuración final del servidor. Ahora copia el fichero server.ovpn de la carpeta C:\Program Files\OpenVPN\sample-config al directorio C:\Program Files\OpenVPN\config Edita el fichero server.ovpn. Recomiendo Notepad++ o, en Windows Server, Wordpad (“abrir con”, elegir programa, Wordpad). No uses notepad, te va a descolocar las líneas. Vamos a modificar las siguientes secciones: Poner el túnel como dev tap o tun (ver aquí). No hace falta hacer la parte de Bridge (puente) en los interfaz de red que dice el vídeo mencionado arriba. Pero por lo que leo tap admite más protocolos que tun (aunque tun requiere menos recursos). Tu elijes, nosotros usamos tap pero sin modo bridge salvo cuando la red del servidor coincide con la del cliente remoto. Entonces tun. Donde pone: ca ca.crt cert server.crt key server.key Pon (las dobles contrabarras y las comillas son importantes): ca “C:\\Program Files\\OpenVPN\\config\\ca.crt” cert “C:\\Program Files\\OpenVPN\\config\\server.crt” key “C:\\Program Files\\OpenVPN\\config\\server.key” Donde pone: dh dh1024.pem pon: dh “C:\\Program Files\\OpenVPN\\config\\dh2048.pem” Nota: en la generación de mis certificados me creó el fichero dh2048.pem en C:\Program Files\OpenVPN\easy-rsa\ La cifra puede variar y podéis tener dh4096.pem, verifícalo. Donde pone server 10.8.0.0 255.255.255.0 elije la red de tu VPN. Puedes poner cualquier red privada pero te recomiendo que no uses las de telefónica típicas (192.168.1.X ni 192.168.0.X). Yo suelo usar las 10, como la que viene en el fichero por ejemplo, o 192.168.2.X, 192.168.3.X etc). También, por lo tanto, puedes dejar la red que viene por defecto. Esto quiere decir que tu servidor VPN tendrá IP de VPN 10.8.0.1 y tus clientes tendrán la 10.8.0.X (según la máscara que elijas). Verifica que la línea tls-auth ta.key 0 pone 0 en el servidor. Quita lo de # This file is kept secret de detrás. En los clientes tiene que ser: tls-auth ta.key 1. Salva el fichero. Copia los ficheros de clave. Ve a C:\Program Files\OpenVPN\easy-rsa\keys\ y copia los ficheros siguientes a C:\Program Files\OpenVPN\config\ ca.crt dh1024.pem server.crt server.key server.ovpn En la misma carpeta easy-rsa pon openvpn –genkey –secret ta.key  y copia ese fichero también a la carpeta C:\Program Files\OpenVPN\config\ El servidor ya está. Sólo tendrías que abrir el puerto 1194 UDP en el router apuntando a la IP (fija) de tu servidor. Recomiendo también abrir el firewall de Windows, si está activado, para ese puerto. Si tienes IP dinámica tendrás que activar un servicio de DNS dinámicon tipo DYNDNS. Puedes probar a ejecutar el icono de OpenVPN que te ha creado en el escritorio y darle botón derecho>Connect para que se empieze a ejecutar el servidor VPN. Si todo va bien está preparado para recibir llamadas. Queda configurar a los clientes (en otro artículo). Nota: si quieres que los clientes remotos vean los clientes de la oficina tienes que activar la opción client-to-client en el fichero de configuración del servidor.Nota2: si quieres dirigir todo el tráfico del cliente por la VPN activa la opción push “redirect-gateway def1 bypass-dhcp” en el fichero de configuración del servidor. Nosotros encontramos un error en Windows Server 2008 R2, que al arrancar la primera vez funcionaba, pero si reiniciábamos la GUI el TAP no cogía IP en Windows (OpenVPN decía que si). Y no sabía enrutar. Lo arreglamos instalando OpenVPN como servicio (otro artículo) y, si ocurre (que no debería al ser un servicio) con desactivar el TAP un momento y volver a activarlo cogía IP de nuevo. Tenéis la parte de la configuración de clientes en este artículo.

Sistemas, Soporte, Trucos

Windows 7 no puede conectarse a las unidades de red tras las actualizaciones de Enero.

Microsoft está luciéndose con sus actualizaciones. Si, tras las actualizaciones de Enero tienes un Windows 7 o un Windows Server 2008 R2 y no puedes conectarte a las unidades de red, hoy te contamos por qué y cómo solucionarlo. El error que da es INVALID_HANDLE. Solución al problema de Windows 7 que no puede conectarse a unidades de red tras la actualización de Enero. El causante es, sobre todo, la actualización KB4480970, aunque hay quien afirma que también la KB4480960 . Microsoft ya lo ha reconocido, parece ser que era debido a un cambio en la seguridad. Su solución inicial era no compartir las unidades con usuarios administradores, sino locales (cosa absurda). Pero parece que ya han sacado un parche para solucionarlo. De todas formas, no creo que les preocupe demasiado porque Windows 7 está a punto de “finalizar” (no darán más soporte) y ellos quieren que se migren a Windows 10 (aunque sigue habiendo muchos Windows 7 funcionando). Os dejamos otras soluciones. El día 11 ha sacado un parche que dice que soluciona este problema (no lo hemos comprobado). Instalad el parche y probad. Desinstalar el parche que crea el problema lo soluciona. Pero se intentará instalar de nuevo automáticamente. Pero si la primera solución no funciona, aplicad esta. En ciertos casos añadir la unidad por IP parece evitar el problema. Espero que os sirva. Podéis ver más información en este hilo de Reddit.

Compartir, Información Tecnica, Noticias Informáticas, Sistemas

Actualizar a Microsoft Teams desactiva Skype Empresarial y no permite llamar a Skype Free

Esto es un lío, en mi opinión incomprensible, que ha organizado Microsoft y del que hay poca información en Internet. Así que a ver si consigo explicarlo.Las versiones profesionles de Office y Office 365 incluyen Skype Empresarial. Un nombre que conduce a error, porque Skype Empresarial era Lync renombrado (no lo mismo que Skype)…y daba problemas con Skype Free (el original). Bueno…pues ahora Microsoft está recomendando encarecidamente migrar a Microsoft Teams, sin indicar claramente que esto tiene ciertas consecuencias con Skype (nos ha costado mucho encontrarlo). Microsoft Teams deshabilita Skype Empresarial y no permite llamar a Skype Free. Esta información no la pone Microsoft en ningún sitio “asequible”. No es que lo digamos nosotros, es que los usuarios que hemos atendido se han sorprendido al conocerla tras realizar la instalación. Una vez actualizado a Teams, se desactiva el poder usar Skye Empresarial para nuevas llamadas. Podéis verlo aquí. Cito: ” Your organization has upgraded to Microsoft Teams. While you’ll still be able to edit, cancel, or join existing Skype for Business meetings, you won’t be able to use Skype for Business to chat, make calls, or create new meetings.” Microsoft Teams sirve para conectarse a Microsoft Teams y Skype Empresa. Pero NO para hacer llamadas a Skype Gratis (Skype free). Que es lo que quiere la mayoría de usuarios. Esto no es fácil ¿Solución? Por ahora la única que hemos encontrado ha sido que si tienes Teams (ya no se puede volver atrás) crees cuentas de Skype Free con tus cuentas de Office. Así podrás usar Teams para Skype for Business y Skype Free para concetarte a Skype gratis. Hemos probado y no puedes darte de alta en Skype Free con cuentas de Office 365. Así que tienes que hacerlo con cuentas gratuitas.

Sistemas, Trucos

Solución: Este recurso compartido requiere el protocolo SMB1 obsoleto

               Hace un tiempo Windows desactivó el protocolo Samba V1 por problemas de seguridad. “Microsoft desaprobó públicamente el protocolo SMBv1 en 2014.” En las últimas versiones viene desactivado.Más información aquí. Pero todavía algún NAS, disco de red, servidor etc lo usa. Si intentas acceder a él desde un Windows 10 actualizado sale el siguiente error: “No se puede conectar con los recursos compartidos de archivos porque no es seguro. Este recurso compartido requiere el protocolo SMB1 obsoleto, el cual no es seguro y podría exponer su sistema a ataques.Su sistema requiere SMB2 o superior. Para obtener más información sobre cómo solucionar este problema, visite: https://go.microsoft.com/fwlink/?linkid=852747.”Os dejamos cómo solucionarlo. Solución a “Este recurso compartido requiere el protocolo SMB1 obsoleto…”. La solución óptima sería actualizar el dispositivo que requiere Samba V1 a Samba V2. La uno no es segura y la mayoría de los fabricantes ya tienen instrucciones o actualizaciones para esto. Pero si aún así no puedes os indicamos en este vídeo cómo activar Samba V1 en un Windows 10 para que puedas seguir accediendo. También podéis marcar una opción que detecta que no has usado Samba V1 en unos días y  lo vuelve a desactivar. Así vuestro ordenador sigue seguro. Para activarlo tienes que buscar en el cuadro de búsqueda “Características” y os aparecerá “Activar y desactivar las características de Windows“. También puedes ir por el Panel de Control antiguo, Programas y aparece la opción a la izquierda. En “Compatibilidad con el protocolo para compartir archivos…” veréis una opción para activar Samba V1. Y os pedirá reiniciar al acabar. Os dejamos el vídeo:

Linux, Servidores, Sistemas

Cómo desbloquear una IP bloqueada con Fail2ban

Hace un tiempo escribimos un artículo sobre cómo proteger un servidor con Fail2ban. Es una gran herramienta. Pero a veces bloquea IPs que no queremos. Por ejemplo si un cliente se equivoca mucho en su contraseña, o nosotros mismos (alguna vez nos ha bloqueado jejeje). Hoy os enseñamos cómo desbloquearlo. Cómo desbloquear una IP bloqueada con Fail2ban. Tenemos que conectarnos por ssh. Obviamente si nos ha bloqueado nuestra IP no podremos, así que o tendremos que acceder desde otro sitio (casa u otra oficina), o cambiar nuestra IP dinámica (reseteando router y ONT y ver si la cambia), o accediendo desde el SSH de nuestro panel del servidor.Nota: Apunta antes la IP que quieres desbloquear, la tuya. Puedes verlo buscando cual es mi IP en Google. Cualquiera de esas páginas te lo dará. Una vez hemos accedido por ssh tenemos que encontrar qué servicio nos han bloqueado en nuestra IP (ssh, ftp etc). Para ello tenemos que ejecutar: iptables -L -n Ahí comprobamos nuestra Ip y el servicio. Si no lo ves bien, puedes probar a  poner : Podemos verificar los servicios con fail2ban-client status Ahora para desbloquear la IP ponemos: fail2ban-client set servicio unbanip XXX.XXX.XXX.XXX Donde servicio es el servicio que nos han baneado (ssh, ftp etc) y XXX…. la IP a desbloquear. Con eso prueba a acceder porque debería estar solucionado.

Diseño Web, Sistemas, Trucos

PhpMyAdmin timeout. Solución al importar bases de datos grandes.

Bueno, ponemos solución y debería ser una posible solución, ya que las causas pueden ser muchas. Una de las cosas que puede suceder cuando estemos importando bases de datos grandes con phpMyAdmin o con servidores mysql lentos es que nos de un error por agotamiento de tiempo de espera. Un timeout. Os dejamos la solución. PhpMyAdmin timeout. Solución al importar bases de datos grandes. Lo primero que tenéis que hacer es comprobar que los parámetros de php en el servidor no están muy restringidos. Esto está en el fichero de php.ini. Y podéis verlos con un phpinfo. Pero si estás aquí supongo que ya has probado eso. Lo que no creo que sepas (nosotros no lo sabíamos) es que phpMyAdmin tiene su propio timeout. Configurado a 300. Así que la idea es cambiar eso. Tienes que ir a /libraries/config.default.php   y editar ese archivo. En teoría (lo pone en un aviso) deberías editar el fichero /config.inc.php pero nosotros no lo teníamos así que editamos el primero. Hay que buscar la línea que pone $cfg[‘ExecTimeLimit’] = 300; y cambiarla a $cfg[‘ExecTimeLimit’] = 0; Lo que corresponde a tiempo ilimitado. Con eso, cuando lo guardes, verás que el phpMyadmin ya no dice que el script ha hecho un timeout. Seguramente lo siguiente que te salga es que “Mysql has gone away” porque el propio servidor de el timeout. En dicho caso, te recomiendo que lo subas por línea de comandos.  

Sistemas, Trucos

Forzar el cambio de contraseña cada cierto tiempo en Windows Home

Una de las cosas que está obligando (como es lógico) a las PYMES la RGPD es a establecer políticas de cambio de contraseña cada cierto tiempo. En Windows distintos a la edición Home esto se puede hacer con el complemento de directivas locales. Pero Windows Home no tiene esta opción. Te enseñamos cómo puedes hacerlo. Forzar el cambio de contraseña cada cierto tiempo en Windows Home. Al no disponer del complemento en el mmc, tenemos que usar línea de comandos. Activamos la caducidad de contraseñas. Abrimos un terminal con permisos de administrador y escribimos una de las siguientes opciones para activar que las contraseñas caduquen: wmic UserAccount set PasswordExpires=True    – si queremos que se aplique a todas las cuentas del equipo. wmic UserAccount where Name=’NombredeUsuario’ set PasswordExpires=True – si queremos que se aplique sólo a la cuenta NombredeUsuario. Podemos ver si está activado haciendo wmic UserAccount  o wmic UserAccount where Name=’NombredeUsuario’ . Este comando sin opciones nos muestra cómo están configuradas las cuentas. Obviamente se desactiva con False en el PasswordExpires. Establecer el tiempo de caducidad. Para ello en el terminal escribimos   net accounts /maxpwage:nnn Donde nnn es el número de días . Por ejemplo para cada mes podemos poner  net accounts /maxpwage:31 Si queremos comprobarlo ponemos net accounts. Si entras en el equipo con cuenta de Microsoft. Si entras en el equipo con cuenta de Microsoft, tienes una opción de renovar contraseñas cada cierto tiempo en la página de Microsoft entrado con tu usuario.  

Programas, Sistemas

Adminer, el gestor de base de datos, alternativa a PhpMyAdmin, de un sólo fichero.

Un compañero me dio a conocer este programa hace unos días, y la verdad es que me ha encantado. Antes, si quería conectarme a una base de datos debía descargar y configurar phpMyAdmin o con MySQL WorkBench. En ambos casos algo “latoso”. Adminer lo hace más rápido y sencillo. Adminer, el gestor de base de datos, alternativa a PhpMyAdmin, de un sólo fichero. Adminer es sólo un fichero php. Por lo tanto sólo tienes que subir un fichero al hosting. Es rápido. Además no guarda la configuración, cada vez que entras tienes que ponerla. Una pesadez si tienes que entrar todos los días, pero no está pensado para eso. Por otro lado, es más seguro al no guardar información. Así que si quieres hacer cambios rápidos, sólo tienes que subir el fichero, poner los datos, y entras. Rápido, cómodo y seguro. Es visualmente más “feo” que phpMyAdmin, si. Pero de nuevo está pensado para eficiencia y la verdad es que tiene casi todo lo necesario. Una gran opción a considerar para los que gestionamos páginas web.    

Linux, Sistemas, Trucos

Cómo activar los procesadores de un servidor virtual o cloud sin reiniciar

Hoy hemos tenido que ampliar los procesadores de un servidor Cloud para un cliente. Lo bueno de estos servidores es que, cuando hay un aumento repentino de accesos, se les puede aumentar los recursos de forma temporal. Porque son servidores virtuales. Sin embargo, la mayoría de las veces el aumento requiere reinicio y esto, en una máquina en producción, puede no ser viable inmediatamente. Hoy os enseñamos cómo activar los procesadores añadidos sin tener que reiniciar. Cómo activar los procesadores de un servidor virtual sin reiniciar. Al activar los procesadores nuevos podéis comprobar como todavía no están en funcionamiento con los comandos de este artículo. Por ejemplo si hacemos un lscpu veremos algo como: Si veis los CPU 0 y 1 aparecen online peor los 2 y 3 salen offline (en linux se centan desde 0). Como hemos dicho podemos reiniciar, y activará los que tiene offline. Pero también podemos ejecutar estos comandos: Activar procesadores. echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online De esta manera pones a 1 (online) los atributos  sysfs de dichos procesadores. También se puede hacer lo mismo con chcpu chcpu -r chcpu -e 2 (Esto reescanea los cpus y activa el procesador 2) Para desactivar los procesadores: echo 0 > /sys/devices/system/cpu/cpu2/online echo 0 > /sys/devices/system/cpu/cpu3/online Esto hace lo contrario. Si ahora hacéis de nuevo un lscpu obtendréis que están todos activos:  

Linux, Servidores, Sistemas, Trucos

Cómo saber las conexiones activas por FTP en un servidor Linux

Si tienes un servidor Linux y quieres saber qué conexiones de FTP están activas en ese momento o, dicho de otra manera, cuánta gente hay conectada en ese momento por FTP, hoy os decimos cómo. Enumerar las conexiones activas por FTP en un servidor Linux. Pure-ftpwho: Este es uno de los primeros comandos a probar. En línea de comandos lista las conexiones de FTP activas. Pero además tiene algún parámetro interesante como -c  o -w que hace que el resultado se muestre en html. Por lo tanto puede usarse en u script y mostrarse en una web o herramienta interna. Puedes filtrar los resultados de netstat para el puerto que quieras, tanto el 21 de FTP clásico como el 22 de sftp. netstat -tan | grep \:21 para FTP netstat -tan | grep \:22 para SFTP En algunos servidores, si lo tienen instalado, también puedes ejecutar ftptop o ftpwho. Así podréis vigilar vuestras conexiones en  el servidor.

Scroll al inicio