25 consells de seguretat per a servidors Linux


Tothom diu que Linux és segur per defecte i està d'acord en certa mesura (són temes discutibles). Tanmateix, Linux té un model de seguretat integrat per defecte. Cal ajustar-lo i personalitzar-lo segons les vostres necessitats, cosa que pot ajudar a fer un sistema més segur. Linux és més difícil de gestionar, però ofereix més flexibilitat i opcions de configuració.

Protegir un sistema en una producció de mans de pirates informàtics i crackers és una tasca difícil per a un administrador del sistema. Aquest és el nostre primer article relacionat amb Com protegir una caixa Linux o Endurir una caixa Linux. En aquesta publicació explicarem 25 consells i trucs útils per protegir el vostre sistema Linux. Espero que els consells i trucs següents us ajudin a estendre's per protegir el vostre sistema.

1. Seguretat del sistema físic

Configureu la BIOS per desactivar l'arrencada des de CD/DVD, dispositius externs, disquetera a la BIOS. A continuació, activeu la contrasenya de la BIOS i també protegiu GRUB amb contrasenya per restringir l'accés físic al vostre sistema.

  1. Definiu la contrasenya de GRUB per protegir els servidors Linux

2. Particions de disc

És important tenir diferents particions per obtenir una major seguretat de les dades en cas que es produeixi algun desastre. En crear diferents particions, les dades es poden separar i agrupar. Quan es produeix un accident inesperat, només es danyaran les dades d'aquesta partició, mentre que les dades d'altres particions sobreviuen. Assegureu-vos que heu de tenir les següents particions separades i que les aplicacions de tercers s'han d'instal·lar en sistemes de fitxers separats a /opt.

/
/boot
/usr
/var
/home
/tmp
/opt

3. Minimitzar paquets per minimitzar la vulnerabilitat

Realment voleu instal·lar tot tipus de serveis?. Es recomana evitar la instal·lació de paquets inútils per evitar vulnerabilitats als paquets. Això pot minimitzar el risc que el compromís d'un servei pugui comportar el compromís d'altres serveis. Cerqueu i suprimiu o desactiveu serveis no desitjats del servidor per minimitzar la vulnerabilitat. Utilitzeu l'ordre chkconfig per esbrinar els serveis que s'executen al nivell d'execució 3.

# /sbin/chkconfig --list |grep '3:on'

Un cop hàgiu descobert que s'està executant algun servei no desitjat, desactiveu-los mitjançant l'ordre següent.

# chkconfig serviceName off

Utilitzeu el gestor de paquets RPM com les eines yum o apt-get per llistar tots els paquets instal·lats en un sistema i eliminar-los mitjançant l'ordre següent.

# yum -y remove package-name
# sudo apt-get remove package-name

  1. 5 exemples d'ordres chkconfig
  2. 20 exemples pràctics d'ordres RPM
  3. 20 ordres YUM de Linux per a la gestió de paquets de Linux
  4. 25 ordres APT-GET i APT-CACHE per gestionar la gestió de paquets

4. Comproveu els ports de xarxa d'escolta

Amb l'ajuda de l'ordre de xarxa netstat, podeu veure tots els ports oberts i els programes associats. Com he dit anteriorment, utilitzeu l'ordre chkconfig per desactivar tots els serveis de xarxa no desitjats del sistema.

# netstat -tulpn

  1. 20 ordres de Netstat per a la gestió de xarxes a Linux

5. Utilitzeu Secure Shell (SSH)

Els protocols Telnet i rlogin utilitzen text sense format, no format xifrat, que són les infraccions de seguretat. SSH és un protocol segur que utilitza tecnologia de xifratge durant la comunicació amb el servidor.

No inicieu sessió directament com a root tret que sigui necessari. Utilitzeu sudo per executar ordres. sudo s'especifiquen al fitxer /etc/sudoers també es poden editar amb la utilitat visudo que s'obre a l'editor VI.

També es recomana canviar el número de port SSH 22 predeterminat amb un altre número de port de nivell superior. Obriu el fitxer de configuració SSH principal i feu alguns paràmetres següents per restringir l'accés dels usuaris.

