Szybkie i bezbolesne utwardzenie desktopowego debka cz.1
: 08 września 2016, 04:27
I - zaszyfrowanie całego systemu przy użyciu dm-crypta
przykład zaszyfrowanego twofish-em kontenera z wykorzystaniem systemu plików xfs
>> klik
II - konfiguracja prostego firewalla
/etc/iptables/rules.v4
/etc/iptables/rules.v6
dodatkowo możemy wyłączyć całkowicie ipv6
/etc/sysctl.conf
startujemy netfiltera:
sprawdzić wprowadzone zmiany można za pomocą polecenia:
III - limity procesów (należy dostosować tą wartość do swoich wymagań i potrzeb)
/etc/security/limits.conf
* - oznacza wszystkich uzytkowników
hard - oznacza limity nieprzekraczalne
nproc - oznacza ile procesów może uruchomić użytkownik
IV - instalacja i konfiguracja apparmor-a
konfiguracja gruba:
/etc/default/grub
dla użytkowników lilo:
/etc/lilo.conf
Zasadniczo apparmor działa w dwóch trybach:
complain - nie blokuje naruszeń bezpieczeństwa i zbiera tylko logi
enforce - blokuje wszystkie naruszenia bezpieczeństwa
Wszystkie profile znajdują się w lokacji /etc/apparmor.d/. Po zainstalowaniu paczkek apparmor-profiles i apparmor-profiles-extra dostępne jest kilka gotowych profili, które wystarczy załączyć (ewentualnie będzie trzeba pogrzebać w niektórych i poprawić błędne ścieżki).
podstawowa obsługa apparmor:
aa-status - listuje aktywne profile i chronione procesy
aa-complain /ścieżka/do/profilu - tryb complain
aa-enforce /ścieżka/do/profilu - tryb enforce
aa-disable /ścieżka/do/profilu - wyłącza profil
aa-genprof /ścieżka/do/binarki - generuje profil
generowanie profili to historia na osobny wpis:
http://www.la-samhna.de/library/apparmor.html
V - grsecurity/PaX
Ma być szybko a więc są dostępne gotowe paczki kernerli OOTB od Corsac-a aprobowane przez Debiana
repo jest dostępne tylko dla maszyn z arch amd64. Oprócz Jessie jest także repo dla Debiana sid oraz wheezy
klucze:
instalacja kernela i nagłówków:
apki do whitelisty PaX-a można dodać za pomocą attr
przykładowo:
przykład zaszyfrowanego twofish-em kontenera z wykorzystaniem systemu plików xfs
>> klik
II - konfiguracja prostego firewalla
Kod: Zaznacz cały
# apt install iptables-persistent
Kod: Zaznacz cały
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [392670:75352611]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A OUTPUT -m state --state INVALID -j DROP
COMMIT
Kod: Zaznacz cały
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT
/etc/sysctl.conf
Kod: Zaznacz cały
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Kod: Zaznacz cały
# sysctl -p
Kod: Zaznacz cały
# /etc/init.d/netfilter-persistent start
Kod: Zaznacz cały
# iptables -nvL
III - limity procesów (należy dostosować tą wartość do swoich wymagań i potrzeb)
/etc/security/limits.conf
Kod: Zaznacz cały
#<domain> <type> <item> <value>
* hard nproc 1000
hard - oznacza limity nieprzekraczalne
nproc - oznacza ile procesów może uruchomić użytkownik
IV - instalacja i konfiguracja apparmor-a
Kod: Zaznacz cały
# apt install apparmor apparmor-utils apparmor-profiles apparmor-profiles-extra auditd
/etc/default/grub
Kod: Zaznacz cały
GRUB_CMOLINE_LINUX "apparmor=1 security=apparmor"
Kod: Zaznacz cały
# update-grub
/etc/lilo.conf
Kod: Zaznacz cały
append="apparmor=1 security=apparmor"
Kod: Zaznacz cały
# lilo
complain - nie blokuje naruszeń bezpieczeństwa i zbiera tylko logi
enforce - blokuje wszystkie naruszenia bezpieczeństwa
Wszystkie profile znajdują się w lokacji /etc/apparmor.d/. Po zainstalowaniu paczkek apparmor-profiles i apparmor-profiles-extra dostępne jest kilka gotowych profili, które wystarczy załączyć (ewentualnie będzie trzeba pogrzebać w niektórych i poprawić błędne ścieżki).
podstawowa obsługa apparmor:
aa-status - listuje aktywne profile i chronione procesy
aa-complain /ścieżka/do/profilu - tryb complain
aa-enforce /ścieżka/do/profilu - tryb enforce
aa-disable /ścieżka/do/profilu - wyłącza profil
aa-genprof /ścieżka/do/binarki - generuje profil
generowanie profili to historia na osobny wpis:
http://www.la-samhna.de/library/apparmor.html
V - grsecurity/PaX
Ma być szybko a więc są dostępne gotowe paczki kernerli OOTB od Corsac-a aprobowane przez Debiana
Kod: Zaznacz cały
# echo "deb http://perso.corsac.net/~corsac/debian/kernel-grsec/packages/ jessie/" >> /etc/apt/sources.list
klucze:
Kod: Zaznacz cały
# gpg --keyserver pgp.mit.edu --recv-keys ID_KLUCZA
# gpg --armor --export ID_KLUCZA | apt-key add -
Kod: Zaznacz cały
# aptitude search linux-image linux-headers
# apt install linux-{image,headers}-amd64
Kod: Zaznacz cały
# apt install attr
Kod: Zaznacz cały
# setfattr -n user.pax.flags -v m /usr/bin/evolution
# setfattr -n user.pax.flags -v m /usr/bin/python
# setfattr -n user.pax.flags -v m /usr/lib/chromium/chromium
# setfattr -n user.pax.flags -v m /opt/google/chrome/chrome
# setfattr -n user.pax.flags -v m /usr/lib/firefox/firefox
# setfattr -n user.pax.flags -v m /usr/lib/libreoffice/program/soffice.bin