V postupoch pre zvýšenie bezpečnosti Linuxu (hardening) je väčšinou aj kontrola práv súborov a adresárov.
# 1.VYHLADANIE SUID A SGID, ULOZENIE MD5SUM - INICIALNY BEH
(find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
-perm /6000 -type f -ls 2>/dev/null ; \
find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
-perm /6000 -type f -print 2>/dev/null | xargs -n 50 md5sum) \
| sort | tee suid_ref
# 2.POROVNAVACI BEH
(find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
-perm /6000 -type f -ls 2>/dev/null ; \
find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
-perm /6000 -type f -print 2>/dev/null | xargs -n 50 md5sum) \
| sort | diff suid_ref - | Mail -s 'SU zmenene' admin@yoursite.com
# 3.KONTROLA SO ZLYM POUZIVATELOM ALEBO GRUPOU (Z INEHO SYSTEMU)
find / -path /proc -prune -o -nouser -o -nogroup -ls 2>/dev/null
# 4.ZAPIS PRE VSETKYCH (NAPR ADRESAR TMP)
find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
-perm -2 ! -type l ! -type c -ls 2>/dev/null
# 5.KONTROLA TEMPU NA EXECUTABLE ALEBO SUID, SGID, LINKY
find /tmp -perm /6111 ! -type d -ls 2>/dev/null
find /tmp '(' -name '.??*' -o -name '.[^.]' ')' -type f -ls 2>/dev/null
# 6.KONTROLA NA PODVRHNUTE ZAKLADNE PRIKAZY ls, cd, grep, su, sudo V INYCH CESTACH
find / '(' -path /snap -o -path /bin -o -path /usr ')' -prune -o \
'(' -name "ls" -o -name "cd" -o -name "grep" -o -name "su" -o -name "sudo" ')' \
-perm -1 -type f -ls 2>/dev/null
Prvé dve vyhľadávania hľadajú súbory s právami suid/sgid, teda spustením preberajúce práva vlastníka/skupiny súboru. Vypíše ako práva a dátumy, tak aj kontrolnú sumu a uloží do "suid_ref" súboru, voči nemu druhý porovnáva zmeny. Analyzovať tak stačí zmeny.
Ignorujú cesty začínajúce /proc, /sys a /snap, sú systémom generované a posledný je read-only.
3. hľadá súbory s neznámym vlastníkom, stáva sa pri rušení používateľov alebo prenose z iného systému
4. hľadá súbory a adresáre so zápisom pre všetkých, očakávané napr. pre /tmp adresár
5. hľadá suid, sgid a executable práva v /tmp, táto kontrola síce nie je dostatočná (spustiť možno aj súbor bez práv na spustenie), avšak ľahko sa kontroluje - nemá nič vrátiť.
6. podvrhnuté náhrady príkazov pre PATH=. , táto cesta by nemusela byť nastavená, ani pre bežného používateľa, nieto root
Find možno použiť aj na konkrétny súbor na kontrolu práv:
# KONTROLA KONKRETNYCH SUBOROV NA NADMERNE PRAVA
for x in /etc/passwd:f:6133 /etc/shadow:f:6137 /etc/fstab:f:6133; do
s=`echo $x | cut -d':' -f1`
t=`echo $x | cut -d':' -f2`
p=`echo $x | cut -d':' -f3`
echo -ne "kontrola $s \t ... "
if [ "`find $s -type $t -perm /$p`" != "" ]; then echo "NOK";
else echo "OK"; fi
done
Žiadne komentáre:
Zverejnenie komentára