# vi /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers username
Protocol 2

  1. 5 millors pràctiques per protegir i protegir el servidor SSH

6. Mantingueu el sistema actualitzat

Manteniu sempre el sistema actualitzat amb els darrers pedaços de les versions, les correccions de seguretat i el nucli quan estigui disponible.

# yum updates
# yum check-update

7. Cronjobs de confinament

Cron té la seva pròpia funció integrada, on permet especificar qui pot i qui no vol executar treballs. Això es controla mitjançant l'ús de fitxers anomenats /etc/cron.allow i /etc/cron.deny. Per bloquejar un usuari amb cron, només cal que afegiu noms d'usuari a cron.deny i permetre que un usuari executi cron add al fitxer cron.allow. Si voleu desactivar que tots els usuaris utilitzin cron, afegiu la línia ALL al fitxer cron.deny.

# echo ALL >>/etc/cron.deny

  1. 11 exemples de programació de Cron a Linux

8. Desactiveu la memòria USB per detectar

Moltes vegades passa que volem restringir que els usuaris facin servir la memòria USB en sistemes per protegir i protegir les dades del robatori. Creeu un fitxer /etc/modprobe.d/no-usb i afegir la línia a continuació no detectarà l'emmagatzematge USB.

install usb-storage /bin/true

9. Enceneu SELinux

Security-Enhanced Linux (SELinux) és un mecanisme de seguretat de control d'accés obligatori proporcionat al nucli. Desactivar SELinux significa eliminar el mecanisme de seguretat del sistema. Penseu-hi dues vegades abans d'eliminar-lo, si el vostre sistema està connectat a Internet i hi accedeix el públic, penseu-hi més.

SELinux ofereix tres modes bàsics de funcionament i ho són.

  1. Aplicació: aquest és el mode predeterminat que activa i aplica la política de seguretat de SELinux a la màquina.
  2. Permissiu: en aquest mode, SELinux no aplicarà la política de seguretat al sistema, només avisarà i registrarà accions. Aquest mode és molt útil per resoldre problemes relacionats amb SELinux.
  3. Desactivat: SELinux està desactivat.

Podeu veure l'estat actual del mode SELinux des de la línia d'ordres mitjançant les ordres system-config-selinux, getenforce o sestatus.

# sestatus

Si està desactivat, activeu SELinux amb l'ordre següent.

# setenforce enforcing

També es pot gestionar des del fitxer /etc/selinux/config, on el podeu activar o desactivar.

10. Elimina els escriptoris KDE/GNOME

No cal executar escriptoris X Window com KDE o GNOME al vostre servidor LAMP dedicat. Podeu eliminar-los o desactivar-los per augmentar la seguretat del servidor i el rendiment. Per desactivar, obriu el fitxer /etc/inittab i configureu el nivell d'execució a 3. Si voleu eliminar-lo completament del sistema, utilitzeu l'ordre següent.

# yum groupremove "X Window System"

11. Apagueu IPv6

Si no feu servir un protocol IPv6, hauríeu de desactivar-lo perquè la majoria de les aplicacions o polítiques no requereixen el protocol IPv6 i actualment no ho requereix al servidor. Aneu al fitxer de configuració de xarxa i afegiu les línies següents per desactivar-lo.

# vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no

12. Restringeix els usuaris a utilitzar contrasenyes antigues

Això és molt útil si voleu impedir que els usuaris utilitzin les mateixes contrasenyes antigues. El fitxer de contrasenya antic es troba a /etc/security/opasswd. Això es pot aconseguir mitjançant el mòdul PAM.

Obriu el fitxer /etc/pam.d/system-auth a RHEL/CentOS/Fedora.

# vi /etc/pam.d/system-auth

Obriu el fitxer /etc/pam.d/common-password a Ubuntu/Debian/Linux Mint.

# vi /etc/pam.d/common-password

Afegiu la línia següent a la secció auth.

auth        sufficient    pam_unix.so likeauth nullok

Afegiu la línia següent a la secció contrasenya per impedir que un usuari reutilitzi les 5 últimes contrasenyes de la seva.

password   sufficient    pam_unix.so nullok use_authtok md5 shadow remember=5

