Algunas notas al actualizar Debian stretch hacia Buster 10.4 roundcube, bind9 y apache2

Aquí coloco algunas notas de la actualizacion de Debian Stretch hacia Buster. Los problemas con roundcube, apache2 y bind9

La actualizacion la realice con un disco del la version 10.0 para luego actualizar a la 10.4 siempre a traves de un DVD de dicha verison.


Pasando de la 9 a la 10.0


 En primer lugar actualice todos los paquetes de la version 9 Stretch desde Internet.

luego agregue el DVD para actualizar hacia la version 10.0 Buster

# apt-cdrom add

elimine todos los repositorios de la version stretch y solo deje el dvd

# cat /etc/apt/sources.list

deb [ trusted=yes ] cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 DVD Binary-1 20190706-10:24]/ buster contrib main

luego actualizo

# apt update
# apt upgrade
# apt dist-upgrade


El principal problema que tuve fue con el DNS, apache, dovecot y roundcube, dejaron de funcionar
apache funciono desinstalando y volviendo a instalar,

NOTA IMPORTANTE: hay que tener copia de los archivos de configuracion de los paquetes que vas a volver a instalar.

# apt remove apache2 --purge
# apt install apache2

 volvi a instalar dovecot

#  apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-ldap dovecot-managesieved dovecot-sieve

 con roundcube tuve que instalarlo desde cero y no me funcionaba creo que tiene que ver con las versiones de php que estaban instaladas, las desinstale todas e instale la 7.3

el paquete que hizo funcionar el php
# apt-get install apt-transport-https lsb-release ca-certificates

Con esto ya funciono el roundcube.

Para el  DNS cree un nuevo dispositivo y ya funciono.
# mknod /var/bind9/chroot/dev/urandom c 1 9
# chmod 660 /var/bind9/chroot/dev/urandom
# chgrp bind /var/bind9/chroot/dev/urandom

#apt install bind9

Pasando de la 10.0 a la 10.4

El mismo procedimiento agregue el DVD luego actualice
# apt-cdrom add
# cat /etc/apt/sources.list

deb [ trusted=yes ] cdrom:[Debian GNU/Linux 10.4.0 _Buster_ - Official amd64 DVD Binary-1 20200509-10:26]/ buster contrib main

luego actualizo

# apt update
# apt upgrade
# apt dist-upgrade

Aqui solo el DNS me dejo de funcionar pero se me complico hacerlo funcionar, voy a dar los pasos principales

lo primero es remover el bind por completo, pues si solo se actualiza no funciona.
# apt remove bind9 --purge
# apt install bind9

colocamos todos nuestros archivos de configuracion, yo lo tengo configurado con chroot por lo que me toco realizar las siguientes acciones.

#  apt install apparmor

Al revisarlo no funcionaba, pero en otro servidor que actualice antes si quedo activo, pero bueno lo coloco por si les pasa.

# aa-status
apparmor module is loaded.
apparmor filesystem is not mounted.

Para habilitarlo necestas hacer lo siguiente
# mkdir -p /etc/default/grub.d
# echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \ apparmor=1 security=apparmor"'  |  tee /etc/default/grub.d/apparmor.cfg
# update-grub
# reboot

Verificamos y debe aparecer algo como esto
# aa-status
apparmor module is loaded.
9 profiles are loaded.
9 profiles are in enforce mode.
   /usr/bin/man
   /usr/sbin/haveged
   /usr/sbin/mysqld
   /usr/sbin/named
   /usr/sbin/ntpd
   man_filter
   man_groff
   nvidia_modprobe
   nvidia_modprobe//kmod
0 profiles are in complain mode.
3 processes have profiles defined.
3 processes are in enforce mode.
   /usr/sbin/haveged (2673)
   /usr/sbin/mysqld (730)
   /usr/sbin/ntpd (647)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

Instale los sigientes paquetes
# apt install bind9
# apt install haveged

modifique la siguiente linea en el archivo /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"

cree el siguiente archivo /etc/systemd/system/bind9.service
[Unit]
Description=BIND Domain Name Server
Documentation=man:named(8)
After=network.target

[Service]
ExecStart=/usr/sbin/named -f -u bind -t /var/bind9/chroot
ExecReload=/usr/sbin/rndc reload
ExecStop=/usr/sbin/rndc stop

[Install]
WantedBy=multi-user.target

agregue las siguientes lineas al archivo /etc/apparmor.d/local/usr.sbin.named
/var/bind9/chroot/etc/bind/** r,
/var/bind9/chroot/var/** rw,
/var/bind9/chroot/dev/** rw,
/var/bind9/chroot/run/** rw,
/var/bind9/chroot/usr/** rw,

Cree un directorio para colocar el contenido de /usr/share/dns en el chroot
mkdir /var/bind9/chroot/usr/share/dns -p
cp /usr/share/dns/* /var/bind9/chroot/usr/share/dns/
chmod 660 /var/bind9/chroot/usr -Rf
chgrp bind /var/bind9/chroot/usr -Rf

Nota: en el archivo /etc/bind/named.conf.default-zones  bind9 utiliza una nueva ubicacion para la zona root, esto me funciono en uno de los servidores, en el otro no lo pude hacer funcionar y lo deje como lo tenia en la version anterior, de la siguiente forma.

#        file "/usr/share/dns/root.hints";
        file "/etc/bind/db.root";

Reinicie los servicios apparmor y bind9
# systemctl restart apparmor

# systemctl restart bind9
# systemctl status bind9
● bind9.service - BIND Domain Name Server
   Loaded: loaded (/etc/systemd/system/bind9.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/bind9.service.d
           └─chroot.conf
   Active: active (running) since Wed 2020-06-03 15:27:36 CST; 1min 51s ago
     Docs: man:named(8)
 Main PID: 1912 (named)
   CGroup: /system.slice/bind9.service
           └─1912 /usr/sbin/named -f -u bind -t /var/bind9/chroot

jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: D.F.IP6.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: 8.E.F.IP6.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: 9.E.F.IP6.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: A.E.F.IP6.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: B.E.F.IP6.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: EMPTY.AS112.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: automatic empty zone: HOME.ARPA
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: none:106: 'max-cache-size 90%' - setting to 29020MB (out of 32245MB)
jun 03 15:27:36 srvcorreo.ine.com.sv named[1912]: command channel listening on 127.0.0.1#953

hago las pruebas respectivas y me funciona correctamente

# dig dominio.com @ip_de_este_servidor

Espero que les sirva estas notas, saludos y bendiciones.

Fuente:
https://wiki.debian.org/Bind9
https://wiki.debian.org/AppArmor/HowToUse

Comentarios