Strona 1 z 1

Slackware hardening

: 2006-03-23, 10:41
autor: Grzeslaw
Od jakiegoś czasu w wolnej chwili zaczełem sobie tłumaczyć na polski oraz uaktualniać artykuł Dentona o herdeningu slackware: http://www.cochiselinux.org/files/syste ... ng-0.4.txt

Nie jestem pewien jednak kilku kwesti, i prosiłbym o pomoc w uzyskaniu
odpowiedzi na poniższe pytania:

------------------------------------1

Na samym dole jest podana lista programów, które wzmacniają zabezpieczenia, uważam iż nie ma sie co rozpisywać odnośnie każdego z nich, bo tna każdy z nich można by napisać paredzesiąt stron. Chyba wystarczy tylko wzmianka, że takowe istnieją oraz linki do stron skąd można pobrać oprogramowanie i jak je skonfigurować. Jednak wiele z tych programów jest już nieaktualnych i niepotrzebnych. Mają pewnie jakieś inne zamienniki w obecnych czasach. Nie jestem specem od bezpieczeństwa, ale ciągle się ucze i poznaje. Tak więc proszę o sugestie odnośnie zamienników, których teraz winno się używać.

------------------------------------2
Kolejną rzeczą są pliki i foldery z ustaawionym bitem SUID/SGID. Wiadomo, najlepiej byłoby wywalić wszyskie, jednak gdy użytkownik wdraża poniższe ustawienia , należy zostawić w pewnych plikach. Ja miałem problem tylko z "su", gdy bit SUID był zdjęty, ale czy napewno ? Co z resztą katalogów - wywalić wszystko?

Kod: Zaznacz cały

     find / -type f \( -perm -4000 -o -perm -2000 \) -ls > suid_files.out
     find / -type d \( -perm -4000 -o -perm -2000 \) -ls > suid_dir.out

-------------------------------------3

Następna rzecz to pliki i foldery z możliwością zapisu, dla grup,innych. Czy wszyskim odebrać możliwość z wyników?

Kod: Zaznacz cały

     find / -type f \( -perm -2 -o -perm -20 \) -ls > write_files.out
     find / -type d \( -perm -2 -o -perm -20 \) -ls > write_dir.out

-------------------------------------4

Nie jestem pewien ale:
Wyczytalem ze w jajkach ponizej 2.4 trzeba to wlaczyc, w celu unikniecia ataków fragmentacyjnych. czy w 2.4 i 2.6 nie trzeba ?

Kod: Zaznacz cały

    echo 1 > /proc/sys/net/ipv4/ip_always_defrag 
-------------------------------------5
Denton pisze, żeby zrobić tak:
Lines 57-58: comment out and add:

Kod: Zaznacz cały

            elif [ `id -u` = "0" ]; then
              PS1="\[\033[1;31m\[\t [\j]:\w\$\[\033[0m\] "
            else
              PS1="\[\033[1;32m\[\t [\j]:\w\$\[\033[0m\] " 
Wg mnie powinno być tak: (zakomentować całośc odnośnie PS1, i zamiast tego wstawić:)

Kod: Zaznacz cały

   if [ id -u = "0" ]; then
   PS1="\[\033[1;31m\[\t [\j]:\w\$\[\033[0m\] "
   else
   PS1="\[\033[1;32m\[\t [\j]:\w\$\[\033[0m\] "
   fi

Re: Slackware hardening

: 2006-03-26, 12:38
autor: mina86
Ad. 5: Nie, bo ten PS1 nie będzie działał pod czymś co nie jest bashem.

Tak sobie czytam ten pliczek, i:

Kod: Zaznacz cały

/etc/shells: 
Delete the following: 
  /bin/csh 
  /bin/ksh 
  /bin/zsh 
Add the following: 
  /bin/sh 
  /bin/false
Tu jest błąd, bo nie powinno się dodawać /bin/false. Jak można wyczytać w man shells:
Be aware that there are programs which consult this file to find out if a user is a normal user. E.g.: ftp daemons traditionally disallow access to users with shells not included in this file.
Toteż dodanie /bin/false spowoduje, że niektóre programy będą traktować nieużytkowników jak użytkowników.

Re: Slackware hardening

: 2006-03-26, 13:33
autor: Grzeslaw
mina86 pisze:Ad. 5: Nie, bo ten PS1 nie będzie działał pod czymś co nie jest bashem.

Okej.. jeden problem z głowy :)
mina86 pisze: Tak sobie czytam ten pliczek, i:

Kod: Zaznacz cały

/etc/shells: 
Delete the following: 
  /bin/csh 
  /bin/ksh 
  /bin/zsh 
Add the following: 
  /bin/sh 
  /bin/false
