Servidor DNS en Ubuntu 20.04 para WordPress

Por: Carlos Antonio Leal Saballos

El DNS es sin lugar a dudas uno de los servicios más importantes en el mundo de Internet. El DNS es por mucho el alma, nervio y músculo de Internet. Es un sistema que permite usar nombres de dominio en lugar de direcciones IP. La verdad es que un ser humano promedio será incapaz de recordar todos los números IP de todos los servidores que utiliza, no obstante, le resulta sencillo recordar los nombres de dominio.

El servidor DNS se necesita para implementar un servidor con wordpress para escribir el nombre de dominio y no escribir directamente el número IP.

Un video explicativo con el paso a paso de este tutorial lo encuentran aquí:

Requisitos para configurar un servidor DNS

  • Es posible que necesite también un servidor DHCP.
  • Configurar adecuadamente los parámetros de red, en este caso se utiliza 192.168.56.12 para el servidor.
  • Se debe definir apropiadamente el nombre del equipo y del dominio, en este caso el nombre del servidor es webserver y utilizaremos los dominios hipotéticos wordpress.edu.ni
    • Tomar en cuenta que:
      • Si el número IP del servidor es privado, entonces el dominio será privado.
      • Para tener un dominio público se necesita un IP público.
      • En Nicaragua quien autoriza los dominios públicos es el nic.NI (http://www.nic.ni/)

Paso -1 – Abrir un terminar y convertirse en super-usurio

cleal@webserver:~$ sudo -s
Contraseña: 
root@webserver:~#

Paso 0 – Agregar el nuevo servidor DNS en la configuración de red de servidor

nano -c /etc/netplan/00-installer-config.yaml

Ajustemos lo que está en rojo

network:
  ethernets:
   enp0s3:
    dhcp4: true

   enp0s8:
    addresses: [192.168.10.12/24]
    # gateway4: 192.168.10.1
    nameservers:
     search: [wordpress.edu.ni]
     addresses: [192.168.10.12, 192.168.0.1]
version: 2

En Azul la puerta de enlace: Múltiples puertas de enlace pueden causar problemas, en este ejemplo lo dejamos con un comentario o lo eliminamos de una vez.

En verde el segundo servidor DNS debe ser el que nos proporciona el proveedor de servicios de internet

Aplicar cambios en los servicios de red con

netplan apply

Paso 1 – Instalar el software necesario

apt-get update ; apt-get install bind9 dnsutils

Paso 2 – Copia de seguridad

Realizar una copia de respaldo del archivo de configuración original

cp /etc/bind/named.conf.local /etc/bind/named.conf.local.original

Paso 3 – Editar el archivo de configuración principal

nano /etc/bind/named.conf.local

Agregamos al final

zone "wordpress.edu.ni" {
type master;
file "db.wordpress.edu.ni.zone";
};

zone "10.168.192.in-addr.arpa" {
type master;
file "db.192.168.10";
};

Para asegurarnos que el archivo está bien

named-checkconf

Paso 4 – Crear los archivos de zona

Procedamos a crear los (nuevos) archivos de zona, esos archivos contienen los registros del DNS y en Ubuntu se encuentran en el directorio /var/cache/bind/

Creamos el archivo de la zona wordpress.edu.ni

nano /var/cache/bind/db.wordpress.edu.ni.zone

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN wordpress.edu.ni.
$TTL 86400 ; 1 dia
@ IN SOA ns.wordpress.edu.ni. info.wordpress.edu.ni. (
          2020070801 ; serie
          6H ; refresco (6 horas)
          1H ; reintentos (1 hora)
          2W ; expira (2 semanas)
          3H ; mínimo (3 horas)
)

@     IN     NS     ns
@     IN     MX 10  mail
@     IN     A      192.168.10.12 
ns    IN     A      192.168.10.12
mail  IN     A      192.168.10.12
www   IN     A      192.168.10.12
mail  IN     TXT    "v=spf1 a mx a:wordpress.edu.ni ip4:192.168.10.12 -all"

Vale la pena detectar errores en el archivo de zona

named-checkzone wordpress.edu.ni /var/cache/bind/db.wordpress.edu.ni.zone

Ahora la zona de búsqueda inversa

nano /var/cache/bind/db.192.168.10

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN 10.168.192.in-addr.arpa.
$TTL 86400 ; 1 dia
@ IN SOA ns.wordpress.edu.ni. info.wordpress.edu.ni. (
        2020042501 ; serie
        6H ; refresco (6 horas)
        1H ; reintentos (1 hora)
        2W ; expira (2 semanas)
        3H ; mínimo (3 horas)
)

@     IN     NS     ns.wordpress.edu.ni.
12    IN     PTR    ns.wordpress.edu.ni.
12    IN     PTR    mail.wordpress.edu.ni.
12    IN     PTR    www.wordpress.edu.ni.

También es se puede comprobar que la configuración esté bien con:

named-checkzone 10.168.192.in-addr.arpa /var/cache/bind/db.192.168.10

Paso 5 – Re-iniciar Servicios


Servidor DNS

systemctl restart bind9
systemctl status bind9

Paso 6 – Probar la configuración desde el servidor

Con el  dominio interno

nslookup wordpress.edu.ni
Server: 192.168.10.12
Address: 192.168.10.12#53

Name: wordpress.edu.ni
Address: 192.168.10.12

Con un dominio externo

nslookup google.com.ni
Server: 192.168.8.1
Address: 192.168.8.1#53

Non-authoritative answer:
Name: google.com.ni
Address: 172.217.2.195

Felicidades, ya lo tenemos

Configurar red en Ubuntu Server 20.04

El escenario

Tenemos dos adaptadores de red, el primero recibirá su dirección IP vía DHCP al segundo se le configurará manualmente, o sea:

  • enp0s3 ==>Configuración automática con DHCP
  • enp0s8 ==>Configuración estática manual

 

 

Estas configuraciones están bien explicadas en un video que subí a mi canal de YouTube

 

Paso 0 – Saber el nombre de los adaptadores

Escribimos el comando ls /sys/class/net/ deberá salir algo así:

ls /sys/class/net/

enp0s3 enp0s8 lo

Paso 2 – Respaldar la configuración original

El archivo de configuración original es mejor dejarlo en otra carpeta por ejemplo /root

cp /etc/netplan/00-installer-config.yaml /root/00-installer-config.yaml.org

Paso 3 – Editar el archivo de configuración

nano -c /etc/netplan/00-installer-config.yaml

Agregamos la configuración del segundo adaptador

# This is the network config written by 'subiquity'
network:
  ethernets:
   enp0s3:
    dhcp4: true

   enp0s8:
    addresses: [192.168.10.12/24]
    gateway4: 192.168.10.1
    nameservers:
     search: [redinterna.local]
     addresses: [192.168.10.10]
version: 2

Paso 4 – Aplicar y verificar cambios

Aplicamos los cambios con

netplan apply

Verificamos con ip a

ip -a

Tendrá que salir algo similar a esto

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:c6:9a:93 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fec6:9a93/64 scope link
valid_lft forever preferred_lft forever

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:4a:4a:e5 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.12/24 brd 192.168.10.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe4a:4ae5/64 scope link
valid_lft forever preferred_lft foreve

Creación de usuarios en Ubuntu Server 20.04 en Línea de comandos

La administración de usuarios es uno de los procesos más importantes que realiza un administrador de servidores, vamos a explicar la manera de crear usuarios en Ubuntu Server 20.04 utilizando la línea de comandos, en este ejemplo vamos a crear un primer usuario llamado juan el cual tendrá privilegios de root, luego vamos a crear otro usuario llamado pedro, pero lo vamos a crear de otra forma.

El proceso

Paso 0 –  Iniciar sesión y convertirse en super-usurio

cleal@webserver:~$ sudo -s
Contraseña:
root@webserver:~#

Paso 1 – Creación del usuario juan

root@tserver:~# adduser juan
Añadiendo el usuario `juan' ...
Añadiendo el nuevo grupo `juan' (1001) ...
Añadiendo el nuevo usuario `juan' (1001) con grupo `juan' ...
Creando el directorio personal `/home/juan' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX: # Escribir la contraseña
Vuelva a escribir la nueva contraseña de UNIX: # Confirmar
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para juan
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
      Nombre completo []: Juan # Completar datos (opcional)
      Número de habitación []: # [enter] para no completar datos
      Teléfono del trabajo []:
      Teléfono de casa []:
      Otro []:
¿Es correcta la información? [S/n] S # Confirmar información
root@webserver:~#

Si quieres dar privilegios de administrador a juan hay que agregarlo a sudoers abrimos el archivo con el editor de nuestra preferencia (a mí me gusta vim) y lo agregamos (aproximadamente línea 22)

root@tserver:~# nano -c /etc/sudoers

Lo dejamos así

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
juan ALL=(ALL:ALL) ALL

Iniciamos sesión con juan y probamos si tiene privilegios de root

juan@webserver:~$ sudo -s
[sudo] password for juan: # Poner contraseña de juan
root@tserver:/home/juan#

Paso 2 – Creación del usuario pedro

Creamos el usuario con

root@tserver:~# useradd -m pedro

Establecemos la contraseña de pedro con

root@tserver:~# passwd pedro
Introduzca la nueva contraseña de UNIX: # Escribir contraseña
Vuelva a escribir la nueva contraseña de UNIX: # Repetir contraseña
passwd: contraseña actualizada correctamente
root@tserver:~#

Muchas felicidades, hemos creado los dos usuarios

Hay un video explicativo de este proceso en

Instalación de Zimbra en Ubuntu Server

En este paso a paso voy a explicar cómo instalar Zimbra Collaboration – Open Source Edition, en este caso vamos a utilizar el dominio hipotético ubuntu.edu.ni.

También se puede ver el paso a paso en un video de YouTube

 

Paso 1 – Preparar y validar el DNS

  • Editar el /etc/resolv.conf para poner nuestro servidor antes que los otros nameserver 192.168.56.10
  • Editar el archivo /etc/hostname debe quedar así:
    mail.ubuntu.edu.ni
  • Editar el archivo /etc/hosts debe quedar así:
    127.0.0.1 localhost
    192.168.10.12 mail.ubuntu.edu.ni mail
    # The following lines are desirable for IPv6 capable hosts
    ::1 localhost ip6-localhost ip6-loopback
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
  • Probar que el DNS está bien configurado desde el servidor de correo escribimos

Con el dominio interno

nslookup ubuntu.edu.ni
Server: 192.168.56.10
Address: 192.168.56.10#53

Name: ubuntu.edu.ni
Address: 192.168.56.10

Con un dominio externo
root@tserver:/var/cache/bind# nslookup google.com.ni
Server: 192.168.8.1
Address: 192.168.8.1#53
Non-authoritative answer:
Name: google.com.ni
Address: 172.217.2.195

Paso 2 – Descargar y descomprimir el instalador

Se Descarga desde aquí:

https://www.zimbra.com/downloads/zimbra-collaboration-open-source/archives/

En este caso, vamos a elegir la versión de zimbra 8.8.12 GA para ubuntu 16.04, en este video de mi canal de YouTube se explica el motivo.

Se descarga con:

wget https://files.zimbra.com/downloads/8.8.12_GA/zcs-8.8.12_GA_3794.UBUNTU16_64.20190329045002.tgz

Descomprime con

tar xvzf zcs-8.8.12_GA_3794.UBUNTU16_64.20190329045002.tgz

Paso 3 – Ejecutar la instalación

Entrar al directorio donde se descomprimió zimbra con

cd zcs-8.8.12_GA_3794.UBUNTU16_64.20190329045002

ejecutar el script de instalación

./install.sh

Continuar con el asistente de instalación

  1. Do you agree with the terms of the software license agreement? [N] Y
  2. Use Zimbra’s package repository [Y] Y
  3. Seleccionar todos los paquetes, menos los que estén en fase de desarrollo (para pruebas), zimbra proxy y zimbra drive
  4. Establecer el nombre de dominio
  5. Definir contraseña de administrador
  6. Entrar a la dirección https://mail.ubuntu.edu.ni:7071

En otra entrada explicaré las opciones pos-instalación

También pueden ver el video completo de esta configuración en youtube

Servidor DNS en Ubuntu 16.04 para Zimbra

Por: Carlos Antonio Leal Saballos

El DNS es sin lugar a dudas uno de los servicios más importantes en el mundo de Internet. El DNS es por mucho el alma, nervio y músculo de Internet. Es un sistema que permite usar nombres de dominio en lugar de direcciones IP. La verdad es que un ser humano promedio será incapaz de recordar todos los números IP de todos los servidores que utiliza, no obstante, le resulta sencillo recordar los nombres de dominio.

Es muy importante configurar bien el servidor DNS para correr el servidor de correo con Zimbra adecuadamente. Especialmente la creación de los registros MX y SPF. En estas líneas voy a explicar el procedimiento para configurar un servidor DNS básico que permite funciona bien para un servidor Zimbra

Requisitos para configurar un servidor DNS

  • Es posible que necesite también un servidor DHCP.
  • Configurar adecuadamente los parámetros de red, en este caso se utiliza 192.168.56.10 para el servidor.
  • Se debe definir apropiadamente el nombre del equipo y del dominio, en este caso el nombre del servidor es mail y utilizaremos los dominios hipotéticos ubuntu.edu.ni
    • Tomar en cuenta que:
      • Si el número IP del servidor es privado, entonces el dominio será privado.
      • Al usar un IP público el dominio será público.
      • En Nicaragua quien autoriza los dominios públicos es el nic.NI (http://www.nic.ni/)

Paso 0 – Abrir un terminar y convertirse en super-usurio

cleal@tserver:~/Escritorio$ sudo -s
Contraseña: 
root@tserver:~#

Paso 1 – Instalar el software necesario

apt-get update ; apt-get install bind9 dnsutils

Paso 2 – Copia de seguridad

Realizar una copia de respaldo del archivo de configuración original

cp /etc/bind/named.conf.local /etc/bind/named.conf.local.original

Paso 3 – Editar el archivo de configuración principal

nano /etc/bind/named.conf.local

Agregamos al final

zone "ubuntu.edu.ni" {
type master;
file "db.ubuntu.edu.ni.zone";
};

zone "56.168.192.in-addr.arpa" {
type master;
file "db.192.168.56";
};

Para asegurarnos que el archivo está bien

named-checkconf

Paso 4 – Crear los archivos de zona

Procedamos a crear los (nuevos) archivos de zona, esos archivos contienen los registros del DNS y en Ubuntu se encuentran en el directorio /var/cache/bind/

Creamos el archivo de la zona ubuntu.edu.ni

nano /var/cache/bind/db.ubuntu.edu.ni.zone

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN ubuntu.edu.ni.
$TTL 86400 ; 1 dia
@ IN SOA ns.ubuntu.edu.ni. info.ubuntu.edu.ni. (
          2020042501 ; serie
          6H ; refresco (6 horas)
          1H ; reintentos (1 hora)
          2W ; expira (2 semanas)
          3H ; mínimo (3 horas)
)

@     IN     NS     ns
@     IN     MX 10  mail
@     IN     A      192.168.56.10 
ns    IN     A      192.168.56.10
mail  IN     A      192.168.56.10
www   IN     A      192.168.56.10
mail  IN     TXT    "v=spf1 a mx a:ubuntu.edu.ni ip4:192.168.56.10 -all"

Vale la pena detectar errores en el archivo de zona

named-checkzone ubuntu.edu.ni /var/cache/bind/db.ubuntu.edu.ni.zone

Ahora la zona de búsqueda inversa

nano /var/cache/bind/db.192.168.56

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN 56.168.192.in-addr.arpa.
$TTL 86400 ; 1 dia
@ IN SOA ns.ubuntu.edu.ni. info.ubuntu.edu.ni. (
        2020042501 ; serie
        6H ; refresco (6 horas)
        1H ; reintentos (1 hora)
        2W ; expira (2 semanas)
        3H ; mínimo (3 horas)
)

@     IN     NS     ns.ubuntu.edu.ni.
10    IN     PTR    ns.ubuntu.edu.ni.
10    IN     PTR    mail.ubuntu.edu.ni.
10    IN     PTR    www.ubuntu.edu.ni.

También es se puede comprobar que la configuración esté bien con:

named-checkzone 56.168.192.in-addr.arpa /var/cache/bind/db.192.168.56

Paso 5 – Agregar el nuevo servidor DNS en la configuración de red de servidor

nano /etc/network/interfaces

agregamos una línea al final

dns-nameservers 192.168.56.10

Paso 6 – Re-iniciar el servicio

systemctl restart networking bind9
systemctl status networking bind9

Paso 7 – Editar el resolv.conf

nano /etc/resolv.conf
Nos aseguramos que nuestro servidor sea el primer DNS
nameserver 192.168.56.10
nameserver 192.168.8.1

Paso 8 – Probar la configuración desde el servidor

Con el  dominio interno
nslookup ubuntu.edu.ni
Server: 192.168.56.10
Address: 192.168.10.10#53

Name: ubuntu.edu.ni
Address: 192.168.56.10

Con un dominio externo
root@tserver:/var/cache/bind# nslookup google.com.ni
Server: 192.168.8.1
Address: 192.168.8.1#53

Non-authoritative answer:
Name: google.com.ni
Address: 172.217.2.195

root@tserver:/var/cache/bind#

Configurar red en Ubuntu 16.04 para correr zimbra

Antes de empezar

Hay ciertos requisitos que se deben cumplir para configurar un servidor de correo con zimbra, en estas líneas explicaré cómo configurar los parámetros de red en Ubuntu 16.04 para correr zimbra.

Lo primero que debemos tener claro es que necesitamos un número IP estático, puede ser público o privado.

También necesitamos un dominio, el cual también puede ser público o privado.

Si el dominio y el número ip son privados, se puede utilizar el servidor de correo con zimbra en una red interna, no va a poder enviar y recibir correos desde y hacia Internet.

Si hemos comprado un domino y disponemos de un rango de direcciones ip públicas, entonces el servidor de correo con zimbra estará en la capacidad de enviar y recibir correos de otros dominios públicos de internet.

Paso 0 – Iniciar sesión y convertirse en root

Antes que nada se debe iniciar sesión, de forma pre-determinada, ubuntu server tiene desactivado al usuario administrador. por eso se debe iniciar sesión con un usuario cualquiera luego convertirse en root con el comando sudo -s, tal y como se muestra en la figura.

Paso 1 – Cambiar el nombre de host y dominio

Vamos a ver como cambiar el nombre de máquina de forma sencilla, en esta caso vamos a utilizar el dominio hipotético ubuntu.edu.ni, editamos el archivo hostname

nano /etc/hostname

lo dejamos así

mail.ubuntu.edu.ni

ahora vamos a editar el archivo hosts

nano -c /etc/hosts

Debe quedar así

127.0.0.1       localhost
192.168.56.10   mail.debian.edu.ni     mail

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Paso 2 – Configurar número IP

Primero hacer es respaldo del archivo de configuración original

cp /etc/network/interfaces /etc/network/interfaces.bk

Ahora si modificar la configuración

nano /etc/network/interfaces

En este caso, vamos a tener el primer adaptador por DHCP, el segundo adaptador será con ip estático. Como el primer adaptador ya está configurado, simplemente, agregamos al final

auto enp0s8
iface enp0s8 inet static
address 192.168.56.10
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255

Paso 3 – Aplicar la configuración 

Lo más fácil es re-iniciar (una de las pocas veces que lo recomiendo en Linux)

reboot

una vez que reinicio el equipo comprobamos con hostname, el resultado debería ser similar a este

root@mail:~# hostname
mail.ubuntu.edu.ni
root@mail:~#

Lugo el comando ifconfig para ver la configuraicón de la red

ifconfig

el resultado debe ser similar a esto

Felicidades, hemos completado adecuadamente la Configurar red en Ubuntu 16.04 para correr zimbra

Configuración de los parámetros de red en Debian 10 Buster en línea de comandos

Por: Carlos Antonio Leal Saballos

El escenario

Tenemos dos adaptadores de red, el primero recibirá su dirección IP vía DHCP al segundo se le configurará manualmente, o sea:

  • enp0s3 ==>Configuración automática con DHCP
  • enp0s8 ==>Configuración estática manual

Paso 0 – Cambiar el nombre de host y dominio

Vamos a ver como cambiar el nombre de máquina de forma sencilla. Abrimos un terminal y nos convertimos en super usuario con:

cleal@tserver:~/Escritorio$ su –
Contraseña:
root@tserver:~#

El signo # indica que ya somos usuario root. Editamos el fichero /etc/hostname y le cambiamos el nombre

nano /etc/hostname

En este archivo de una sola línea se pone el nombre del servidor (o de la máquina Linux en general), como este será mi servidor DNS principal y estará ubicado en la ciudad de Managua y voy a utilizar un dominio hipotético llamado debian.local, lo voy a dejar así:

mga-ns01.debian.local

El nombre parece muy poco glamoroso, pero es muy funcional, con ver el nombre del servidor ya tengo una idea de su ubicación y servicios instalados

También vamos a modificar una línea en /etc/hosts

nano /etc/hosts

Donde dice 127.0.0.1 lo dejamos así:

127.0.0.1       mga-ns01.debian.local   mga-ns01

Paso 1 – Desactivar NetworkManager

Antes que nada, se debe desactivar cualquier aplicación, applet, ícono o algo por el estilo que controle la red en modo gráfico, de manera pre-determinada en Debian 10 viene el NetworkManager como gestor de conexiones de red. En un servidor los adaptadores de red no se configuran por medio del modo gráfico.

Detenemos el NetworkManager con

systemctl stop NetworkManager

Deshabilitamos el NetworManager con

systemctl disable NetworkManager

La salida será algo así

Removed /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed /etc/systemd/system/multi-user.target.wants/NetworkManager.service.

Paso 2 – Respaldar el archivo de configuración

En Debian, y otras distribuciones basadas en Debian, el archivo de configuración principal de los parámetros de red es: interfaces y ubicado en /etc/network/, antes que nada, conviene hacer una copia de seguridad del archivo

cd /etc/network/ # Ir al directorio network

Una vez realizado el cambo de directorio el prompt se verá algo así:

root@tserver:/etc/network#

Se realiza la copia de seguridad con

cp interfaces interfaces.original

Paso 3 – Establecer direcciones

 Editar el archivo de configuración puede ser con nano o con el editor que más nos agrade

nano interfaces

Toda línea que inicie con “#” no se toma en cuenta, es comentario. El archivo debe quedar así:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

## A partir de aquí agregamos
# configuración del primer adaptador ethernet vía DHCP

auto enp0s3
iface enp0s3 inet dhcp

# configuración manual del segundo ethernet adaptador

auto enp0s8
iface enp0s8 inet static
address 192.168.10.10
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255

# Multiples puertas de enlace pueden causar problemas
# si es necesario se puede especificar con la siguiente línea
# gateway 192.168.10.1
# Igual con el Servidor DNS, los está asignando el DHCP, pero se pueden poner aquí
# dns-nameservers 192.168.10.10


Paso 4 – Aplicar la configuración y verificar

En este caso, lo más fácil, rápido y seguro es reiniciar el equipo con:

reboot

Luego de reinicar, abrimos nuevamente la terminal, nos convertimos en root y probamos con ip a

cleal@tserver:~/Escritorio$ su -
Contraseña:

Verificar el nombre del equipo con hostname

root@mga-ns01:~# hostname
mga-ns01.debian.local
root@mga-ns01:~#

Verificamos el nombre del dominio con dnsdomainname

root@mga-ns01:~# dnsdomainname
debian.local
root@mga-ns01:~#

Comprobamos la IP con ip a
root@tserver:~# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:c6:9a:93 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fec6:9a93/64 scope link
       valid_lft forever preferred_lft forever

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:4a:4a:e5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.10/24 brd 192.168.10.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe4a:4ae5/64 scope link
       valid_lft forever preferred_lft forever
root@tserver:~#

¡No me gusta! Prefiero usar ifconfig, como en Debian net-tools no viene preinstalado, entonces tenemos que instalarlo, como yo ya lo tengo instalado con:
apt-get install net-tools

ahora sí, probamos con ifconfig

root@tserver:~# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::a00:27ff:fec6:9a93  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:c6:9a:93  txqueuelen 1000  (Ethernet)
        RX packets 5  bytes 1520 (1.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 76  bytes 8414 (8.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::a00:27ff:fe4a:4ae5  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:4a:4a:e5  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 8  bytes 396 (396.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 396 (396.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


root@tserver:~#

Felicidades, hemos completado adecuadamente la configuración de los parámetros de red

Top 5 distribuciones de Linux para hacking

Por: Carlos A. Leal S.

Todo superhéroe necesita las armas y las herramientas adecuadas para luchar por la justicia, este mismo principio se puede aplicar a los profesionales de la  seguridad informática. 

En esta entrada vamos a hacer comentarios sobre el kit de herramientas necesarias para realizar investigaciones cibernéticas, análisis forense digital y pruebas de penetración de la manera más eficiente y rápida.

Definiciones Clave

¿Cuál es el sistema operativo más centrado en la seguridad informática? ¿Qué herramientas están disponibles en dicho sistema? ¿Tiene algún costo?. ¿Cuales son las mejores distribuciones? Todas estas preguntas las vamos a responder, pero antes, repasemos algunos conceptos clave.

Linux

Cuando se trata de hacking ético y pruebas de penetración, Linux es opción lógica. Es un sistema operativo de código abierto, cualquiera, incluso un principiante, puede adaptarlo y modificarlo a sus necesidades Lo mejor de todo es que realizar pruebas de penetración, análisis forense y hacking ético de forma gratuita. Aquí es importante aclarar que existen herramientas de pago, que sin duda son muy buenas, pero alguien que está aprendiendo siempre buscará la forma de no pagar nada. 

Con tantas distribuciones Linux por ahí, es vital encontrar la que se adapte a tus necesidades de ciberseguridad. Para ayudarte, vamos a echarle un vistazo a las 5 mejores distribuciones de Linux para hacking ético y pruebas de penetración.

Distribuciones de Linux 

Linux, como ya mencionamos, es un software de código abierto creado y distribuido por diferentes organizaciones e individuos. Aunque cualquiera puede tomar código fuente de muchos proyectos libres hasta llegar a armar su propio sistema operativo, esto en la realidad no pasa, porque requeriría mucho tiempo y esfuerzo y porque no tienen las destrezas técnicas y las habilidades prácticas. Es por eso que tenemos distribuciones de Linux.

Las distribuciones de Linux combinan los códigos fuente de proyectos de código abierto y crean un sistema operativo único y unificado, compuesto por el kernel de Linux, los componentes de GNU, un sistema y un administrador de ventanas, un entorno de escritorio y mucho más. Hay cientos de distribuciones de Linux y todas cuentan con una serie de capacidades, características, herramientas y requisitos del sistema. 

Dichas distribuciones ​​están destinadas para su uso en diferentes tipos de dispositivos, incluidas computadoras de escritorio, servidores, computadoras portátiles y teléfonos celulares.

Hay algunas empresas que han creado sus propias distribuciones por eemplo Fedora y Red Hat Enterprise Linux pertenece a una empresa llamada Red Hat, por su parte Ubuntu le pertenece a Canonical.

En contraste, hay otros que están completamente desarrollados y mantenidos por la comunidad, como Debian, Slackware, Gentoo y otros.

En general, Linux siempre se recomienda debido a su estabilidad, soporte y escalabilidad; Las que son grandes ventajas para cualquier profesional de seguridad que realice análisis de redes, análisis forense digital, auditoría de seguridad, hacking ético y pruebas de penetración y más.

Así que vamos a ello, y examinemos las características, herramientas y requisitos de hardware que vienen junto con las mejores distribuciones de Linux para investigadores de seguridad.

Las 5 mejores distribuciones de Linux para hacking ético, análisis forense y pruebas de penetración

Kali Linux

Kali Linux es uno de los favoritos entre muchos profesionales de la ciberseguridad. Esta distribución de código abierto es basada en Debian, es creada y mantenida por un grupo llamado Offensive Security. Se le conoce como la reencarnación de BackTrack.

Kali Linux viene con más de 600 herramientas flexibles preinstaladas que se actualizan con frecuencia y están específicamente diseñadas para pruebas de penetración, análisis forense de datos, investigación de seguridad e ingeniería inversa. Es completamente personalizable se puede jugar con cada parte de la instalación de Kali, incluido el núcleo.

También viene con un modo forense que se puede habilitar desde el menú de arranque, y te permitirá evitar cualquier cambio de datos en el sistema. Esto es muy útil para realizar pruebas de la penetración y análisis forense en equipos que han sido o podrían ser atacados, es decir permite localizar cualquier punto débil que pueda tener una empresa.

Su entorno de escritorio es GNOME, pero también hay versiones con XFCE y MATE. Kali Linux es fácil de instalar, ya que sus requisitos de hardware son: Un mínimo de 20 GB de espacio en disco para la instalación, 2 GB de RAM, está disponible en 32 o 64 bits  y la instalación se puede hacer desde una unidad de CD-DVD o una USB. Se puede virtualizar fácilmente utilizando VirtualBox. 

Parrot Security OS

Parrot Security OS es otro sistema operativo basado en Debian, esta vez creado y mantenido por Frozenbox. Es muy liviano, proporciona gran anonimato para el hacking y pruebas de penetración, análisis forenses, tareas de criptografía e incluso desarrollo de software.

Mientras que otros en esta lista están diseñados estrictamente para Hacking ético y pruebas de penetración, Parrot Security OS también es una buena opción para tenerlo instalado y utilizar en el día a día. Se puede navegar por Internet mientras mantiene la privacidad, tiene un entorno amigable con la nube y presenta un sistema encriptado.

Su entorno de escritorio predeterminado es MATE, se actualiza con frecuencia y, por supuesto, es gratuito. Todas las herramientas populares de están disponibles con Parrot Security OS Security, así como algunas herramientas exclusivas.

Los requisitos de hardware para Parrot OS Security son un mínimo de 320 MB de RAM, un procesador doble núcleo de 1 GHz, que puede arrancar en modos heredados y UEFI, y al menos 16 GB de espacio en disco para la instalación. 

Black Arch

Cuando se trata de mantener un enfoque especial en las pruebas de penetración, la distribución Linux número uno para investigadores de seguridad y hackers éticos tiene que ser BlackArch. Esta distribución está basada en Arch Linux. Aquí lo que tengo que dejar claro es que sigue la misma filosofía de Arch. Es decir, es bastante difícil de instalar y se necesita mucha experiencia para personalizarlo.

BlackArch y su repositorio tiene más de 2000 herramientas, es algo de las ligas mayores. Además el repositorio está en constante crecimiento. Todo ha sido probado exhaustivamente antes de que sus capacidades estén disponibles para ser descargadas a través de Github.

BlackArch no proporciona un entorno de escritorio sino un Administrador de ventanas. Las numerosas herramientas se pueden descargar por separado o en categorías como depuradores, proxy, puertas traseras, sniffers, entre otras.

Los requisitos mínimos de hardware para BlackArch son un procesador de 64 bits, 1 GB de 20 GB de disco duro y 2 GB de RAM, arranca desde una unidad USB con un mínimo de 2 GB de almacenamiento.

BackBox

BackBox es la distribución de Linux más famosa en la comunidad de hackers que no se basa en Debian, es basada en Ubuntu. Con una comunidad apasionada que también es muy activa en los foros, por lo tanto se puede obtener ayuda en poco tiempo. Es completamente gratuito y todo el proyecto está dedicado a promover la cultura de seguridad.

Su completo entorno de escritorio XCFE está diseñado para correr con muy poca memoria. El repositorio está alojado en Launchpad y todas sus aplicaciones se actualizan regularmente para proporcionarle las versiones más estables del software.

Con BackBox puede crear fácilmente un entorno para realizar pruebas de seguridad y simular ataques. También es una de las distribuciones de Linux más rápidas que existen, y las herramientas ofrecidas incluyen análisis de red, análisis de aplicaciones, análisis forense, explotación y herramientas de prueba de estrés, así como evaluación de vulnerabilidad, documentación e informes.

Los requisitos mínimos de hardware de BackBox son un procesador de 32 bits o 64 bits, 512 MB de RAM, 4.4 GB de espacio en disco para la instalación, arranca desde una unidad de DVD-ROM o USB. 

BackTrack

BackTrack fue una distribución inux en formato LiveCD pensada y diseñada para la auditoría de seguridad informática en general. Su sucesor es la distribución Kali Linux que fue desarrollado a partir de la reescritura de esta distribución por el mismo equipo Offensive Security.

Se incluye en esta lista porque hay gente que todavía piensa que se puede trabajar con Backtrack, pero eso no es correcto.

Felicidades, ahora ya conocen estas ditros dedicadas a la seguridad informática, también les dejo el video de mi canal de YouTube.

Servidor Debain 10 – Preparar USB para Instalar Debian

Paso 1 – Descargar Debian

Lo primero que hay que a hacer es ir a la página de descargas de Debian, la versión más actual, está en http://cdimage.debian.org/debian-cd/current/

Debian siempre está disponible para una gran cantidad de arquitecturas, yo voy a usar versión para 64 bits, entonces vamos a amd64, luego seleccionamos iso-dvd y descargamos el primer DVD.

La versión actual es Debian 10.1 (octubre de 2019), cada cierto tiempo las imágenes ISO se actualizan, vale la pena descargar una imagen actualizada, si instalamos una versión previa, lo primer que va a hacer el sistema es actualizarse, algo que va a tardar mucho tiempo y va a necesitar una buena conexión a internet.

La ISOla pueden bajar directamente desde este enlace

Paso 2 – Descargar Rufus

Una vez descargada la ISO, vamos a copiarla en una USB, pero necesitamos que sea boteable, para ellos vamos a necesitar Rufus.

Rufus es una utilidad permite formatear y crear soportes USB de arranque. Por cierto, los linuxseros más puros pueden sentirse bien, Rufus está liberado la Licencia Pública General de GNU en su versión 3

Link a Rufus https://github.com/pbatard/rufus/releases/download/v3.8/rufus-3.8.exe

Paso 3 – Preparar la USB

Una vez descargada la ISO, instalado Rufus, se hace fácil preparar la USB, todo en una pantalla

 

Se selecciona la unidad USB, se selecciona la ISO y luego damos clic en empezar, esto toma varios minutos, pero ya estamos listo.

Felicidades, ya tenemos una USB Lista para instalar Debian como servidor

 

El video explicativo de este paso a paso está en YouTube

Instalación de Joomla en Debian 9

Por: Carlos A. Leal S.

Para quienes no lo sepan Joomla! es uno de los sistemas de gestión de contenidos (o CMS, por las siglas en inglés, Content Management System), más utilizados en el mundo. Joomla! permite desarrollar sitios web completos que sean dinámicos e interactivos, Además permite crear, modificar o eliminar contenidos de un sitio web de manera sencilla a través de un «panel de administración». Es un software de código abierto, programado o desarrollado en PHP y liberado bajo Licencia pública general GNU (GPL).

En este paso a paso se explica cómo instalar Joomla 3 en Debian 9 utilizando un servidor LAMP (Linux, Apache, MariaDB, PHP). Instalar Joomla 3 en Debian 9 es fácil, con una buena conexión a Internet debería tomar más de 10 minutos.

Requerimientos

  1. Disponer de un servidor con Debian 9 instalado (bueno eso es obvio)
  2. Haber configurado adecuadamente los parámetros de red
  3. Acceso con un usuario que tenga suficientes privilegios para modificar el sistema
  4. Tener bien configurado el DNS – En este caso vamos a utilizar el dominio hipotético debian.edu.ni

Paso 0 – Actualizar el sistema

Antes que nada es importante asegurarse que el sistema está actualizado

apt-get update -y
apt-get upgrade -y

Paso 1 – Instalar un servidor LAMP

El servidor LAMP es un conjunto de servidores con las funciones más populares que debe tener un servidor de aplicaciones Web. LAMP significa:

L ==> Linux

A ==> Apache, el servidor Web más popular

M ==> MySQL el servidor de bases de datos más popular

P ==> PHP, el lenguaje de programación web de código abierto más popular.

La instalación y configuración del servidor LAMP se explica en esta otra entrada

Sin embargo, la instalación de Joomla requiere algunas configuraciones y configuraciones muy específicas en el PHP, por eso vamos a instalar más componentes

apt-get install php7.0 php7.0-cli php7.0-mcrypt php7.0-intl php7.0-mysql php7.0-curl php7.0-gd php7.0-soap php7.0-xml php7.0-zip php7.0-readline php7.0-opcache php7.0-json php7.0-gd –y

Una vez realizada la instalación se deben hacer algunos ajustes en el archivo php.ini

nano -c /etc/php/7.0/apache2/php.ini

Lo dejamos así

#Línea 389
memory_limit = 256M

#Línea 656
post_max_size = 32M

#Línea 809
upload_max_filesize = 32M

#Línea 924
date.timezone = America/Managua

Por supuesto que es más que necesario reinicar apache

systemctl restart apache2

Paso 2 – Configurar MariaDB para Joomla

Es necesario iniciar sesión en MariaDB y crear una base de datos

mysql -u root –p

Una vez adentro hay que crear la base de datos

CREATE DATABASE joomla character set utf8 collate utf8_bin;

Luego establecer los permisos

GRANT ALL PRIVILEGES on joomla.* to 'juser'@'localhost' identified by 'Tu$Password!';

Luego aplicar la configuración

FLUSH PRIVILEGES;

Finalmente salir

exit

Paso 3 – Instalar Joomla

Se debe descargar la versión más reciente del Joomla desde su sitio web oficial, al momento de escribir este paso a paso (3 de mayo de 2019), Joomla estaba en la versión 3.9.5

wget https://downloads.joomla.org/es/cms/joomla3/3-9-5/Joomla_3-9-5-Stable-Full_Package.zip

Una vez descargado el archivo vamos a descomprimirlo dentro del directorio principal de apache

mkdir /var/www/html/joomla
unzip -q Joomla_3-9-5-Stable-Full_Package.zip -d /var/www/html/joomla

Ajustar permisos

sudo chown -R www-data:www-data /var/www/html/joomla
sudo chmod -R 777 /var/www/html/joomla

Lo mejor es crear un archivo de configuración de hostvirtual de apache

nano /etc/apache2/sites-available/joomla.conf

 

Lo dejamos así

<VirtualHost *:80>
ServerAdmin admin@debian.edu.ni
DirectoryIndex index.php
DocumentRoot /var/www/html/joomla
ServerName 192.168.10.10
ServerAlias www.debian.edu.ni

<Directory /var/www/html/joomla>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/joomla-error_log
CustomLog /var/log/apache2/joomla-access_log common
</VirtualHost>

Ahora hay que habilitar el nuevo sitio

a2ensite joomla

Esta configuración permite disponer de dos sitios web, uno principal y otro secundario, en este caso el de joomla, se debe notar que el sitio de joomla contesta con el nombre http://www.debian.edu.ni y nada más. Si es necesario se puede deshabilitar el sitio principal, esta parte es opcional y depende de cada caso.

sudo a2dissite 000-default

Reiniciar apache

systemctl restart apache2

El firewall

Es importante recordar que durante la configuración del servidor LAMP se instaló y configuró el firewall para aceptar conexiones en los puertos 80 y 443, si tienes dudas puedes comprobarlo con

ufw status

Ahora acceder desde un navegador web con la dirección IP o nombre del dominio, yo voy a usar Firefox directamente desde el servidor y voy a escribir el nombre de dominio. Es decir http://www.ubuntu.edu.ni, aparece algo así

Aparece en español porque el instalador detecta el idioma que tenga el navegador, el resto de la instalación se hace en modo gráfico completando los campos en el navegador

Se debe tener cuidado con el nombre de usuario y la contraseña elegida, si la olvida tendrá que instalar todo nuevamente.

Con respecto a la base de datos, se utiliza el nombre de usuario, contraseña y base de datos que se creó en MariaDB

 

También existe la posibilidad de instalar datos de ejemplo

Una vez completada la instalación es buen momento para instalar idiomas

Lo único que hay que hacer es buscar el paquete de idioma español de la lista e instalarlo

Por cierto, Joomla permite tener características multi-idioma, tanto para la administración como para el sitio

Por motivos de seguridad se debe eliminar la carpeta de instalación

¡Listo! Ya tenemos un sitio web con Joomla

 

Para iniciar sesión como administrador se necesita agregar /administrator al final del nombre de dominio

Muchas Felicidades, ya lo tenemos configurado

Fuentes

https://www.howtoforge.com/tutorial/how-to-install-joomla-on-debian-9/

https://www.rosehosting.com/blog/how-to-install-joomla-3-on-debian-9/#2-Install-PHP-70

https://www.inmotionhosting.com/support/edu/joomla-35/getting-started/how-to-log-in-to-administrative-dashboard