Bezpieczeństwo systemu GNU/Linux - podstawy. Robert Jaroszuk <zim@iq.pl>



Podobne dokumenty
Tworzenie bezpiecznego środowiska kont shellowych

1. Ustanawianie ograniczeń na użycie zasobów

Podstawy zabezpieczania serwera. Marcin Bieńkowski

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat zapory sieciowej.

Bezpieczna konfiguracja serwera linuksowego

Administracja systemem Linux

Bezpieczeństwo systemów informatycznych

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat zapory sieciowej (firewall) oraz oprogramowania iptables.

Programowanie sieciowe

Udostępnianie zasobów Gentoo Linux systemom Microsoft Windows 7 za wykorzystaniem ku temu serwera plików i drukarek SAMBA.

Najprostsza odpowiedź, jaka przychodzi mi do głowy to, z powodu bezpieczeństwa.

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

Iptables informacje ogólne

Puk, puk! Kto tam? Eeeee... Spadaj!

NFS jest protokołem zdalnego wywoływania procedur (RPC)

Klasy adresów IP. Model ISO - OSI. Subnetting. OSI packet encapsulation. w.aplikacji w.prezentacji w.sesji w.transportowa w.

Serwer SMB. Udostępnienie zasobów systemowych w sieci. Jakub Stasiński, Jędrzej Chruściel, Michał Wojciechowski

Wdrożenie skalowalnego systemu plików GlusterFS w serwisach Gratka.pl. Łukasz Jagiełło l.jagiello@gratka-technologie.pl

SAP BASIS Architektura systemu klient Server

Tomasz Greszata - Koszalin

Sprawozdanie z zadania 2. Artur Angiel, śr. 12:15

Router programowy z firewallem oparty o iptables

Podstawy administracji systemu Linux

Przykłady wykorzystania polecenia netsh

Administracja serwerami

Zarządzanie bezpieczeństwem w sieciach

Testy penetracyjne Przykłady programów

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Protokół SMB umożliwia udostępnianie plików udostępnianie drukarek

Bezpieczny Linux przegląd projektów

Sieci komputerowe Wykład dla studentów Informatyki Stosowanej studia niestacjonarne

MikroTik Serwer OpenVPN

RULE SET BASED ACCESS CONTROL. Paweł Bylina

FreeBSD czyli nie taki diabeł straszny cz. 2 TLUG

systemd: wymyślmy jeszcze jedno koło

Tryb pracy urządzenia jest wyświetlany wewnątrz trójkątnych nawiasów, oto kilka oznaczeń:

SELinux. SELinux Security Enhanced Linux. czyli. Linux o podwyższonym bezpieczeństwie

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Bezpieczeństwo w M875

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

TEMAT SZKOLENIA: Organizator szkolenia: Compendium Centrum Edukacyjne Sp. z o.o. posiadająca status Novell Training Services Partner Platinum.

Zapory sieciowe i techniki filtrowania danych

INFORMATOR TECHNICZNY WONDERWARE

Politechnika Śląska w Gliwicach Instytut Automatyki 2005/2006

Administracja serwerami

Instalacja postgresa wersja step by step. 1. Dla nowego systemu, na którym nie było wcześniej instalowanych postgresów

2. Informacje o mechanizmie limitów

System operacyjny Linux

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Instalacja Moodle na serwerze SBS2000/2003. Opiekun pracowni internetowej SBS

Podnoszenie poziomu bezpieczeństwa instalacji i baz danych Oracle

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Instalacja i konfiguracja pakietu iptables

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA

Domeny zaufania i zabezpieczanie usług sieciowych w systemie Linux za pomocą programu tcpd

Zapora systemu Windows Vista

iptables -F -t nat iptables -X -t nat iptables -F -t filter iptables -X -t filter echo "1" > /proc/sys/net/ipv4/ip_forward

Konwerter RS-485->TCP/IP [ethernet] ATC-1000 SZYBKI START [konfiguracja urządzenia do współpracy z programem MeternetPRO]

INFORMATOR TECHNICZNY WONDERWARE

DLA DREAMBOX & FLASHWIZARD

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Tworzenie maszyny wirtualnej

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL.

iptables/netfilter co to takiego?

Laboratorium - Poznawanie FTP

Konwerter RS-485->TCP/IP [ethernet] ATC-1000 SZYBKI START [konfiguracja urządzenia do współpracy z programem Meternet]

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi FTP.

2. Testowanie nazw wymaga uruchomienia serwera nazw protokołu NetBIOS:

MS Visual Studio 2005 Team Suite - Performance Tool

