NFsec Logo

Slackware 13.37 – /proc/sys/kernel/dmesg_restrict

21/09/2011 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 326, ilość słów: 248)

O

d wersji jądra 2.6.37 wprowadzono mechanizm CONFIG_SECURITY_DMESG_RESTRICT (Restrict unprivileged access to the kernel syslog), który umożliwia określanie, czy zwykli użytkownicy systemu powinni mieć dostęp do polecenia dmesg służącego do wyświetlania informacji z dziennika bufora jądra. Jak zauważył Kees Cook z Ubuntu Security Team – syslog jądra (wspomniany dmesg[8]) pozostał jednym z ostatnich miejsc w systemie Linux, w którym występuje duży przeciek informacji o przestrzeni adresowej jądra:

[user@stardust ~]$ dmesg | grep -m1 text
      .text : 0xc0400000 - 0xc0812c46   (4171 kB)

Dlatego jeśli chcemy, aby exploity wykorzystujące lokalne podatności jądra straciły jeden z swoich stałych przyczółków możemy wyłączyć dmesg, dla normalnych użytkowników. W tym celu wystarczy do pliku rc.local dodać warunek sprawdzający czy restrykcja jest włączona:

if [ -r /proc/sys/kernel/dmesg_restrict ]; then
    if [ $(cat /proc/sys/kernel/dmesg_restrict) = 0 ]; then
        echo 1 > /proc/sys/kernel/dmesg_restrict
    fi
fi

Możemy również dodać wpis do /etc/sysctl.conf:

kernel.dmesg_restrict = 1

Po wprowadzonych zmianach zwykły użytkownik powinien stracić możliwość wykonywania polecenia dmesg:

[user@stardust ~]$ dmesg | grep -m1 text
klogctl: Operacja niedozwolona

Dodatkowo należy upewnić się, czy pliki logów dmesg (/var/log/dmesg | /var/log/dmesg.old) posiadają odpowiednie prawa dostępu:

[root@stardust log]# pwd
/var/log
[root@stardust log]# ls -al | grep dmesg
-rw-r-----.  1 root  root    24296 08-27 17:05 dmesg
-rw-r-----.  1 root  root    29931 08-27 16:44 dmesg.old

Więcej informacji: Restrict unprivileged access to kernel syslog

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , , , ,

Komentowanie tego wpisu jest zablokowane.