El servidor només recorda les 5 últimes contrasenyes. Si heu provat d'utilitzar alguna de les 5 últimes contrasenyes antigues, obtindreu un error com.

Password has been already used. Choose another.

13. Com comprovar la caducitat de la contrasenya de l'usuari

A Linux, les contrasenyes de l'usuari s'emmagatzemen al fitxer /etc/shadow en format xifrat. Per comprovar la caducitat de la contrasenya de l'usuari, heu d'utilitzar l'ordre chage. Mostra informació sobre els detalls de caducitat de la contrasenya juntament amb la data de l'últim canvi de contrasenya. Aquests detalls són utilitzats pel sistema per decidir quan un usuari ha de canviar la seva contrasenya.

Per veure la informació d'edat de qualsevol usuari existent, com ara la data i l'hora de caducitat, utilitzeu l'ordre següent.

#chage -l username

Per canviar l'antiguitat de la contrasenya de qualsevol usuari, utilitzeu l'ordre següent.

#chage -M 60 username
#chage -M 60 -m 7 -W 7 userName

  1. -M Estableix el nombre màxim de dies
  2. -m Estableix el nombre mínim de dies
  3. -W Estableix el nombre de dies d'avís

14. Bloqueja i desbloqueja el compte manualment

Les funcions de bloqueig i desbloqueig són molt útils, en lloc d'eliminar un compte del sistema, podeu bloquejar-lo durant una setmana o un mes. Per bloquejar un usuari específic, podeu utilitzar l'ordre follow.

# passwd -l accountName

Nota: l'usuari bloquejat encara està disponible només per a l'usuari root. El bloqueig es realitza substituint la contrasenya xifrada per una cadena (!). Si algú intenta accedir al sistema amb aquest compte, rebrà un error semblant al següent.

# su - accountName
This account is currently not available.

Per desbloquejar o habilitar l'accés a un compte bloquejat, utilitzeu l'ordre com. Això eliminarà (!) la cadena amb la contrasenya xifrada.

# passwd -u accountName

15. Aplicació de contrasenyes més fortes

Alguns usuaris utilitzen contrasenyes suaus o febles i la seva contrasenya pot ser piratejada amb un diccionari o atacs de força bruta. El mòdul pam_cracklib està disponible a la pila de mòduls PAM (Pluggable Authentication Modules) que obligarà l'usuari a establir contrasenyes fortes. Obriu el fitxer següent amb un editor.

Llegeix també:

# vi /etc/pam.d/system-auth

I afegiu una línia utilitzant paràmetres de crèdit com (lcredit, ucredit, dcredit i/o ocredit, respectivament, minúscules, majúscules, dígits i altres)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. Habilita Iptables (tallafoc)

És molt recomanable habilitar el tallafoc de Linux per assegurar l'accés no autoritzat als vostres servidors. Apliqueu regles a iptables per filtrar paquets entrants, sortints i reenviats. Podem especificar l'adreça d'origen i destinació per permetre i denegar en un número de port udp/tcp específic.

  1. Guia i consells bàsics d'IPTables

17. Desactiveu Ctrl+Alt+Suprimir a Inittab

A la majoria de distribucions de Linux, prémer CTRL-ALT-DELETE farà que el vostre sistema reiniciï el procés. Per tant, no és una bona idea tenir aquesta opció activada almenys als servidors de producció, si algú ho fa per error.

Això es defineix al fitxer '/etc/inittab', si mireu bé en aquest fitxer veureu una línia semblant a la següent. Per defecte, la línia no està comentada. Ho hem de comentar. Aquesta senyalització de seqüència de tecles en particular tancarà un sistema.

# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

18. Comprovació de comptes per contrasenyes buides

Qualsevol compte que tingui una contrasenya buida significa que s'obre per a l'accés no autoritzat a qualsevol persona del web i forma part de la seguretat d'un servidor Linux. Per tant, us heu d'assegurar que tots els comptes tinguin contrasenyes segures i que ningú no tingui accés autoritzat. Els comptes de contrasenya buits són riscos de seguretat i que es poden piratejar fàcilment. Per comprovar si hi havia cap compte amb contrasenya buida, utilitzeu l'ordre següent.

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. Mostra el bàner SSH abans d'iniciar sessió

