ufw Un firewall descomplicado ;)

Usage: ufw COMMAND Commands: enable enables the firewall disable disables the firewall default ARG set default policy logging LEVEL set logging to LEVEL allow ARGS add allow rule deny ARGS add deny rule reject ARGS add reject rule limit ARGS add limit rule delete RULE|NUM delete RULE insert NUM RULE insert RULE at NUM route RULE add route RULE route delete RULE|NUM delete route RULE route insert NUM RULE insert route RULE at NUM reload reload firewall reset reset firewall status show firewall status status numbered show firewall status as numbered list of RULES status verbose show verbose firewall status show ARG show firewall report version display version information Application profile commands: app list list application profiles app info PROFILE […]

» Read more

IPTABLES

Preámbulo Este artículo va dedicado a la seguridad en nuestro sistema operativo, en él voy a explicar una forma muy básica de defenderse de agentes externos, para ello usaremos las iptables, que voy a intentar definir a continuación. Introducción Para configurar un firewall en GNU/Linux, podemos hacer uso de las iptables, una potente herramienta que parece olvidada por muchos usuarios. Existen otros métodos para filtrar tráfico a nivel de enlaces (links html): ebtables y arptables Podemos implementar servidores proxy como Squid a nivel de aplicaciones, para por ejemplo llevar la gestión del tráfico y el ancho de banda, desde y hacia Internet. El caso es que iptables puede resultar útil para todos los casos anteriores, complementando el diseño del sistema […]

» Read more

Tareas programadas en Linux

Con el comando crontab -l Obtenemos un listado de tareas programadas para el usuario actual. Con el comando crontab -e Editamos las tareas programadas del usuario actual. Y su sintaxis general es esta: crontab [-u user] [-l | -r | -e] [-i] [-s] El fichero tiene texto de auto ayuda: # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # […]

» Read more

Como hackear la contraseña de root u otro usuario en Linux (Solo con fines educativos)

Material necesario: – USB Linux Live, el que queráis Proceso Paso 1: Arrancamos el sistema con un Live USB de Linux, lo único que necesitaremos es consola. Si es necesario modificar configuraciones de BOOT en la BIOS. Paso 2: Salimos a la consola y montamos el disco duro donde reside la instalación de Linux de la que no recordamos la clave de algún usuario. Paso 3: Para averiguar los discos duros (devices -> /dev), ejecutamos el comando fdisk como root o sudoer y pedimos la lista de discos y particiones con la opción menos ele: Paso 4: Para montar el sistema de archivos primero creamos cualquier carpeta: Paso 5: Y después lo montamos sobre ella: Paso 6: Como sudo editamos […]

» Read more

Como implementar dkim en un entorno multidominio

Postfix MTA

Nos hacemos un script como este Lo guardamos como /var/lib/amavis/add_dominio.sh Lo ejecutamos: bash  /var/lib/amavis/add_dominio.sh Al ejecutarse solicita el dominio y genera el archivo pem correspondiente. sergiviana.es Private RSA key successfully written to file “sergiviana.es.pem” (1024 bits, PEM format) dkim._domainkey.pymestic.es. 3600 TXT (“v=DKIM1; p=MIG…”) Ahora tenemos que añadirlo al fichero /etc/amavis/conf.d/50-user : nano /etc/amavis/conf.d/50-user Con una entrada como esta: Por último añades en las dns de tu dominio un TXT para un SUMDOMINIO llamado dkim._domainkey, con todo el churro junto sin “” como contenido: v=DKIM1; p=MIG… Y pruebas: amavisd-new testkeys TESTING#8 sergiviana.es: dkim._domainkey.sergiviana.es => invalid (public key: not available) hasta que consigas => pass Suerte!!! Para ver las keys ejecuta: amavisd-new sowkeys Hasta otra!

» Read more

Access denied for user ‘root’@’localhost’ o como hacer un superusuario en Mysql tipo root

