Reparar inconsistencia en sistema de paquetes apt, yum y rollback de apt upgrade en Ubuntu/Debian
15 de octubre de 2020Ola Hallengren, gurú máximo de SQL Server
18 de noviembre de 2020CONFIGURAR UNATTENTED UPGRADES
apt-get install unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades
apt-get install unattended-upgrades apt-listchanges
– Instalar herramienta fail2ban.
– Instalar antivirus clamav si es necesario.
– Instalar herramienta de auditoria Lynis.
– Instalar herramienta de auditoria auditd.
– Instalar rkhunter si es necesario para malware y rootkits.
– Activar cortafuegos UFW
MONITORIZAR PUERTOS
All UDP/TCP ports — “netstat -atu” / ss -tuln
All listening ports— “netstat -l”
Information for all ports— “netstat -s”
Show hidden ports — “netstat -antp”
SECURIZAR KERNEL
sysctl fs.suid_dumpable=0
net.ipv4.conf.default.rp_filter =1
net.ipv4.conf.all.rp_filter =1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.conf.all.proxy_arp=0
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
sysctl net.ipv4.tcp_rfc1337=1
net.ipv4.conf.all.accept_redirects =0
net.ipv6.conf.all.accept_redirects = 0
fs.protected_hardlinks =0
fs.protected_symlinks =0
net.ipv6.conf.all.disable_ipv6 =1
net.ipv6.conf.default.disable_ipv6 =1
net.ipv6.conf.lo.disable_ipv6 =1
Aplicamos cambios sin reiniciar:
sysctl --system
Otras opciones para sysctl y limits.conf
First, Restrict Core Dumps by:
Add -> hard core 0 to the “/etc/security/limits.conf” file:
Add -> fs.suid_dumpable = 0 to the “/etc/sysctl.conf” file
Configure Exec Shield by:
Add -> kernel.exec-shield = 1 to the “/etc/sysctl.conf” file
Enable randomized Virtual Memory Region Placement by:
Add -> kernel.randomize_va_space = 2 to “/etc/sysctl.conf” file
ACCESO SSH
Change the default port number 22 to something else e.g. 2002.
Make sure that root cannot login remotely through SSH:
/etc/ssh/sshd_config -> PermitRootLogin no
Here are some additional options that you need to make sure exist in the “sshd_config” file:
Protocol2IgnoreRhosts to yes
HostbasedAuthentication no
PermitEmptyPasswords no
X11Forwarding no
MaxAuthTries 5
Ciphers aes128-ctr, aes192-ctr, aes256-ctr
ClientAliveInterval 900
ClientAliveCountMax 0
UsePAM yes
#chown root: root /etc/ssh/sshd_config
#chmod 600 /etc/ssh/sshd_config
AUTENTICACIÓN DOBLE FACTOR A2F
Instalar Google Authenticator PAM y ponerlo en marcha:
apt-get install libpam-google-authenticator google-authenticator
Cuando nos pregunte si las claves de verificación estarán basadas en el tiempo contestamos afirmativamente con una Y.
Ahora nos muestra un código QR para ser reconocido con Google Authenticator desde tu smartphone, otra opción es introducir la clave secreta directamente desde la app (es la que en el PC nos aparecía como “Your new secret is:”).
Y nos dará una serie de códigos por si no llevamos el smartphone encima y que sería bueno tenerlos presente.
Y seguimos contestado con y o n según nuestras preferencias.
Ahora abrimos (con nano, gedit, o tu editor de texto favorito) el fichero de configuración con:
sudo gedit /etc/pam.d/lightdm
Y añadimos la línea:
auth required pam_google_authenticator.so nullok
Guardamos y la próxima ver que inicies sesión nos pedirá la clave de verificación que nos generará nuestro móvil.
Si un día quieres quitar la verificación en dos pasos, solo tienes que borrar la línea “auth required pam_google_authenticator.so nullok” del fichero /etc/pam.d/lightdmVerify
No Accounts Have Empty Passwords? Type the following command
# awk -F: '($2 == "\") {print}' /etc/shadow
Lock all empty password accounts:
# passwd -l accountNameNo Non-Root Accounts Have UID Set To 0
Only root account have UID 0 with full permissions to access the system. Type the following command to display all accounts with UID set to 0:
# awk -F: '($3 == "0") {print}' /etc/passwd
You should only see one line as follows :
root:x:0:0:root:/root:/bin/bash
TURN OFF SERVICE AT BOOT TIME
# systemctl disable service
# systemctl START/STOP/RESTART httpd.service
ESTADO DE LOS SERVICIOS
# systemctl status service
# systemctl status httpd.service
VER SERVICIOS ACTIVOS
chkconfig --list | grep '3:on'
PARAR SERVICIOS
# service serviceName stop
# chkconfig serviceName off
TUTORIAL UFW
APLICACIONES
https://www.fail2ban.org/wiki/index.php
http://rkhunter.sourceforge.net/LMD+Clamav
https://www.tecmint.com/install-linux-malware-detect-lmd-in-rhel-centos-and-fedora