= debian 12 "bookworm" + KDE == first install * sudo apt install git simplescreenrecorder clamtk remmina flameshot vim curl python3 python3-dev python3-pip python-is-python3 python3-requests build-essential openssh-server libreoffice bat tilix usbutils * compilació: sudo apt install -y linux-headers-$(uname -r) build-essential bc dkms git libelf-dev rfkill iw * HeidiSQL - https://www.heidisql.com/download.php * docker - https://docs.docker.com/engine/install/debian/ * bitwarden - https://bitwarden.com/download/ * oracle virtualbox - https://www.virtualbox.org/wiki/Linux_Downloads * code - https://code.visualstudio.com/download * dropbox - https://www.dropbox.com/en_GB/install-linux == services https://wiki.fidmag.org/fidmag:receptes:linuxserver === ntp sudo apt install -y ntp sudo ln -s /usr/share/zoneinfo/Etc/UTC localtime_old sudo unlink /etc/localtime sudo ln -s /usr/share/zoneinfo/Europe/Andorra /etc/localtime sudo systemctl restart ntp.service == IP === canvi IP * [[linux:tcpip:ips#debian_13]] === canvi hostname sudo vim /etc/hostname === IPv6 disable # comprobar estat ip a | grep inet6 # desactivar inmediatament sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1 # persistencia (solo activa tras un reboot) echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv6.conf.lo.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf === IPv4 forward disable # comprobar estat sysctl net.ipv4.ip_forward # desactivar inmediatament sudo sysctl -w net.ipv4.ip_forward=0 # persistència cho "net.ipv4.ip_forward=0" | sudo tee -a /etc/sysctl.conf == seguridad * instalar librería contraseñas en diccionario:sudo apt install libpam-cracklib * añadir/reemplazar:password requisite pam_cracklib.so retry=3 minlen=8 difok=3 * parámetros: * retry: número de intentos antes de que el sistema devuelva un error en la autenticación y nos expulse. * minlen: es la longitud mínima de la contraseña, por defecto está en 8 caracteres. * difok: número de caracteres diferentes que debe tener la nueva clave en comparación con la antigua. * ucredit: caracteres en mayúscula que debe tener como mínimo o máximo. * lcredit: caracteres en minúscula que debe tener como mínimo o máximo. * dcredit: el número de dígitos que debe tener como mínimo o máximo. * ocredit: el número de otros caracteres (símbolos) que debe tener la clave como mínimo o máximo. * para los credit: * lcredit=-2 : significa que como mínimo debe tener 2 caracteres en minúscula. * lcredit=+2 : significa que como máximo debe tener 2 caracteres en minúscula. * expira la contaseña y obliga a cambio en próximo login:paswd -e * caducidad:passwd -w 5 -x 30-i 1 * **w**: aviso X dias antes de la caducidad * **x**: expira cada X dias * **i**: desactiva la cuenta a los X dias si no ha habido cambio de contraseña. Solo root puede reactivar. /via:[[https://www.redeszone.net/tutoriales/seguridad/configurar-politica-contrasenas-debian/]] === ufw sudo apt install -y ufw sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo sed -i s/IPV6=yes/IPV6=no/g /etc/default/ufw sudo ufw enable sudo ufw status sudo ufw app list /via: [[https://community.hetzner.com/tutorials/simple-firewall-management-with-ufw]] === ssh /via: [[https://community.hetzner.com/tutorials/securing-ssh]] Protocol 2 # disables protocol 1 LoginGraceTime 30 # tiempo disponible para teclear usuario y contraseña AllowTcpForwarding no # Disables port forwarding. X11Forwarding no # Disables remote GUI view. AllowAgentForwarding no # Disables the forwarding of the SSH login. MaxAuthTries 2 MaxSessions 5 AllowUsers fidmag ClientAliveInterval 300 # Timeout por inactividad ClientAliveCountMax 1 # cliente ssh que no responde PermitRootLogin no sudo sshd -t # test configuration sudo systemctl restart sshd === fail2ban sudo apt install -y fail2ban sudo systemctl enable fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vim /etc/fail2ban/jail.local # add enabled = true in [sshd] section === su sudo groupadd su sudo usermod -a -G su fidmag sudo dpkg-statoverride --update --add root su 4750 /bin/su /via: [[https://www.techrepublic.com/article/how-to-limit-access-to-the-su-command-in-linux/]] == KDE {{.:pasted:20260530-043921.png}} {{.:pasted:20260530-043939.png}}