Tu jest błąd, bo nie powinno się dodawać /bin/false. Jak można wyczytać w man shells:
Be aware that there are programs which consult this file to find out if a user is a normal user. E.g.: ftp daemons traditionally disallow access to users with shells not included in this file.
Toteż dodanie /bin/false spowoduje, że niektóre programy będą traktować nieużytkowników jak użytkowników.
Mhh... w sumie to ja tam dałem /dev/null, zamiast /bin/false..
Ale za bardzo nie rozumiem, jeśli dodajemy użytkownika do systemu. określamy mu szella. Jeśli jest to użytkownik dla jakiegos demona, to ustawiamy mu wtedy shell na /bin/false albo /dev/null/ Jednak taki wpis musi istnieć w /etc/shells. Nie rozumiem tego z tym, ze niektóre programy beda traktowac nieuserow jako userow ?

Ortografia !

Re: Slackware hardening

: 2006-03-26, 13:41
autor: mina86
Nie podaje się /dev/null tylko /bin/fals to raz. Dwa, shell nie musi być w /etc/shells, żeby móc go wpisać w pliku /etc/passwd. Plik ten jest wykorzystywany przez np. polecenie chsh służące do zmiany shella przez użytkownika. Jeżeli dodasz /bin/false to użytkownik będzie mógł ustawić swój shell na /bin/false co jest totalnym bezsensem.

Re: Slackware hardening

: 2006-03-26, 13:51
autor: mina86
Ad 2.: Zostawić wszystko. Można co najwyżej bawić się w ten sposób, że najpierw stworzy się liste SUID-owanych i SGID-owanych plików i katalogów i następnie co jakiś czas (np. raz dziennie) będzie się sprawdzać czy nie doszły jakieś nowe pliczki lub nie odpadły stare - jeżeli tak to z pewnością jest to sprawa do przebadania przez administratora.

Ad 3.: Ja bym nic nie ruszał - jak zaczniesz masowo odbierać te uprawneinia to zapewne coś przestanie działać ;)

Jeszce słowo odnośnie login.access. Ja osobiście w pliku tym mam linijki:

Kod: Zaznacz cały

-:wheel:ALL
# -:ALL EXCEPT users:ALL  -- to jednak nie robi tego co by sie wydawalo ;)
-:ALL EXCEPT mina86:ALL
Siebie dodałem do grupy root. W /etc/suauth mam:

Kod: Zaznacz cały

ALL:ALL EXCEPT GROUP root:DENY
i ostatecznie w /etc/login.defs:

Kod: Zaznacz cały

SU_WHEEL_ONLY yes
Takie ustawienia powodują, że zalogować z konsoli mogę się tylko ja (mina86), więc w szczególności nie można się zalogować bezpośrednio na roota - trzeba do tego wykorzystać su, którego używać mogą jedynie użytkownicy znajdujący się w grupie root.

Re: Slackware hardening

: 2006-03-27, 09:45
autor: Randalf
Ad. 4) Od wersji 2.4 nie ma czegoś takiego jak ip_always_defrag, a defragmentacja jest domyślnie ustawiona na on. Jest kilka innych parametrów -- vide: /usr/src/linux/Documentation/networking/ip-sysctl.txt

Re: Slackware hardening

: 2006-03-29, 12:24
autor: Grzeslaw
mina86 pisze:Nie podaje się /dev/null tylko /bin/fals to raz.
Mmhmm.. gdzieś wyczytałem właśnie na stronie o harderingu, aby dawać /dev/null. Ale teraz tego znaleść nie moge, więc chyba zaufam tobie ;)
mina86 pisze: Dwa, shell nie musi być w /etc/shells, żeby móc go wpisać w pliku /etc/passwd.
Yhm... no tak, rozpędziłem się
mina86 pisze: Plik ten jest wykorzystywany przez np. polecenie chsh służące do zmiany shella przez użytkownika. Jeżeli dodasz /bin/false to użytkownik będzie mógł ustawić swój shell na /bin/false co jest totalnym bezsensem.
No dobra to sobie nawet ustawi, ale to chyba gorzej dla niego, a dla mnie nie robi różnicy ;)
mina86 pisze:Ad 2.: Zostawić wszystko. Można co najwyżej bawić się w ten sposób, że najpierw stworzy się liste SUID-owanych i SGID-owanych plików i katalogów i następnie co jakiś czas (np. raz dziennie) będzie się sprawdzać czy nie doszły jakieś nowe pliczki lub nie odpadły stare - jeżeli tak to z pewnością jest to sprawa do przebadania przez administratora.
Oki, czyli chyba najlepiej użyć w tym momencie jakiś programów do robienia obrazu plików na dysku, zaraz po instalacji, które potem je porównują czy sie nic w nim nie zmieniło (pamiętasz jaki to program?)
mina86 pisze:Ad 3.: Ja bym nic nie ruszał - jak zaczniesz masowo odbierać te uprawneinia to zapewne coś przestanie działać ;)
Mh... to czemu Denton tak napisał? Jeśli jest jakiś katalog w którym inni mogą zapisywać, może to być niebezpieczne dla systemu.
mina86 pisze:Jeszce słowo odnośnie login.access. Ja osobiście w pliku tym mam linijki:

Kod: Zaznacz cały

-:wheel:ALL
# -:ALL EXCEPT users:ALL  -- to jednak nie robi tego co by sie wydawalo ;)
-:ALL EXCEPT mina86:ALL
Siebie dodałem do grupy root. W /etc/suauth mam:

Kod: Zaznacz cały

ALL:ALL EXPECT GROUP root:DENY
i ostatecznie w /etc/login.defs:

Kod: Zaznacz cały

SU_WHEEL_ONLY yes
Takie ustawienia powodują, że zalogować z konsoli mogę się tylko ja (mina86), więc w szczególności nie można się zalogować bezpośrednio na roota - trzeba do tego wykorzystać su, którego używać mogą jedynie użytkownicy znajdujący się w grupie root.
Yhm.. czyli mówisz że tą nejlepsze ustawienia harderingu odnośnie logowania na konsole :>
Właśnie jeśli było by to możliwe, to powiedz mi do czego służy grupa whell ?
Randalf pisze:Ad. 4) Od wersji 2.4 nie ma czegoś takiego jak ip_always_defrag, a defragmentacja jest domyślnie ustawiona na on. Jest kilka innych parametrów -- vide: /usr/src/linux/Documentation/networking/ip-sysctl.txt
thx. przeanalizuje to z pewnością :)

Re: Slackware hardening

: 2006-03-29, 18:00
autor: PITbull
Witam..

Zapodaje coś nowszego.

http://tuxq.com/system-hardening-10.2.txt

pozdr...

Re: Slackware hardening

: 2006-03-29, 18:35
autor: Grzeslaw
PITbull pisze:Witam..

Zapodaje coś nowszego.

http://tuxq.com/system-hardening-10.2.txt

pozdr...
lol. nie wiem co powiedziec --> big THX ? :)

Re: Slackware hardening

: 2006-03-29, 20:04
autor: cherry
mina86 pisze:

Kod: Zaznacz cały

ALL:ALL EXPECT GROUP root:DENY
Jesteś pewien tego EXPECT'a?

Re: Slackware hardening

: 2006-03-29, 20:32
autor: Grzeslaw
cherry pisze:
mina86 pisze:

Kod: Zaznacz cały

ALL:ALL EXPECT GROUP root:DENY
Jesteś pewien tego EXPECT'a?
No to jest zabronienie wszyskim użytkownikom oprócz tych, którzy należą do grupy root, wykonywania SU.
Mmh..
Nie lepiej ustawić dla konkretnych użytkowników ?

Ortografia !

Re: Slackware hardening

: 2006-03-31, 16:54
autor: cherry
1. oprócz
2. EXCEPT != EXPECT

Re: Slackware hardening

: 2006-03-31, 17:27
autor: mina86
Grzeslaw pisze:No dobra to sobie nawet ustawi, ale to chyba gorzej dla niego, a dla mnie nie robi różnicy
Robi, bo będziesz musiał się uŻerać jak Ci wyśle maila, że mu nie działa...
Grzeslaw pisze:Yhm.. czyli mówisz że tą nejlepsze ustawienia harderingu odnośnie logowania na konsole
Sądzę, że tak. Dodatkowo, jeżeli ma to być desktop dla kilku osób to należy umożliwić logowanie się tym innym osobom, choć niekoniecznie należy umożliwić im odpalanie su. Jest to też IMO najlepsze rozwiązanie na serwery, bo wówczas bezpośrednio logowac sie będzie mógł tylko administrator (plus ewentualnie jacyś jego współpracownicy), a reszta ludków zdalnie.

Można oczywiście jeszcze dodawać limity czasowe, ale to już zależy od indywidualnych potrzeb
Właśnie jeśli było by to możliwe, to powiedz mi do czego służy grupa whell ?
Grupa wheel służy do tego, żeby można było userom z tej grupy zablokować możliwość logowania ;) W niektórych dystrybucjach (np. w Gentoo) ustawienie w /etc/login.defs SU_WHEEL_ONLY na yes powoduje, że tylko użytkownicy z tej grupy mogą korzystać z su (w Slackware ustawienie to powoduje, że tylko użytkownicy naleŻący do grupy o GID=0 mogą korzystać z su).
Mh... to czemu Denton tak napisał?
Bo jest paranoikiem i woli, żeby mu nie działał system niż żeby był cień szans, że ktoś mu się włamie?
Jesteś pewien tego EXPECT'a?
Eh... U siebie na dysku to poprawiłem, w poście zapomniałem... Zaraz się poprawie ;)

-- dopisek --
Aha.. Jeszce do /etc/rc.d/rc.local można dopisać:

Kod: Zaznacz cały

chown root:root /bin/su
chmod 4750 /bin/su
co dodatkowo z poziomu systemu plików zabezpieczy przed odpalaniem su przez niepowołane osoby.

Ortografia ! WSTYD!