23 Għajnuniet dwar is-Sigurtà dwar it-Twebbs tas-Server CentOS - Parti 2


Tkompli t-tutorja preċedenti dwar Kif Tiżgura u Harden is-server CentOS, f'dan l-artikolu, aħna ser niddiskutu pariri oħra dwar is-sigurtà li se jiġu ppreżentati fil-lista ta 'kontroll hawn taħt.

  1. 20 Suġġeriment dwar is-Sigurtà dwar it-Twebbs tas-Server CentOS – Parti 1

21. Iddiżattiva Kmandi SUID u SGID inutli

Jekk il-bits setuid u setgid huma ssettjati fuq programmi binarji, dawn il-kmandi jistgħu jmexxu kompiti bi drittijiet oħra tal-utent jew tal-grupp, bħal privileġġi tal-għeruq li jistgħu jesponu kwistjonijiet serji ta 'sigurtà.

Spiss, attakki ta 'qabża tal-buffer jistgħu jisfruttaw tali binarji eżekutibbli biex imexxu kodiċi mhux awtorizzat bid-drittijiet ta' utent tal-qawwa tal-għeruq.

# find /  -path /proc -prune -o -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

Biex tneħħi l-bit setuid eżegwixxi l-kmand hawn taħt:

# chmod u-s /path/to/binary_file

Biex tneħħi s-setgid bit ħaddem il-kmand hawn taħt:

# chmod g-s /path/to/binary_file

22. Iċċekkja għal Fajls u Direttorji Unowned

Fajls jew direttorji li mhumiex proprjetà ta' kont validu għandhom jitħassru jew jiġu assenjati b'permessi minn utent u grupp.

Oħroġ il-kmand issib hawn taħt biex telenka fajls jew direttorji mingħajr utent u grupp.

# find / -nouser -o -nogroup -exec ls -l {} \;

23. Lista Fajls li jistgħu jinkitbu mid-dinja

Iż-żamma ta 'fajl li jista' jinkiteb fid-dinja fuq is-sistema tista 'tkun perikoluża minħabba l-fatt li kulħadd jista' jimmodifikahom. Eżegwixxi l-kmand ta' hawn taħt sabiex turi fajls li jistgħu jinkiteb bil-kelma, ħlief Symlinks, li dejjem jistgħu jinkiteb mid-dinja.

# find / -path /proc -prune -o -perm -2 ! -type l –ls

24. Oħloq Passwords qawwija

Oħloq password ta' minimu ta' tmien karattri. Il-password għandu jkun fiha ċifri, karattri speċjali, u ittri kbar. Uża pwmake biex tiġġenera password ta' 128 bit mill-fajl /dev/urandom.

# pwmake 128

25. Applika Politika ta' Password Qawwija

Ġiegħel lis-sistema tuża passwords b'saħħithom billi żżid il-linja ta' hawn taħt fil-fajl /etc/pam.d/passwd.

password required pam_pwquality.so retry=3

B'żieda tal-linja ta 'hawn fuq, il-password imdaħħla ma jistax ikun fiha aktar minn 3 karattri f'sekwenza monotonika, bħal abcd, u aktar minn 3 karattri konsekuttivi identiċi, bħal 1111.

Biex iġiegħel lill-utenti jużaw password b'tul minimu ta' 8 karattri, inklużi l-klassijiet kollha ta' karattri, verifika tas-saħħa għal sekwenzi ta' karattri u karattri konsekuttivi żid il-linji li ġejjin mal-fajl /etc/security/pwquality.conf.

minlen = 8
minclass = 4
maxsequence = 3
maxrepeat = 3

26. Uża Password Aging

Il-kmand chage jista 'jintuża għat-tixjiħ tal-password tal-utent. Biex tissettja l-password tal-utent biex tiskadi f'45 jum, uża l-kmand li ġej:

# chage -M 45 username

Biex tiddiżattiva l-ħin tal-iskadenza tal-password uża l-kmand:

# chage -M -1 username

Forza l-iskadenza immedjata tal-password (l-utent irid ibiddel il-password mal-login li jmiss) billi tħaddem il-kmand li ġej:

# chage -d 0 username

27. Lock Accounts

Il-kontijiet tal-utent jistgħu jissakkru billi tesegwixxi l-kmand passwd jew usermod:

# passwd -l username
# usermod -L username

Biex tiftaħ kontijiet uża l-għażla -u għall-kmand passwd u l-għażla -U għal usermod.

28. Prevenzjoni tal-Kontijiet Shell Aċċess

Biex tevita li kont tas-sistema (kont ordinarju jew kont tas-servizz) jikseb aċċess għal bash shell, ibdel il-qoxra tal-għeruq għal /usr/sbin/nologin jew /bin/false fil-fajl /etc/passwd billi toħroġ il-kmand hawn taħt:

# usermod -s /bin/false username

Biex tbiddel il-qoxra meta toħloq utent ġdid agħti l-kmand li ġej:

# useradd -s /usr/sbin/nologin username

29. Lock Virtual User Console b'vlock