Bezpieczeństwo Systemów Telekomunikacyjnych 2014 / 2015 Bezpieczeństwo aplikacji sieciowych, Ataki (D)DoS Prowadzący: Jarosław Białas

Zdalna obsługa transcievera. H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n

Kopie zapasowe AMANDA

Konwerter RS-485->Ethernet [TCP/IP] CN-ETH-485 INSTRUKCJA [konfiguracja urządzenia do współpracy z programem MeternetPRO]

Laboratorium Sieci Komputerowych - 1

Wskazówki dla osób, które będą uruchamiały Wirtualny Serwer Egzaminacyjny w pracowni komputerowej pracującej pod kontrolą serwera SBS

Współczesne systemy komputerowe

Administrowanie systemem Linux. Zajecia dla studentow Wydzialu Informatyki (Sieci Komputerowe) WIT w Warszawie w roku akademickim 2006/2007.

Samba informacje ogólne

CONFidence 13/05/2006. Jarosław Sajko, PCSS

NS-2. Krzysztof Rusek. 26 kwietnia 2010

Wdrażanie i zarządzanie serwerami zabezpieczającymi Koncepcja ochrony sieci komputerowej

Tomasz Greszata - Koszalin

Linux vs rootkits. - Adam 'pi3' Zabrocki

AgriBus-GMini Poradnik użytkownika - RTK -

Spis treści. O autorze 9. O recenzentach 10. Przedmowa 13. Rozdział 1. Oto Linux Mint 17_

Przedmowa...9. Rozdział 1. Tripwire i migawki systemu Wprowadzenie...a...a...41

Wykład 3 Filtracja i modyfikacja pakietów za pomocą iptables.

Zapoznanie się z konfiguracją i zarządzaniem serwerem Samba.

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Opracowany na podstawie

K2 XVR-04, K2 XVR-08, K2 XVR-16, K2 XVR-24. Rejestrator Cyfrowy S E R I E: K2 XVR. DVR klient. Instrukcja użytkownika

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

SELinux. Robert Jaroszuk Zimowisko TLUG, 2011.

SIECIOWE. mgr inż. Adam Mencwal Katedra Informatyki Stosowanej.

FORMA SZKOLENIA MATERIAŁY SZKOLENIOWE CENA CZAS TRWANIA

Warsztaty z Sieci komputerowych Lista 8

Transkrypt:

Bezpieczeństwo systemu GNU/Linux - podstawy Robert Jaroszuk <zim@iq.pl> Szkolenie TLUG Uniwersytet Gdański, 26 maja 2007

Spis Treści 1 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

Spis Treści 2 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

Dlaczego? 3 Czy ten temat w ogóle mnie dotyczy? Raport z iptables: 17 18 maja 2007 r. Probes port number 14 22 8 23 51 25 17 80 22 110 26 113 832 135 219 139 49 443 615 445 1 3128 4 3306 29 5900

Dlaczego? 4 Czy bezpieczeństwo jest aż tak istotne? Chcemy utrzymać kontrolę nad naszym systemem Nie chcemy być oskarżani o przestępstwo popełnione przez kogoś innego Nie chcemy być wykorzystywani przez innych Nie chcemy stracić dostępu do Internetu Nie lubimy co chwilę reinstalować systemu Nie lubimy tracić danych z dysku Zagrożenia: Każdy komputer podłączony do sieci jest celem IP + pasmo Robaki Lion / Ramen / Slapper Script Kiddies Spamerzy

Spis Treści 5 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

Podstawy bezpieczeństwa 6 Bezpieczeństwo fizyczne Kopie zapasowe Podział dysku na partycje Ściany ogniowe / wrappery Kernel Popularne usługi Checklisty / skrypty Emeryci i renciści

Spis Treści 7 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

Usługi systemu 8 # netstat -tupan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:58281 0.0.0.0:* LISTEN 4216/rpc.statd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3628/portmap tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 4573/X tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 4019/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4187/master udp 0 0 0.0.0.0:32768 0.0.0.0:* 4216/rpc.statd udp 0 0 0.0.0.0:514 0.0.0.0:* 4049/syslogd udp 0 0 0.0.0.0:68 0.0.0.0:* 4480/dhclient udp 0 0 0.0.0.0:1000 0.0.0.0:* 4216/rpc.statd udp 0 0 0.0.0.0:111 0.0.0.0:* 3628/portmap udp 0 0 0.0.0.0:631 0.0.0.0:* 4019/cupsd #

