Szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Nowe aktualne opisy i poradniki
Awatar użytkownika
Xela
Posty: 42
Rejestracja: 08 września 2016, 01:54

Szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Xela » 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

Kod: Zaznacz cały

# apt install iptables-persistent
/etc/iptables/rules.v4

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
/etc/iptables/rules.v6

Kod: Zaznacz cały

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT
dodatkowo możemy wyłączyć całkowicie ipv6

/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
startujemy netfiltera:

Kod: Zaznacz cały

# /etc/init.d/netfilter-persistent start
sprawdzić wprowadzone zmiany można za pomocą polecenia:

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
* - oznacza wszystkich uzytkowników
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
konfiguracja gruba:

/etc/default/grub

Kod: Zaznacz cały

GRUB_CMOLINE_LINUX "apparmor=1 security=apparmor"

Kod: Zaznacz cały

# update-grub
dla użytkowników lilo:

/etc/lilo.conf

Kod: Zaznacz cały

append="apparmor=1 security=apparmor"

Kod: Zaznacz cały

# lilo
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

Kod: Zaznacz cały

# echo "deb http://perso.corsac.net/~corsac/debian/kernel-grsec/packages/ jessie/" >> /etc/apt/sources.list
repo jest dostępne tylko dla maszyn z arch amd64. Oprócz Jessie jest także repo dla Debiana sid oraz wheezy

klucze:

Kod: Zaznacz cały

# gpg --keyserver pgp.mit.edu --recv-keys ID_KLUCZA
# gpg --armor --export ID_KLUCZA | apt-key add -
instalacja kernela i nagłówków:

Kod: Zaznacz cały

# aptitude search linux-image linux-headers
# apt install linux-{image,headers}-amd64
apki do whitelisty PaX-a można dodać za pomocą attr

Kod: Zaznacz cały

# apt install attr
przykładowo:

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

Matrixx
Beginner
Posty: 212
Rejestracja: 03 maja 2016, 16:30

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Matrixx » 08 września 2016, 09:09

Z niecierpliwoscia czekam na cz II.
A w miedzyczasie: https://subgraph.com/ jak na razie tylko wersja alfa, ale to juz duzo.
Ktore rozwiazanie lepsze?
Moze wprowadzic kryteria " prywatnosci " lub " anonimowosci " OS'a?
Obawiam sie, ze nie ma jednoznacznego patentu, tylko nalezy polozyc nacisk na to na czym nam specjalnie zalezy.
Moze lepiej w iptables 3xDROP ? a pozniej dopiero wyjatki?
Moze filtrowanie " outgoing traffic " za pomoca cgroups? :confused:

Awatar użytkownika
LordRuthwen
Moderator
Posty: 2080
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: LordRuthwen » 08 września 2016, 09:25

Opisałbyś jeszcze do czego służą i mniej więcej jak działają wspomniane rozwiązania.

Matrixx
Beginner
Posty: 212
Rejestracja: 03 maja 2016, 16:30

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Matrixx » 08 września 2016, 09:40

Gdybym byl pewien, ze zrobie to bezblednie, to bym to opisal.
Zadanie dla zaawansowanych.

Awatar użytkownika
Morfik
Beginner
Posty: 147
Rejestracja: 21 lutego 2009, 21:00

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Morfik » 08 września 2016, 10:52

Mógłby mi ktoś wyjaśnić dlaczego w obecnych czasach są w poradnikach jeszcze takie wzmianki jak wyłączenie IPv6, czy kompletne blokowanie ruchu (wewnętrznego) w tym protokole za pomocą iptables?

A jak już się wspomina o szyfrowaniu czy o apparmor, to wypadałoby chociaż napisać z czym to się je, bo ja jestem zdania, że przeciętny człowiek, który o szyfrowaniu i apparmor nigdy nie słyszał, raczej się tymi tematami nie zainteresuje po przeczytaniu takiego powierzchownego opisu jak tutaj.

Mnie bardzo interesują aspekty bezpieczeństwa mojego systemu operacyjnego i sobie opisuję różne mechanizmy jego zbrojenia. No i tak się składa, że zarówno proces szyfrowania jak i apparmor mam opisany. Poniżej linki dla zainteresowanych.

https://morfitronik.pl/instalacja-debia ... bootstrap/
https://morfitronik.pl/apparmor-profilowanie-aplikacji/
https://morfitronik.pl/profil-apparmora ... na-budowa/

Awatar użytkownika
LordRuthwen
Moderator
Posty: 2080
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: LordRuthwen » 08 września 2016, 11:49

Właśnie o takie coś mi chodziło :)

Awatar użytkownika
Yampress
Administrator
Posty: 6159
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Yampress » 08 września 2016, 12:41

Morfik jak zwykle wymiata. ;)

Awatar użytkownika
Morfik
Beginner
Posty: 147
Rejestracja: 21 lutego 2009, 21:00

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Morfik » 08 września 2016, 12:44

Ja po prostu lubię wiedzieć jak działają pewne rzeczy. :D

Matrixx
Beginner
Posty: 212
Rejestracja: 03 maja 2016, 16:30

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Matrixx » 08 września 2016, 15:10

Rzeczywiscie

Kod: Zaznacz cały

https://morfitronik.pl/
to lektura obowiazkowa dla wszystkich.
" Morfik " jest prosba, moglbys podac przyklad jak za pomoca iptables i cgroups blokowac albo dopuszczac traffic wyjsciowy.
Siedze nad tym od tygodnia i ciagle sa jakies problemy.

Awatar użytkownika
Morfik
Beginner
Posty: 147
Rejestracja: 21 lutego 2009, 21:00

Re: szybkie i bezbolesne utwardzenie desktopowego debka cz.1

Post autor: Morfik » 08 września 2016, 15:23

Mam nawet artykuł o tym. Jest tam trochę info na temat kontrolera net_cls . Reszta konfiguracji cgroups jest taka sama jak w przypadku pozostałych kontrolerów. Niemniej jednak, to jest tylko oznaczanie pakietów sieciowych. Z kolei mając oznaczone pakiety sieciowe, możesz je blokować lub przepuszczać w iptables, a tego raczej nie trzeba tłumaczyć już. A jeśli trzeba to przykłady są opisane w artykule o kontroli ruchu sieciowego. :D

ODPOWIEDZ