vlock huwa programm użat biex jissakkar sessjoni multipla waħda fuq console Linux. Installa l-programm u ibda tissakkar is-sessjoni tat-terminal tiegħek billi tħaddem il-kmandi hawn taħt:

# yum install vlock
# vlock

30. Uża Sistema Ċentralizzata biex timmaniġġja l-Kontijiet u l-Awtentikazzjoni

L-użu ta 'sistema ta' awtentikazzjoni ċentralizzata jista 'jissimplifika bil-kbir il-ġestjoni u l-kontroll tal-kont. Servizzi li jistgħu joffru dan it-tip ta’ ġestjoni tal-kontijiet huma IPA Server, LDAP, Kerberos, Microsoft Active Directory, Nis, Samba ADS jew Winbind.

Xi wħud minn dawn is-servizzi huma awtomatikament siguri ħafna bi protokolli kriptografiċi u kriptografija b'ċavetta simetrika, bħal Kerberos.

31. Forza l-Immuntar ta' Qari Biss ta' USB Media

Bl-użu tal-utilità blockdev tista' ġġiegħel il-midja kollha li tista' titneħħa tiġi mmuntata bħala li tinqara biss. Pereżempju, oħloq fajl ta' konfigurazzjoni udev ġdid bl-isem 80-readonly-usb.rules fid-direttorju /etc/udev/rules.d/ bil-kontenut li ġej:

SUBSYSTEM=="block",ATTRS{removable}=="1",RUN{program}="/sbin/blockdev --setro %N"

Imbagħad, applika r-regola bil-kmand hawn taħt:

# udevadm control -reload

32. Iddiżattivazzjoni tal-Aċċess għall-Għerq permezz tat-TTY

Biex tevita li l-kont root milli jwettaq il-login tas-sistema permezz tal-apparati kollha tal-console (TTY), ħassar il-kontenut tal-fajl tas-sigurtà billi ttajpja t-terminal tal-kmand li ġej bħala root.

# cp /etc/securetty /etc/securetty.bak
# cat /dev/null > /etc/securetty

Ftakar li din ir-regola ma tapplikax għal sessjonijiet ta' login SSH
Biex tipprevjeni l-login tal-għeruq permezz ta' SSH editja l-fajl /etc/ssh/sshd_config u żid il-linja hawn taħt:

PermitRootLogin no

33. Uża POSIX ACLs biex Tespandi l-Permessi tas-Sistema

Listi ta' Kontroll ta' Aċċess jistgħu jiddefinixxu drittijiet ta' aċċess għal aktar minn sempliċiment utent jew grupp wieħed u jistgħu jispeċifikaw drittijiet għal programmi, proċessi, fajls u direttorji. Jekk issettja ACL fuq direttorju, id-dixxendenti tiegħu jirtu l-istess drittijiet awtomatikament.

Pereżempju,

# setfacl -m u:user:rw file
# getfacl file

34. Issettja SELinux fil-Modalità Enforce

It-titjib SELinux għall-kernel Linux jimplimenta l-politika ta 'Kontroll ta' Aċċess Mandatorju (MAC), li tippermetti lill-utenti jiddefinixxu politika ta 'sigurtà li tipprovdi permessi granulari għall-utenti, programmi, proċessi, fajls u apparati kollha.

Id-deċiżjonijiet tal-kontroll tal-aċċess tal-kernel huma bbażati fuq il-kuntest kollu rilevanti għas-sigurtà u mhux fuq l-identità tal-utent awtentikata.

Biex tikseb l-istatus ta 'Selinux u tinforza l-politika mexxi l-kmandi ta' hawn taħt:

# getenforce
# setenforce 1
# sestatus

35. Installa Utilitajiet Addizzjonali SELinux

Installa pakkett policycoreutils-python li jipprovdi utilitajiet Python addizzjonali għat-tħaddim ta' SELinux: audit2allow, audit2why, chcat, u semanage.

Biex turi l-valuri booleani kollha flimkien ma' deskrizzjoni qasira, uża l-kmand li ġej:

# semanage boolean -l

Pereżempju, biex turi u tissettja l-valur ta' httpd_enable_ftp_server, mexxi l-kmand hawn taħt:

# getsebool httpd_enable_ftp_server

Biex tagħmel il-valur ta' boolean jippersisti matul reboots, speċifika l-għażla -P għal setsebool, kif muri fl-eżempju li ġej:

# setsebool -P httpd_enable_ftp_server on

36. Uża Centralized Log Server

Ikkonfigura rsyslog daemon biex jibgħat messaġġi ta' log ta' utilitajiet sensittivi lil server ta' log ċentralizzat. Ukoll, tissorvelja fajls log bl-għajnuna ta 'utilità logwatch.

Li tibgħat messaġġi log lil server remot jassigura li ladarba s-sistema tkun ġiet kompromessa, l-utenti malizzjużi ma jistgħux jaħbu kompletament l-attività tagħhom, dejjem iħallu traċċi fuq fajls log remoti.