Usługi systemu 9 # sockstat sockstat 0.2 by P User Process Local Address/Port Remote Address/Port State T root portmap[3628] 0.0.0.0:111 0.0.0.0:0 LISTEN T root cupsd[4019] 0.0.0.0:631 0.0.0.0:0 LISTEN T root master[4187] 127.0.0.1:25 0.0.0.0:0 LISTEN T statd rpc.statd[4216] 0.0.0.0:58281 0.0.0.0:0 LISTEN T root Xorg[4573] 0.0.0.0:6000 0.0.0.0:0 LISTEN T root Xorg[4611] 0.0.0.0:6000 0.0.0.0:0 LISTEN U root portmap[3628] 0.0.0.0:111 0.0.0.0:0 CLOSED U root cupsd[4019] 0.0.0.0:631 0.0.0.0:0 CLOSED U root syslogd[4049] 0.0.0.0:514 0.0.0.0:0 CLOSED U statd rpc.statd[4216] 0.0.0.0:32768 0.0.0.0:0 CLOSED U root rpc.statd[4216] 0.0.0.0:1000 0.0.0.0:0 CLOSED U root dhclient[4480] 0.0.0.0:68 0.0.0.0:0 CLOSED Status: 12 connections (TCP: 6, UDP: 6, RAW: 0), 81 processes... # http://zim.iq.pl/code/sockstat.c

Usługi systemu 10 Wyświetlanie listy pakietów: # dpkg -l lub # rpm -qa Informacje na temat pakietu: # dpkg -s <nazwa pakietu> lub # rpm -qi <nazwa pakietu> Usuwanie pakietu: # dpkg -P <nazwa pakietu> lub # rpm -e <nazwa pakietu>

Usługi systemu 11 Uruchamianie / zatrzymywanie usług w systemie: /etc/rc2.d lrwxrwxrwx 1 root root 17 Feb 9 20:32 S18portmap ->../init.d/portmap lrwxrwxrwx 1 root root 15 Jan 24 09:01 S20acpid ->../init.d/acpid lrwxrwxrwx 1 root root 14 Dec 6 21:06 S20dbus ->../init.d/dbus /etc/rc6.d lrwxrwxrwx 1 root root 17 Feb 9 14:31 K20postfix ->../init.d/postfix lrwxrwxrwx 1 root root 15 Dec 6 21:06 K20rsync ->../init.d/rsync lrwxrwxrwx 1 root root 14 Dec 6 21:06 K11cron ->../init.d/cron Jak? - Ręcznie (edycja linków w /etc/rcx.d) - update-rc.d usluga start 20 2 3 4 5. stop 20 1 6. - chkconfig - http://www.fastcoder.net/software/chkconfig/

Usługi systemu 12 Inetd: /etc/inetd.conf pop3 stream tcp nowait root.mail /usr/sbin/tcpd /usr/sbin/solid pop3d Xinetd: /etc/xinetd.d/telnetd { disable = yes socket_type = stream wait = no nice = 10 user = root server = /usr/etc/in.telnetd rlimit_as = 8M rlimit_cpu = 20 }

Usługi systemu 13 Inetd: /etc/inetd.conf pop3 stream tcp nowait.40 root.mail /usr/sbin/tcpd /usr/sbin/solid pop3d Xinetd: /etc/xinetd.d/telnetd { } disable = yes socket_type = stream wait = no nice = 10 user = root server = /usr/etc/in.telnetd rlimit_as = 8M rlimit_cpu = 20 per_source = 3 cps = 50 10 only_from = 10.10.1.1/24

Spis Treści 14 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

Jądro systemu 15 Ochrona systemu z poziomu jądra 2.6.X VA. Zaawansowane metody ochrony systemu: - Openwall - PaX / grsecurity - LIDS - SELinux - RSBAC

Jądro systemu 16 Openwall: Stworzony przez Solar Designera (Alexander Peslyak) w 1998 roku (jądro 2.0). - uniemożliwia wykonanie kodu na stosie procesu (ochrona przed exploitami). - randomizuje adresy funkcji bibliotecznych (uniemożliwia return-into-libc). - ochrona hard links, named pipes, ochrona /proc, ochrona deskryptorów 0 1 2. PaX i grsecurity: - PaX rozwijany od roku 2000 do 2005 przez zespół PaX. Od 2005 przez Bradleya Spenglera (Spender), autora grsec. - ochrona stosu oraz randomizacja pamięci. - zaawansowana ochrona chroot(); - ochrona /dev/mem, /dev/kmem, /dev/port - /proc/pid/ipaddr, - bogate rejestrowanie zdarzeń w systemie - UDEREF / MEMORY_SANTINIZE - RBAC

