Servidores

Seguridad, Servidores, Sistemas, Trucos

Convertir un fichero .pem a .ppk . Por ejemplo para usar como passkey en conexiones ssh.

Cuando quieres mejorar la seguridad de acceso a un recurso online, como un servidor, una de las maneras es con un certificado. Al generarlo, esto genera un fichero pem. Después, necesitas poder usarlo para conectarte, por ejemplo por ssh. Pero estas conexiones necesitan ficheros .ppk, llamados private key files. ¿Cómo conviertes un fichero .pem a un fichero .ppk? En este vídeo te lo enseñamos pero consiste en: En el ´vídeo también te mostramos cómo usarlo en una conexión de putty.

Diseño Web, Gestores de contenidos, Seguridad, Servidores, Sistemas

?BLOQUEAR una IP o el rango de un PAÍS, para proteger tu página web.

En ocasiones necesitamos bloquear la IP de un atacante a una página web. Porque nos esté añadiendo spam, malware, o ataques diversos a la web.Más frecuentemente aún es intentar bloquear un país o varios países (y esto se puede hacer por IPs asignadas a estos países). Algunos alojamientos tienen firewall (que puede implementar esto) …pero no todos. Podemos añadir firewalls a nuestras webs…pero no siempre ofrecen este servicio de manera gratuita. Y no siempre es interesante añadir plugins que no sean imprescindibles a una web. Hoy os enseñamos a hacerlo a través del fichero htacess de Apache. Cómo bloquear una IP o rango de IPs con el fichero htacess. Para poder bloquear una ip específica tenemos que añadir el siguiente código en el fichero htacess: Donde xxxx es la ip que queremos bloquear. Si quieremos bloquear un páis, necesitamos saber el rango de IPs de esos países. Para ello vamos a usar páginas que nos las proporcione: En esas páginas podemos elegir los países, y generar un listado de bloqueos usando el comando anterior. Os lo mostramos en el vídeo:

Seguridad, Servidores, Sistemas

OpenVPN en Windows con EasyRSA 3 (versiones de OpenVPN 2.4 o superiores). Parte del servidor.

Desde la versión 2.4, OpenVPN ha cambiado su sistema de generación de certificados a EasyRSA 3. El sistema para configurarlo es diferente y hoy os explicamos todo el proceso de la instalación y configuración del servidor en Windows. Paso 1: Instalación de OpenVPN. Paso 2: configura la plantilla de certificados. Una vez instalado el programa, abre un terminal con permisos de administrador y ve a C:\Program Files\OpenVPN\easy-rsa Ahora hay que editar, si quieres, el fichero vars.bat con el editor de notas o con el Wordpad. Hay uno de ejemplo, cambia el nombre o cópialo a vars.bat. Es la plantilla que se va a usar para la generación de certificados y debemos poner varios valores. Puedes hacerlo desde terminal escribiendo notepad vars.bat. Tienes que modificar y poner los siguientes valores (los de cursiva son ejemplos, pon los tuyos): Tú decides si quieres cambiar el valor del parámetro Diffie Hellman (no es necesario). set_var EASYRSA_KEY_SIZE 2048 Paso 3. Genera los certificados y llaves del servidor y de los usuarios. En estos pasos, la opción nopass es para que no pregunte la contraseña. En el servidor no conviene ponerla (puedes), en los clientes puedes añadirla si quieres más seguridad…pero también hará que sea menos amigable porque cada vez que haya que firmar te pedirá la clave. Tú decides. Si quieres clave no pongas nopass. Primero generamos la entidad certificadora. Te va a preguntar el nombre de tu servidor. Esto crea dos ficheros: Ahora creamos el certificado y la llave del servidor. Ahora puedes generar las claves de los clientes. Client1 lo debes sustituir por el CN de tus usuarios (yo uso sus nombres de usuario). NOTA: si luego queremos volver, otro día, a ejecutar este comando para generar los certificados de cliente, recuerda que tenemos que ejecutar el EasyRSA-Start.bat para entrar en el shell de RSA. Genera los parámetros Diffie Hellman: Este último paso es opcional, pero aumenta la seguridad. Generamos una clave TLS (fichero que debe tener tanto el servidor como los clientes). Ejecútalo en el directorio /bin de openvpn y te crea ahí el fichero. Paso 4. Obtención de ficheros. Con los pasos anteriores se han generado los siguientes ficheros que necesitaremos (rutas desde easy-rsa): Paso 5. Configuración final del servidor. Esta última parte es exactamente igual que la Configuración final del servidor de la versión anterior que podéis ver aquí (ten en cuenta que el fichero ahora es dh.pem y no dh2048.pem). Con eso ya estaría la parte del servidor. Inicializa el programa, dale a Connect y mira si se conecta en verde. Nota: si queréis abrir en el firewall tam´bien podéis hacer: Después, podéis seguir esta configuración para los clientes.