37. Attiva l-Kontabilità tal-Proċess

Ippermetti l-kontabilità tal-proċess billi tinstalla l-utilità psacct u uża l-kmand lastcomm biex turi informazzjoni dwar kmandi esegwiti qabel kif irreġistrat fil-fajl tal-kontabilità tas-sistema u sa biex tiġbor fil-qosor l-informazzjoni dwar kmandi esegwiti qabel kif irreġistrat fil-fajl tal-kontabilità tas-sistema.

38. Twebbes /etc/sysctl.conf

Uża r-regoli tal-parametri tal-kernel li ġejjin biex tipproteġi s-sistema:

net.ipv4.conf.all.accept_source_route=0
ipv4.conf.all.forwarding=0
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Iddiżattiva l-aċċettazzjoni u l-bgħit ta' pakketti diretti mill-ġdid ICMP sakemm ma jkunx meħtieġ speċifikament.

net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.all.rp_filter=2

Injora t-talbiet kollha ta' eku ICMP (issettjat għal 1 biex tkun attiva)

net.ipv4.icmp_echo_ignore_all = 0

39. Uża Servizzi VPN biex taċċessa l-bini tiegħek fuq Netwerks Pubbliċi Mhux Protetti

Dejjem uża servizzi VPN għat-trasportaturi biex jaċċessaw mill-bogħod il-bini tal-LAN fuq l-Internet. Tali tipi ta’ servizzi jistgħu jiġu kkonfigurati bl-użu ta’ soluzzjoni b’xejn ta’ sors miftuħ, bħal Epel Repositories).

40. Wettaq Skanjar tas-Sistema Esterna

Evalwa s-sigurtà tas-sistema tiegħek għal vulnerabbiltajiet billi tiskennja s-sistema minn punti remoti fuq il-LAN tiegħek billi tuża għodod speċifiċi bħal:

  1. Nmap – skaner tan-netwerk 29 Eżempji ta' Kmand Nmap
  2. Nessus – skaner tas-sigurtà
  3. OpenVAS – użat biex jiskennja għal vulnerabbiltajiet u għal ġestjoni komprensiva tal-vulnerabbiltà.
  4. Nikto – scanner ta' skripts ta' interface komuni ta' gateway (CGI) eċċellenti Skennjar tal-Web Vulnerabbiltà fil-Linux

41. Ipproteġi s-Sistema Internament

Uża l-protezzjoni tas-sistema interna kontra viruses, rootkits, malware, u, bħala prattika tajba, installa sistemi ta' skoperta ta' intrużjoni li jistgħu jiskopru attività mhux awtorizzata (attakki DDOS, skans tal-port), bħal:

  1. AIDE – Ambjent ta' Sejbien ta' Intrużjoni Avvanzata – http://aide.sourceforge.net/
  2. ClamAV – Skaner Antivirus https://www.clamav.net
  3. Rkhunter – Rootkit Scanner
  4. Lynis – Għodda ta' Awditjar u Skanjar tas-Sigurtà għal Linux
  5. Tripwire – Sigurtà u Integrità tad-Dejta http://www.tripwire.com/
  6. Fail2Ban – Prevenzjoni tan-Netwerk tal-Intrużjoni
  7. OSSEC – (HIDS) Sistema ta' Sejbien ta' Intrużjoni bbażata fuq l-Ospitanti http://ossec.github.io/
  8. Mod_Security – Ipproteġi l-Attakki tal-Forza Bruta jew DDoS

42. Immodifika Varjabbli tal-Ambjent tal-Utent

Ehmeż il-format tad-data u l-ħin biex taħżen l-eżekuzzjoni tal-kmandi billi toħroġ il-kmand hawn taħt:

# echo 'HISTTIMEFORMAT="%d/%m/%y  %T  "' >> .bashrc'

Imġiegħla tirreġistra istantanjament HISTFILE kull darba li jiġi ttajpjat kmand (minflok logout):

# echo ‘PROMPT_COMMAND="history -a"’ >> .bashrc

Illimita s-sessjoni tal-login tal-timeout. Waqqa 'l-qoxra awtomatikament meta ma titwettaq l-ebda attività matul perjodu ta' ħin inattiv. Utli ħafna biex tiskonnettja awtomatikament is-sessjonijiet SSH.

# echo ‘TMOUT=120’ >> .bashrc

Applika r-regoli kollha billi tesegwixxi:

# source .bashrc

43. Data tal-Backup

Uża snapshots LVM, eċċ sabiex taħżen kopja tas-sistema tiegħek, preferibbilment barra mis-sit, f'każ ta' ħsara fis-sistema.

Jekk is-sistema tiġi kompromessa tista 'twettaq ir-restawr tad-dejta minn backups preċedenti.

Fl-aħħarnett, tinsiex li tkun kemm tieħu miżuri ta' sigurtà u kontra-miżuri biex iżżomm is-sistema tiegħek sigura, qatt m'int se tkun 100% kompletament sigur sakemm il-magna tiegħek tkun imdaħħla u mixgħula.