Jądro systemu 17 LIDS (Linux Intrusion Detection System): - umożliwia nadawanie praw dostępu do zasobów systemowych (pliki, katalogi, funkcje sieciowe itp.) - SELinux (Security Enhanced Linux): - stworzony w roku 2000 przez NSA. Pierwotnie dodatek do jądra, ale od wersji 2.5 został z nim zintegrowany. - oparty o techniki FLASK każdy podmiot (proces) obiekt (plik, urządzenie) w systemie ma przypisant kontekst (zbiór atrybutów bezpieczeństwa) i nie może wykraczać poza ten zbiór. - RSBAC (Rule Set Base Access Control) - bardzo rozbudowany projekt, stabilna wersja istnieje od 2000r. - informacje o użytkownikach (passwd / shadow) trzymane są w jądrze a nie w plikach (wymaga to wymiany modułów PAM i części bibliotek systemowych). - nakłada ograniczenia na funkcję setuid() - wymaga autoryzacji - listy kontroli dostępu oraz role - ochrona pamięci procesów (PaX), ochrona chroot(), ochrona zasobów, ochrona /proc oraz wiele innych.

Spis Treści 18 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

Ograniczanie dostępu do systemu 19 Firewall (iptables) iptables A INPUT P DROP iptables A INPUT s 192.168.1.2 j ACCEPT iptables A p tcp INPUT s 192.168.1.3 dport 25 j ACCEPT iptables I INPUT i lo j ACCEPT TCP Wrappers: /etc/hosts.allow: ALL: 192.168.1.2 portmap: 192.168.1.4 192.168.1.5 sshd: ALL : spawn echo "Login from %c to %s" mail s "Login Info for %s" root@loghost /etc/hosts.deny: ALL:ALL

Ograniczanie dostępu do systemu 20 sshd: PermitRootLogin no UsePrivilegedSeparation yes Protocol 2 IgnoreRhosts yes HostbasedAuthentication no RhostsRSAAuthentication no StrictModes yes

Spis Treści 21 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

System plików 22 Umask: $ umask 000 $ touch plik1 $ ls l plik1 rw rw rw 1 zim zim 0 2007 05 24 15:36 plik1 $ umask 002 $ touch plik2 $ ls l plik2 rw rw r 1 zim zim 0 2007 05 24 15:36 plik2 $ umask 022 $ touch plik3 $ ls l plik3 rw r r 1 zim zim 0 2007 05 24 15:36 plik3 $

System plików 23 Pliki SUID/SGID: find / path /proc prune o type f perm +6000 ls Pliki dostępne do zapisu dla wszystkich użytkowników: find / path /proc prune o perm 2 type f ls $ ls lad /tmp/ drwxrwxrwt 31 root root 4768 2007 05 24 15:36 /tmp/ $ Pliki niczyje: find / path /proc prune o nouser o nogroup

Spis Treści 24 Dlaczego? Podstawowe zasady bezpieczeństwa Usługi systemu Jądro systemu Ograniczanie dostępu do systemu System plików Limity zasobów

Limity zasobów 25 $ ulimit a core file size (blocks, c) 0 data seg size (kbytes, d) unlimited max nice ( e) 0 file size (blocks, f) unlimited pending signals ( i) unlimited max locked memory (kbytes, l) unlimited max memory size (kbytes, m) unlimited open files ( n) 1024 pipe size (512 bytes, p) 8 POSIX message queues (bytes, q) unlimited max rt priority ( r) 0 stack size (kbytes, s) 8192 cpu time (seconds, t) unlimited max user processes ( u) unlimited virtual memory (kbytes, v) unlimited file locks ( x) unlimited $

Limity zasobów 26 $ ulimit c 1000 m 512000 n 512 u 128 $ ulimit a core file size (blocks, c) 1000 data seg size (kbytes, d) unlimited max nice ( e) 0 file size (blocks, f) unlimited pending signals ( i) unlimited max locked memory (kbytes, l) unlimited max memory size (kbytes, m) 512000 open files ( n) 512 pipe size (512 bytes, p) 8 POSIX message queues (bytes, q) unlimited max rt priority ( r) 0 stack size (kbytes, s) 8192 cpu time (seconds, t) unlimited max user processes ( u) 128 virtual memory (kbytes, v) unlimited file locks ( x) unlimited $

Koniec 27 Dziękuję za uwagę. Pytania? Prezentacja będzie dostępna pod adresem: http://www.linux.gda.pl/spotkania