Por seguridad, veras que tras instalar phpmyadmin, adminer o similar, no puedes hacer logon con el usuario ‘root‘. Esta deshabilitado su uso. Podemos hacer un usuario llamado ‘master‘ por ejemplo con los mismos poderes, con el que si podremos iniciar sesion, y hará sus veces de root. En la consola entramos a mysql y ejecutamos estas dos sentencias:

» Read more

Limpieza de nuestro GNU/Linux

Tras meses de actualizaciones de paquetes y kernels, toca hacer un poco de limpieza. Con este comando podemos ver que uso estamos haciendo del disco: du -sh / Te produce una salida con algunos errores de acceso pero que al final te dice el total: du: no se puede leer el directorio ‘/lost+found’: Permiso denegado 42G / Con este comando averiguas el kernel con el que has arrancado: uname -r 4.4.0-103-generic Con este otro listas los kernels instalados: dpkg –get-selections|grep linux-image linux-image-4.4.0-101-generic install linux-image-4.4.0-103-generic install linux-image-4.4.0-97-generic install linux-image-4.4.0-98-generic install linux-image-extra-4.4.0-101-generic install linux-image-extra-4.4.0-103-generic install linux-image-extra-4.4.0-97-generic install linux-image-extra-4.4.0-98-generic install O si lo queréis más bonito, o para entubarlo a otro comando: dpkg -l | grep linux-image | awk ‘{print$2}’ linux-image-4.4.0-101-generic linux-image-4.4.0-103-generic linux-image-4.4.0-97-generic […]

» Read more

iptables borrar una regla – unban ip

Se puede dar el caso que el Firewall banee una IP de nuestras máquinas cliente, en este caso debemos listar iptables, y borrar la regla adecuada. Listamos las reglas actuales, y debemos filtrar por nuestra IP afectada: iptables -L -n| grep 37.133.48.32 Además si identificamos nuestra IP Pública ahí, debemos averiguar en que cadena esta incluida. Con el comando: iptables -L -n Averiguamos la cadena donde se incluye la IP afectada por el bloqueo. Por ejemplo: Chain fail2ban-apache-postflood (1 references) target prot opt source destination REJECT all — 37.133.48.32 0.0.0.0/0 reject-with icmp-port-unreachable La cadena es  fail2ban-apache-postflood , con el siguiente comando iptable borramos la regla, por lo que el kernel dejará de bloquear la IP involucrada iptables -D fail2ban-apache-postflood -s 37.133.48.32 -j […]

» Read more

Unir Ubuntu 16 a un dominio de Windows Server con Active Directory

En esta entrada vamos a aprender a unir un sistema GNU/Linux a un dominio creado mediante Windows Server. En este caso vamos a usar máquinas virtuales configuradas en red interna. Por una parte tenemos un Ubuntu 16.04 y por otra un Windows Server 2008 R2.   Para ello vamos a necesitar cumplir los siguientes requisitos: Dominio de Active Directory 2. DNS apuntando al servidor ( en este caso la 192.168.0.200) 3. Hora del sistema sincronizada con el controlador del dominio (muy importante para Kerberos). 4. Instalar los siguientes paquetes: Cliente Kerberos, Samba, SSSD y NTP.   Antes de empezar con instalaciones y configuraciones vamos a aclarar lo que vamos a utilizar. Kerberos: Es un protocolo de autentificación segura entre dos […]

» Read more

postfix mta: cómo manejar la cola

Postfix MTA

Escenario Estamos recibiendo ataques de spam en nuestro servidor desde el dominio static.vnpt.vn (Vietnam). Si utilizáis el MTA postfix, disponemos de un comando mailq para ver la cola de correo. Podéis conseguir lo mismo con este otro comando postqueue -p. Veo que hay muchos mensajes que no salen. Concluyo que que el MTA está parando el ataque: Pero me molesta tenerlos encolados así que decido eliminarlos. Para ello utilizo el comando postsuper -d 81E7E1622C1C donde 81E7E1622C1C es el Queue ID del mensaje a borrar: Cheatsheet de comandos postfix Algunos de los comandos que os serán útiles para gestionar la cola de Postfix, y los que más utilizo son los siguientes: Iremos añadiendo otros que mediante tuberías permiten extraer información útil, […]