Sempre és millor tenir un bàner legal o bàners de seguretat amb alguns avisos de seguretat abans de l'autenticació SSH. Per configurar aquests bàners, llegiu l'article següent.

  1. Mostra el missatge d'advertència SSH als usuaris

20. Supervisar les activitats dels usuaris

Si es tracta de molts usuaris, aleshores és important recollir la informació de les activitats i processos de cada usuari que consumeixen i analitzar-los més endavant o en cas que hi hagi algun tipus de rendiment, problemes de seguretat. Però com podem controlar i recopilar informació sobre les activitats dels usuaris.

Hi ha dues eines útils anomenades psacct i acct que s'utilitzen per supervisar les activitats i els processos dels usuaris en un sistema. Aquestes eines s'executen en segon pla del sistema i fan un seguiment contínu de l'activitat de cada usuari en un sistema i els recursos consumits per serveis com Apache, MySQL, SSH, FTP, etc. Per obtenir més informació sobre la instal·lació, la configuració i l'ús, visiteu l'url següent.

  1. Supervisa l'activitat de l'usuari amb les ordres psacct o acct

21. Reviseu els registres regularment

Mou els registres al servidor de registres dedicat, això pot evitar que els intrusos modifiquin fàcilment els registres locals. A continuació es mostren el nom dels fitxers de registre per defecte de Common Linux i el seu ús:

  1. /var/log/message: on hi ha disponibles els registres complets del sistema o els registres d'activitat actuals.
  2. /var/log/auth.log: registres d'autenticació.
  3. /var/log/kern.log: registres del nucli.
  4. /var/log/cron.log: registres de crond (treball cron).
  5. /var/log/maillog: registres del servidor de correu.
  6. /var/log/boot.log: registre d'arrencada del sistema.
  7. /var/log/mysqld.log: fitxer de registre del servidor de bases de dades MySQL.
  8. /var/log/secure: registre d'autenticació.
  9. /var/log/utmp o /var/log/wtmp : fitxer de registres d'inici de sessió.
  10. /var/log/yum.log: fitxers de registre de Yum.

22. Còpia de seguretat de fitxers importants

En un sistema de producció, cal fer una còpia de seguretat dels fitxers importants i mantenir-los a la caixa de seguretat, a un lloc remot o fora del lloc per a la recuperació de desastres.

23. Vinculació NIC

Hi ha dos tipus de modes a l'enllaç NIC, cal esmentar a la interfície d'enllaç.

  1. mode=0 – Round Robin
  2. mode=1: actiu i còpia de seguretat

NIC Bonding ens ajuda a evitar un únic punt de fallada. En l'enllaç NIC, unim dues o més targetes Ethernet de xarxa i fem una única interfície virtual on podem assignar una adreça IP per parlar amb altres servidors. La nostra xarxa estarà disponible en cas que una targeta NIC estigui baixa o no disponible per qualsevol motiu.

24. Mantingueu /boot com a només de lectura

El nucli de Linux i els seus fitxers relacionats es troben al directori /boot, que és per defecte com a lectura-escriptura. Canviar-lo a només lectura redueix el risc de modificacions no autoritzades dels fitxers d'arrencada crítics. Per fer-ho, obriu el fitxer /etc/fstab.

# vi /etc/fstab

Afegiu la línia següent a la part inferior, deseu-la i tanqueu-la.

LABEL=/boot     /boot     ext2     defaults,ro     1 2

Tingueu en compte que heu de restablir el canvi a lectura-escriptura si necessiteu actualitzar el nucli en el futur.

25. Ignoreu l'ICMP o la sol·licitud de difusió

Afegiu la línia següent al fitxer /etc/sysctl.conf per ignorar la sol·licitud de ping o difusió.

Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1

Carregueu nous paràmetres o canvis, executant la següent comanda

#sysctl -p

Si us heu perdut algun consell important de seguretat o d'enduriment a la llista anterior, o teniu qualsevol altre consell que s'hagi d'incloure a la llista. Si us plau, deixeu els vostres comentaris al nostre quadre de comentaris. TecMint sempre està interessat a rebre comentaris, suggeriments i debats per millorar.