[WikiDyd] [TitleIndex] [WordIndex

Cel zajęć

Celem zajęć jest zapoznanie się z problemami wiążącymi się z uruchomieniem rzeczywistego, kompletnego systemu i jego zabezpieczeniem.

Wprowadzenie

Na zajęciach powinny zostać zabezpieczony cały system serwera WWW wraz z działającą na nim aplikazją oraz systemem kopii bezpieczeństwa. Przed następnymi zajęciami należy opracować dokument polityki bezpieczeństwa dla swojego systemu i kompleksowo go zabezpieczyć, albowiem będzie on celem audytu.

Uruchamianie usług sieciowych było tematem poprzednich zajęć. Tym razem warto zwrócić uwagę na dokładną realizacje konkretnego polecenia, a także aspekt bezpieczeństwa działającej usługi.

Kopie bezpieczeństwa

Podstawowa filozofia backupu FreeBSD została zwięźle i rzeczowo opisana w dokumentacji FreeBSD (Handbook). Chcielibyśmy, aby w trakcie zajęć zapoznali się Państwo z dwoma wybranymi technikami:

Proszę zastanowić się przed jakimi problemami każda z technik jest w stanie zabezpieczyć system.

Obydwa zadania backupu chcielibyśmy aby spełniały następujące wymagania:

Przykład skryptu, który może posłużyć jako szablon na zajęcia:

##!/bin/sh
# Jan 2007, robert@iem.pw.edu.pl

# Pelne sciezki katalogow lub plikow ktore maja byc zachowane.
# To sa tylko przyklady. Prosze zwrocic uwage na cudzyslowia.

dirs="
/home
/bin
/usr/local/share/doc"

# Utworz nazwe pliku z backupem:
backup="`hostname`_`date (tutaj odpoowiedni format)`.tgz"

# Upewnij się czy katalog dla backupów istnieje:
mkdir /pelna_sciezka/do_miejsca/przechowywania_backupow

# Upewnij sie ze dostep do backupow ma tylko root 
chown -R root:wheel /ta/sama/sciezka/co/poprzednio
chmod -R 755 /ta/sama/sciezka/co/poprzednio

# Usun stare backupy (lub ewentualnie plik o takiej samej nazwie)
for f in `tutaj odpowiedni find`; do
  % rm $f
  % proponuje do testow na poczatek wyswietlac pliki, ktore chcemy usuwac:
  echo "Usuwam: rm $f"
done
rm /ta/sama/sciezka/co/poprzednio/$backup

# 'tarujemy'
tar -c --file /ta/sama/sciezka/co/poprzednio/$backup -p -P --gzip -v $dirs

# Jeżeli wykonujemy backup na maszynie kolegów, to tutaj najlepiej jest skopiować
# go w odpowiednie miejsce na ich komputerze.

Zabezpieczenie i monitorowanie systemu

System FreeBSD oferuje kilka mechanizmów, które można włączyć z celu kompleksowego podniesienia bezpieczeństwa całego systemu. Ich działanie szczegółowo opisano w FreeBSD Handbook. Warto zwrócić uwagę na dwa takie podsystemy: Mandatory Access Control (MAC) i Security Event Auditing (SEC).

MAC to inaczej system obowiązkowej kontroli, który zapewnia precyzyjne określenie uprawnień przyznawanych procesom, użytkownikom, zasobom istniejącym w systemie. Wszystko to umożliwia zaimplementowanie nawet skomplikowanej polityki bezpieczeństwa. SEC to mechanizm zapisujący każde zdarzenie w systemie, które może mieć znaczenie dla jego bezpieczeństwa (np. zalogowanie, uruchomienie programu, stworzenie pliku, ...). Tak szczegółowe śledzenie działania systemu może być przydatne przy analizie powłamianiowej, czy w celu wyeliminowania nieporządanych zachowań. Zarówno MAC, jak i SEC wymagają skompilowania jądra systemu z odpowiednimi opcjami. Nie są trywialne w użyciu, ale powinny być zastosowane podczas ochrony szczególnie cennych danych.

Monitorowanie systemu można także wykonywać na prostszym w realizacji poziomie. Standardem w systemach UNIX jest to, że każdy z programów realizujących poszczególne usługi prowadzi dziennik (log) swojej działalności. Pliki logów są to w większości pliki tekstowe, a codziennym obowiązkiem administratora jest ich monitorowanie. Ma on wiele narzędzi wspomagających go w tej żmudnej pracy. Są analizatory ogólnego przeznaczenia, takie jak: log_analysis, lire, grok, snowlog, albo specjalizowane dla konkretnej usługi, np. dla WWW - webalizer, analog, snowlog. Warto wymienić też kilka programów przeznaczonych do monitorowania obciążenia systemu: top, ntop, df, systat, ipfm, sa.

Dokument polityki bezpieczeństwa

Dobre praktyki wskazują, że dużą pomocą przy budowaniu bezpiecznego systemu jest dokument polityki bezpieczeństwa. Norma PN-ISO/IEC 1779 dosyć szczegółowo opisuje jakie ważne aspekty funkcjonowania przedsiębiorstwa i systemu informatycznego należy uwzględnić w polityce bezpieczeństwa.

Wymieńmy tutaj kilka najważniejszych punktów, które powinny być rozważone podczas tworzenia polityki bezpieczeństwa dla całej firmy, czy jednego systemu informatycznego:

Polityka bezpieczeństwa opracowana w ramach zajęć powinna zawierać krótki opis roli systemu zbudowanego systemu informatycznego i szczegóły jego otoczenia. Funkcje systemu powinny zostać przeanalizowane i na tej podstawie stworzone zasady polityki bezpieczeństwa. Opracowany dokument powinien mieć odzwierciedlenie w skonfigurowanym systemie.

Potrzebna wiedza

Student powinien umieć zarządzać systemem operacyjnym FreeBSD i typowymi usługami w sieci Internet. Przydatna będzie wszelka wiedza dotycząca bezpieczeństwa systemów informatycznych, a także podstawowa umiejętność programowanie w Shellu.

Dodatkowe informacje

Hasła dla Google: polityka bezpieczeństwa, zabezpieczanie systemu freebsd

Przykładowe zadania

  1. Zainstaluj pakiet portaudit. Wygeneruj raport manulanie, a następnie skonfiguruj narzędzie tak aby generowało raport raz w tygodniu.
  2. Przygotuj system kopii bezpieczeństwa, w postaci skryptu uruchamianego co godzinę, dla katalogu /etc/, kopie składowane na drugim dysku (przechowywane mają być trzy ostatnie kopie).
  3. Przygotuj system kopii bezpieczeństwa, w postaci skryptu uruchamianego co godzinę, dla katalogu /var/log, kopie składowane na przechowywane na komputerze kolegów (przechowujemy 5 ostatnich kopii).
  4. Opracuj dokument polityki bezpieczeństwa dla swojego systemu. Możesz przyjąć dowolne założenia pomocnicze (np. ilość osób odpowiedzialnych, charakter przechowywanych informacji). Długość na koło 5 stron A4.
  5. Zabezpiecz cały system najlepiej jak umiesz.

2015-09-23 06:44