» Read more

Zabbix – Cambiar idioma de tu servidor Zabbix al español

  Es fácil que después de instalar zabbix vayamos a Administration/Users, le demos click a Admin y nos encontremos con que no podemos poner el idioma en español. Al abrir language no vemos que está la opción de elegir Español 1. Idioma en nuestro servidor donde se encuentra Zabbix En primer lugar tenemos que ejecutar el siguiente comando en nuestro servidor y seleccionar e instalar el paquete del idioma que nos interese. dpkg-reconfigure locales Simplemente tendremos que marcar uno de estos paquetes que contengan español como idioma.   2. Archivo configuración Zabbix A continuación tendremos que ir a la carpeta de nuestro servidor web donde tenemos instalado zabbix para modificar el archivo /include/locales.inc.php nano include/locales.inc.php Buscamos esta línea: ‘es_ES’ => [‘name’ […]

» Read more

El Shell Bash de GNU/Linux

En la serie de artículos “El Shell Bash de GNU/Linux” vamos a tratar los principales comandos para manejarnos por la consola de una distribución GNU/Linux. El Shell Bash de GNU/Linux 1 – Introducción El Shell Bash de GNU/Linux 2 – Tuberías y filtros El Shell Bash de GNU/Linux 3 – Variables de entorno El Shell Bash de GNU/Linux 4 – Expresiones regulares El Shell Bash de GNU/Linux 5 – Sistema de ficheros El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas El Shell Bash de GNU/Linux 5.4 – Permisos El Shell Bash de GNU/Linux 5.5 […]

» Read more

Setup rápido servidor web Debian based

Phpmyadmin

Me dispongo a escribir este post, que ya iré enriqueciendo, para comentar cómo realizar un setup básico de un servidor web (Debian based) ya que llevo en marcha un proyecto, y aunque suelo trabajar en máquinas virtuales para no sobrecargar mis equipos, estoy notando que Prestashop va lento, lento, … al tirar de máquina y atacar desde el anfitrión, cómo no dispongo de mucho tiempo voy a instalar en el portatil (Debian Wheezy) lo justo y necesario para terminar el proyecto. Lo primero actualizar el sistema: A continuación, aunque detecto que ya tengo algunos paquetes instalados, lanzo un churro para instalar todo lo que voy a necesitar: Durante la instalación / configuración de paquetes aparece un diálogo de consola preguntando […]

» Read more

Instalar y configurar Zabbix en Debian 8

Zabbix es un software Open Source diseñado para monitorizar redes, servidores y aplicaciones a tiempo real. Está basado en la arquitectura cliente-servidor. Zabbix es capaz de recolectar información de los  hosts clientes y crear un histórico de su estado. Tiene la habilidad de comprobar servicios de red tales como HTTP, SMPT, IMAP y FTP entre otros, sin la necesidad de instalar software extra en los hosts monitorizados. Sin embargo tendremos que instalar el Zabbix agent en los hosts clientes. En esta entrada vamos a instalar el servidor Zabbix version 3.0.1  en nuestro Debian GNU/Linux 8.7 (jessie) desde 0 y paso a paso.   Paso 1: Instalar software requerido y dependencias. Zabbix no se encuentra aun en los repositorios de Debian, […]

» Read more

Instalar Joomla en GNU/Linux

En este tutorial vamos a mostrar como instalar el CMS Joomla, en este caso lo instalaremos sobre un Ubuntu 16.04. Lo único que necesitamos es tener un sistema LAMP. Pues instalar el tuyo siguiendo esta entrada. Descargar Joomla Para descargar Joomla lo haremos desde su web original joomla.org     Le damos al botón “Download Joomla!” y se iniciara la descarga. Una vez descargado el .zip recomendamos cambiarle el nombre a joomla y seguidamente extraerlo en la ruta de nuestro servidor web. Cambiar propietario A continuación para el buen funcionamiento de joomla tendremos que cambiar de propietario la carpeta joomla (a la que anteriormente le habíamos cambiado el nombre) de nuestro servidor para que apache sea el propietario. Esto lo haremos con […]

» Read more

Mantener GNU/Linux actualizado sin hacer nada!

En esta entrada vamos a crear un script bash el cual junto a cron mantendrá nuestro sistema siempre actualizado. Creando el script Lo primero que vamos a hacer es crear el script, solo necesitaremos pegar esto en un bloc de notas y darle permisos de ejecución. #actualiza.sh #!/bin/bash apt update -y –force-yes apt upgrade -y –force-yes apt autoremove -y –force-yes apt autoclean -y –force-yes Usamos -y –force-yes para que no nos pida confirmación al ejecutar el script. Ahora toca darle permisos. chmod u+x actualiza.sh Ahora cada vez que ejecutemos el script nuestro sistema se actualizará. Habilitar cuenta root A continuación, para automatizar este script y que se ejecute en cada inicio debemos usar cron con el usuario root. En el […]

» Read more

Tutorial básico de IPTABLES

Hola buenas! Hoy vamos a hablar de IPTABLES, un must entre los administradores de sistemas. ¿Qué es IPTABLES? Iptables es una potente herramienta de cortafuegos la cual suele venir instalada en los sistemas GNU/Linux y que nos permitirá filtrar, modificar, aceptar o denegar tráfico de red entre muchas otras funciones. Esta herramienta trabaja con tablas y dependerá de nuestro objetivo utilizar una u otra. A continuación vamos a mostrar un poco de su sintaxis y finalmente mostraremos usos sencillos de iptables con casos prácticos. Si no lo tenemos instalado ejecutar el siguiente comando: sudo apt-get install iptables Introducción a IPTABLES Como anteriormente hemos dicho, iptables trabaja con tablas. Nosotros vamos a utilizar dos tablas: Tabla NAT: la utilizaremos para cambiar […]

» Read more

VPS Ubuntu: Configuración sobre un dominio [Editado 2021]

El dominio sobre el que descansará el VPS sera pymestic.es, cuyo FQDN quiero que sea vps0.pymestic.net El índice del artículo podría ser este: Registros DNS en el panel del dominio Lo primero es configurar la zona DNS de este dominio, para ello desde el panel de control de mi dominio agrego estas zonas (en la imagen server.pymestic.net se corresponde a vps0.pymestic.es en nuestro ejemplo de hoy): En el caso del SPF yo permito que todos mis VPS hablen sin problemas entre sí, añado sus IP’s, en vuestro caso puede ser suficiente de momento ‘v=spf1-all‘. Resolución inversa en el panel del vps Ahora en Ramnode configuramos el nombre del host, y la red, el PTR de resolución inversa: Como el sistema […]

» Read more

Script php para obtener los dominios que nos han atacado

Teniendo en funcionamiento iptables, combinado con algún monitor como fail2ban, podemos obtener el listado de IP’s que tenemos bloqueadas en el firewall con un DROP (mejor no deja huella) o REJECT (contesta). Esto para que os hagáis una idea produce una salida así: Ahora filtro un poco: Excluyo las IP que no se han podido resolver, seguramente pertenecen al abanico DHCP que ofrece algún ISP a nivel doméstico. Esto lo redirecciono a un archivo nombres.txt para usarlo como fuente en el script siguiente y obtener nombres.dat. Con ayuda de un script en PHP para trabajar a gusto con las cadenas y poder usar funciones como explode: Con ayuda de unos pocos filtros más: Evitamos duplicados. Posibles mejoras Podríamos ahora usar […]

» Read more
1 2 3