Seguridad, Servidores, Sistemas

Recuperar una web hackeada en alojamientos OVH.

Tenemos muchos clientes con alojamientos (hosting) en OVH (el mayor proveedor de servicios cloud de Europa. Y, en ocasiones, tienen problemas con hackers en sus sitios web.OVH dispone de varias herramientas para ayudar en la recuperación de sitios infectados, pero la documentación no es la más completa del mundo. Así que recopilamos algunas de las herramientas que podéis usar si tenéis un hosting con este proveedor. Y, como siempre, nos sirve para futuros clientes. Herramientas para recuperar webs hackeadas en hostings de OVH. Estas son algunas de las herramientas que podéis usar: Activación del firewall de aplicación ModSecurity .ModSecurity es un complemento de Apache que sirve como un firewall para tu página web. Compara las peticiones con una base de datos de ataques, para bloquear los que detecta como nocivos. Es efectivo ante ataques como troyanos, SQL, XSS e email injection, file injections etc, OVH tiene este complemento pero desactivado por defecto. Puedes ver como activarlo aquí: Tienes que ir a tu alojamiento, a la pestaña Información general y ahí al aparado de configuración. En configuración pinchar en los botones de Versión PHP global , y ahí en Cambiar la configuración. Ahí tenéis que activar la opción Firewall de activación.. Después, tienes que activarlo para el dominio. Así que ve a la pestaña Multisitio, pincha en los tres puntos al lado del dominio que quieras, y luego en modificar y después marca la casilla de Activar Firewall. Restauración de las copias de seguridad desde la página de OVH.OVH hace copias de seguridad tanto de base de datos como de ficheros. De varios periodos. Para restaurarlas sólo tienes que hacer lo siguiente: – Base de datos: ve al alojamiento, pestaña de Base de datos, pincha en los tres puntos al lado de tu base de datos, y restaurar copia de seguridad. – Ficheros: ve al alojamiento, pestaña de FTP-SSH, y pincha en Restaurar una copia de seguridad. Restauración de las copias de seguridad por FTP.En ocasiones no puedes restaurar las copias de seguridad desde el backend de OVH. Bien porque ellos hayan bloqueado el hosting, o porque exista algún problema técnico (lo hemos sufrido). Afortunadamente OVH te deja acceder a los Snapshots por FTP, descargarlos y luego poder subirlos. Pero no es fácil encontrar cómo, por eso lo compartimos aquí. – Base de datos. ve al alojamiento, pestaña de Base de datos, pincha en los tres puntos al lado de tu base de datos, Puedes descargar la copia de seguridad a mano. Y luego subirla por phpMyAdmin o similar. Pero seguramente esto no fallará. – FTP: el truco para acceder al snapshot es conectarte con el mismo usuario pero añadiendo el sufijo –snapX donde X es un número de 0 en adelante. Es decir con usuarioftp-snap3 accedes al snapshot del domingo anterior a la 1:00. Puedes descargar el snapshot por FTP, luego conectarte normal al FTP y subir la copia de seguridad. Recuperar un alojamiento desactivad por motivos de seguridad. Cuando OVH detecta malware, bloquea el hosting. Normal. Y para restaurarlo normalmente abres un ticket, pero eso tarda. Lo que no suele saberse es que es posible reactivar el alojamiento por FTP. Para ello, una vez arreglada la infección, entra en la raíz del alojamiento con Filezilla, pincha en Servidor->Introducir comando personalizado y pon: Cambiar los permisos así reactiva el alojamiento. Esperamos que estos trucos os sirvan de ayuda.

Linux, Servidores, Sistemas

Ejecutar el crontab como un usuario, por ejemplo www-data.

Si tienes páginas web, en muchas ocasiones tienes que ejecutar tareas cron en el servidor (indexado, limpieza, procesos que se repiten cada cierto tiempo etc9). Estos procesos debes ejecutarlos con el usuario del servidor web, por ejemplo el www-data. Hoy os damos varias opciones para hacerlo. Cómo ejecutar crontab como un usuario. Existen varias opciones: Poner la tarea en el crontab de root pero especificar el usuario. Lo más normal es tener las tareas en el crontab de root, pero los comandos puestos ahí tienen los permisos de root. Afortunadamente podemos especificar, en la línea del comando, el usuario.Ejecutamos crontab -e para entrar en crontab y ponemos una línea como. Ejecutar desde root el crontab del usuario: En ese crontab añades la línea normal. El primer método tiene la ventaja que tienes todas las tareas en el mismo sitio y escribirá los logs con permisos de administrador. Siempre puedes comprobarlo luego en el log /var/log/cron.log, en el crontab de root si lo has puesto ahí, o, si has editado el del usuario, con crontab -u www-data -l

Servidores, Sistemas, Trucos

Cómo transferir ficheros por SSH desde Windows por línea de comandos con SCP.

La situación que queremos abarcar hoy es la siguiente: tenemos un servidor Linux al que hemos hecho que sólo se pueda conectar con SSH por seguridad. Y queremos transmitir ficheros desde un ordenador Windows. ¿Cómo lo hacemos? Muchos de los que leeréis esto diréis, fácil, la mayoría de los clientes FTP permiten conexiones SFTP. Cierto, pero eso es en el caso sencillo de usuario y contraseña o archivo de claves. Cierto, y sencillo. Pero hoy vamos a ver el caso en que necesitemos usar la línea de comandos. O bien porque se quieren reealizar procesos batch, o porque queremos situaciones más complejas en que queremos especificar puertos, nombres de usuario etc distintos (por ejemplo), al del archivo de claves.Para que os hagáis una idea, el caso que nos hizo usar esto en vez de SFTP era uno en que teníamos que conectarnos a un servidor a través de otro por un túnel. El túnel requería una archivo de claves con un usuario y el segundo servidor otro usuario. Por lo tanto excede de las capacidades de los clientes de FTP. Cómo transferir ficheros por SSH desde Windows por terminal con SCP. Lo primero que tenemos que hacer es descargar PSCP, un programa de los creadores de Putty y Puttygen. Para ello vamos a https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html y descargamos la versión que PSCP que corresponda. El cliente de SCP (Secure Copy Protocol), PSCP, no requiere instalación, se ejecuta desde el terminal. El uso básico es muy sencillo: Copiar fichero a un servidor. pscp c:\rutaorigen\ficheroacopiar.xxx usuario@servidorourl.com:/rutadestino/nombredestino.xxx Y pedirá la contraseña del usuario. Copiar fichero de un servidor a mi ordenador. pscp usuario@servidorourl.com:/rutadestino/* esto copia todo el contenido de la carpeta rutadestino a la carpeta de mi PC desde la que ejecuto el programa. Vamos a ver algún ajuste que se puede hacer a esto: –P port : especifica el puerto. Por ejemplo pscp -P 2022 c:\rutaorigen\ficheroacopiar.xxx usuario@servidorourl.com:/rutadestino/nombredestino.xxx usaría el puerto 2022. – pw contraseña: especifica la contraseña. Por ejemplo pscp c:\rutaorigen\ficheroacopiar.xxx usuario@servidorourl.com:/rutadestino/nombredestino.xxx -pw 1234 conecta con la contraseña 1234. Recordad que no es nada recomendable poner contraseñas en los script. -l : especifica un usuario. Ver ejemplo de varios servidores debajo. -r: copia los directorios de manera recursiva. – i ficherodeclave: especifica un fichero de clave privada para identificarse. Por ejemplo pscp -i “c:\rutadetuficherodeclaves\fichero.ppk” c:\rutaorigen\ficheroacopiar.xxx usuario@servidorourl.com:/rutadestino/nombredestino.xxx – h: especifica el host desde un fichero. Útil para copiar ficheros a varios servidores (ver ejemplo debajo). Dos ejemplos curiosos combinando lo anterior. Conexión a través del puerto 8022 (por un túnel por eso por otro puerto y al 127.0.0.1) , con un fichero de claves a un servidor con un usuario diferente al del fichero de claves pscp.exe -P 8022 -i “C:\abucacionarchivodeclaves\arvhicodeclaves.ppk” C:\ubicacionfichero\fichero.txt usuarioremoto@127.0.0.1:/rutaremota  Copiar el mismo fichero a varios servidores que tienen el mismo usuario y contraseña Creamos un fichero, por ejemplo archivodeservidores.txt con los servidores destino puestos así: 192.168.0.5:22192.168.0.12:2280.53.22.1:22 Luego ejecutamos lo siguiente. pscp -h archivodeservidores.txt -l usuario fichero.tar.gz /directoriodestino/ Esperamos que con esto podáis jugar y copiar ficheros en varias situaciones por SCP.

Servidores, Sistemas, Software

PhpMyAdmin el gestor web de MYSQL más usado.

Revisando los posts publicados, me he dado cuenta que no habíamos escrito sobre PhpMyAdmin. Y tenía que corregirlo. Más aún cuando hace unas semanas, dando apoyo IT a una empresa de creación web, no lo conocían (muy sorprendente). Así que, para rellenear ese hueco, aquí va mi mención a este programa. PhpMyAdmin es el gestor web de MYSQL más usado. PhpMyAdmin es una herramienta que se creó en php, para poder gestionar algo tan importante como las bases de datos de MYSQL (una de las más usadas). Los gurus de bases de datos usan la línea de comandos, pero como en todo, no es ni práctico ni fácil. PhpMyAdmin simplificó extremádamente tareas que antes eran muy complicadas, y que debemos hacer muy frecuentemente con nuestra base de datos. Con esta herramienta puedes (entre otras cosas y desde un nivel básico de usuario): Hacer copia de seguridad de tu base de datos (ya con esto merecería la pena). Importar bases de datos (de nuevo merecería la pena sólo con esto). Buscar en la base de datos o en tablas. Modificar campos en cualquier parte de la base de datos. Modificar la estructura de una base de datos o tabla (incluido algo tan importante como el cotejamiento). Y mucho más. Podéis ver una demo de este programa aquí. Está disponible en varios idiomas y podéis usarlo de varias maneras: Descargarlo y subirlo a una carpeta de vuestra web por SFTP. Después modificáis el fichero de configuración para apuntar a vuestra base de datos, y entráis en la misma.Acordaos de borrar dicha carpeta, o protegerla, una vez hayáis acabado, porque evidentemente es algo muy peligroso en malas manos. Si tenéis paneles para gestionar vuestro hosting, muchos de ellos incluyen PhpMyAdmin y podréis acceder a través de ellos. Os recomiendo en esos casos, si podéis, un truco para desactivar esta herramienta por ssh cuando no se use. Podéis instalarlo en vuestro ordenador, u otro servidor, y apuntar el fichero de configuración a la base de datos de vuestra web. Pero muchos servidores sólo permiten acceder a Mysql desde el mismo servidor (una medida de seguridad básica) y de ahí el punto 1. Eso si, otros muchos implementan la seguridad de una manera diferente y se puede. Por cierto, obviamente al llevar tanto tiempo funcionando, la información y ayuda online es ingente.

Servidores, Sistemas, Trucos

Cómo abrir el puerto 25 en los servidores AWS (Lightsail y EC2) de Amazon

Si decides adquirir los servidores cloud de Amazon AWS (muy potentes aunque no son baratos), tenéis dos opciones principales: Lightsail (la gama asequible y de entrada de Amazon). EC2: todo el resto de instancias (servidores virtuales) de Amazon. Pensado para grandes proyectos y empresas. Con Amazon puedes hacer desde el proyecto más pequeño…al más grande. En ambos casos, una vez instalado el servidor, o instancia, veréis que el puerto 25, el de SMTP, (puerto que usan los servicios de correo por defecto para enviar) está bloqueado. No salen los correos.Esto es porque, como dicen “Amazon EC2 restricts traffic on port 25 of all EC2 instances by default, but you can request for this restriction to be removed” (y también vale para los Lightsail. Es decir, bloquea ese puerto por defecto. ¿Cómo se quita el bloqueo del puerto 25 en los servidores AWS? Las instrucciones vienen aquí, pero lo que hay que hacer es rellenar este formulario para presentar la solicitud. En el formulario tienes que explicar el uso para el que vas a destinar tu servidor. Además puedes proporcionar direcciones IP y, si las tienes, registros de reverse DNS, para reducir el riesgo de que los correos se marquen como spam. Si te aprueban el formulario, recibirás una notificación que el puerto 25 ha sido desbloqueado.

Diseño Web, Servidores, Sistemas

Deshabilitar y habilitar el módulo de phpMyAdmin en Apache por comando.

Si manejas bases de datos de aplicaciones web, lo mejor es que gestiones las bases de datos desde tu ordenador con conexiones de programas como Mysql Workbench. O que limites las conexiones por IP. Es muy inseguro que tengas abierta al público una herramienta como phpMyAdmin que gestiona las bases de datos. Por muchos cambios de puerto o de rutas que hagas. Sin embargo, tienes otra opción, que es habilitar y deshabilitar el módulo de phpMyAdmin de Apache por comando. Así, lo activas cuando lo vayas a usar, lo desactivas cuando no lo estés usando. Es muy difícil que alguien detecte cuando lo has activado y rompa tu acceso (usuario y contraseña) justo en la ventana en que lo has activado. Habilitar y deshabilitar el módulo y phpMyAdmin en Apache por comando. Os dejamos aquí los comandos. Para habilitar el módulo de phpMyadmin. a2enconf phpmyadmin Te va a pedir reiniciar apache y te sugiere el comando, normalmente: Para deshabilitar el módulo de phpMyadmin. Para desactivarlo es: a2disconf phpmyadmin De nuevo te pedirá reiniciar Apache (comando en la primera parte del artículo).

Servidores, Sistemas, Software

MobaXterm: gestor de conexiones para Windows con cliente X server y mucho más.

La gente que nos conectamos a servidores usamos unos clientes, normalmente varios dependiendo de la labor a realizar. Si quieremos conectarnos por comandos usamos un cliente SSH como Putty. Si queremos conectarnos por FTP o SFTP usamos clientes como Filezilla, etc… Pero de vez en cuando descubrimos herramientas que incluyen todo esto, y muchísimo más, en un mismo paquete. Este es el caso de MobaXterm. Estamos hablando de, entre otras funcionalidades. Cliente para conexiones: SH, Telnet, Rlogin, RDP, VNC, XDMCP, FTP, SFTP o Serial Navegador visual de conexiones SFTP. Servidor X11 incorporado : puedes ejecutar aplicaciones de la máquina remota en tu PC. Permite ejecutar el mismo comando en varios servidores al mismo tiempo. Permite ejecutar servidores de varios tipos para conectarte en remoto (crea demonios locales). Herramientas de red y de sistemas. Escritorio remoto de Unix XDMCP Conexiones RDP desde MobaXterm. Crear y gestionar túneles de SSH de manera muy sencilla y visual. Package manager que te permite instalar más herramientas de Unix. Editor de texto Soporta macros Gestor de contraseñas Subraya código en diferentes colores. Muchos plugins adicionales. Es como el gestor de conexiones todo en uno, que además tienes herramientas adicionales. Viene en versión portable (para llevarlo a cualquier instalación) y versión instalable. La única pega (razonable) es que es gratuito para versión Home, (uso no comercial y está limitado aunque es muy potente) y para empresas es de pago. Tienes una demo de alguna de sus funciones aquí, pero os recomiendo que lo probéis porque es mucho más potente de lo que se ve en la demo. Si gestionas o te conectas a máquinas o servidores remotos, pruébalo, te sorprenderá.

Scroll al inicio