2. Informacje o mechanizmie limitów



Podobne dokumenty
Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

2. System uprawnień w linuxie

System operacyjny Linux

Bezpieczeństwo systemów informatycznych

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Kalipso wywiady środowiskowe

CREATE USER

Linux. Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit.

- udostępnić anonimowym użytkownikowi Internetu pliki przez serwer FTP,

ibok Internetowe Biuro Obsługi Klienta

Ćwiczenie Nr 4 Administracja systemem operacyjnym z rodziny Microsoft Windows

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Zarządzanie użytkownikami w

Ustawienia personalne

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Utwórz na pulpicie katalog: pierwsza-litera-imienia_nazwisko (np. j_kowalski). W tym katalogu zapisz pliki, które będą tworzone w ramach ćwiczenia

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 10g

Opis zmian w wersji aplikacji Cyfrowe Repozytorium Dokumentów

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

DHL CAS ORACLE Wymagania oraz instalacja

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

11. Autoryzacja użytkowników

Część II: Instalacja systemu Mediqus

Prawa dostępu do plików

T: Zabezpieczenie dostępu do komputera.

Pracownia Komputerowa wykład III

Konfiguracja vsftpd ( Very Secure FTP Server )

Instrukcja programu mam wersja 1.02.

DHL24. Główny Użytkownik. i Przesyłka Serwisowa. Dokumentacja użytkownika końcowego

Bazy Danych. Ćwiczenie 1: Przygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Konta uŝytkowników. Konta uŝytkowników dzielą się na trzy grupy: lokalne konta uŝytkowników, domenowe konta uŝytkowników, konta wbudowane

Serwerftp-vsftp. Rozdział Konfiguracjapodstawowa

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

System kontroli dostępu ACCO NET Instrukcja instalacji

System operacyjny UNIX - użytkownicy. mgr Michał Popławski, WFAiIS

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

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

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

(Pluggable Authentication Modules). Wyjaśnienie technologii.

Przygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front

Wstęp. Modele rejestrowania zdarzeń systemu

Sieciowa instalacja Sekafi 3 SQL

Instytut Teleinformatyki

Podstawowa konfiguracja routera TP-Link WR740N

Jak przygotować zbiorczy plik JPK VAT i przesłać go do urzędu skarbowego?

Praca semestralna. Temat: Użytkownicy, grupy, autoryzacja i uprawnienia w systemie Linux. CENTRUM EDUKACJI AKADEMIA SUKCESU

Wstęp. Zabezpieczenia infrastruktury. Zabezpieczenia oprogramowania. System operacyjny. Oprogramowanie antywirusowe KS-AOW

Zmiany wprowadzone w wersji 1.1 Oprogramowania WYWIAD Plus

Rozdział 5. Administracja kontami użytkowników

System Symfonia e-dokumenty

Edge-Core Networks Przełączniki WebSmart: Podręcznik Administratora

Instalacja i konfiguracja serwera IIS z FTP

Wybrane metody ataków na systemy Oracle

Wymagania. Instalacja SP DETAL

Usługi sieciowe systemu Linux

1. INSTALACJA SERWERA

Instalacja programu S4H

[1/15] Chmury w Internecie. Wady i zalety przechowywania plików w chmurze

Przewodnik użytkownika systemu AgentWorks podwójna kontrola wydanie 11 wersja polska

Windows Server Active Directory

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

Sage Symfonia 2.0 e-dokumenty Zakładanie nowej firmy

Administracja bazami danych

Laboratorium 2 Instalacja i podstawy administracji systemem operacyjnym UNIX na przykładzie dystrybucji Ubuntu Linux.

ANALIZA I RAPORTOWANIE CZASU PRACY ZA POMOCĄ PROGRAMU RCP MASTER v1.x

Mechanizmy lokalnej kontroli dostępu (ACL)

Nautilus LAB. Podręcznik administratora systemu. Moduł Cytologia/Histopatologia. ids Integrated Data Solutions Sp. z o.o.

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Windows Server 2012 Active Directory

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

Skrócony konspekt lekcji prowadzonej w ramach Mobilnego Instytutu Kompetencji. Technologia informacyjna

Do wersji Warszawa,

Data modyfikacji:

Program kadrowo płacowy - wersja wielodostępna z bazą danych Sybase SQL Anywhere 8 lub 9 (Windows/Linux)

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Overlord - specyfikacja uzupełniająca. Jakub Gołębiowski Adam Kawa Piotr Krewski Tomasz Weksej

MEDIS_EWUS_AUTOMAT SYSTEM KS MEDIS: AUTOMAT EWUŚ Wydanie: 1.0 Data wydania: Marzec 2013 Strona/stron: 1/5

Portal zarządzania Version 7.5

Wskazówki do instalacji Systemu Symfonia Forte. Szybki start

Użytkownicy i grupy w systemie Linux. Zasady udostępniania zasobów s systemie Linux.

Tomasz Greszata - Koszalin

SYSTEM INFORMATYCZNY KS-SEW

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Instalacja aplikacji

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Dokumentacja programu. Terminarz zadań. Serwis systemu Windows. Zielona Góra

Aktualizacja Oprogramowania do Obsługi Świadczeń do wersji G

COMODO Endpoint Security Błąd access denied

Instrukcja instalacji oprogramowania dla środowiska Linux

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 ZASADY OCENIANIA

Krótka instrukcja instalacji

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

ZPKSoft Synchronizator

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Działanie komputera i sieci komputerowej.

SAS Institute TECHNICAL SUPPORT )

Co to są Foldery publiczne (Public folders) i jak z nich korzystać?

Świadczenie usługi hurtowej wysyłki wiadomości SMS dla Urzędu Miasta Torunia w latach

Transkrypt:

Ograniczone środowisko wykonywania aplikacji, ograniczenie powłoki systemu operacyjnego środowisk serwerowych, delegacja uprawnień administracyjnych (sudo, CAP) 1. Wprowadzenie Ograniczanie środowiska wykonywania aplikacji i powłoki systemu umożliwia ograniczanie zasobów wykorzystywanych przez aplikację oraz przez konkretnych użytkowników. Wykorzystywany do tego celu jest mechanizm limitów w systemach Linux/Unix. Delegacja uprawnień administracyjnych wykorzystuje dwa mechanizmy. Pierwszym z nich jest mechanizm bitów SUID i SGID, drugim mechanizm SUDO. Celem ćwiczenia jest zrozumienie wszystkich wymienionych powyżej mechanizmów i zastosowanie ich w praktyce. 2. Informacje o mechanizmie limitów Mechanizm limitów wykorzystywany w systemie Linux umożliwia ograniczanie liczby otwartych plików, liczby aktywnych procesów i wiele innych dla każdego z użytkowników. Jednocześnie wiele aplikacji korzysta ze osobnych kont użytkowników i dzięki temu możemy ograniczyć konkretne aplikacje. Mechanizm ten często nazywamy ulimit (eng. user limit),czyli limity użytkownika. Limity narzucane są przez administratora systemu, aczkolwiek, użytkownik może je troszkę modyfikować, dokładniej może jedynie jeszcze bardziej siebie ograniczyć. Możliwości mechanizmu limitów Mechanizm limitów może ograniczać następujące zasoby: wielkość pliku core, wielkość pamięci zajmowanej przez dane, maksymalną wielkość pliku, maksymalną ilość zajmowanej pamięci, maksymalną liczbę jednocześnie otwartych plików, maksymalną wielkość zajmowanych zasobów, maksymalną wielkość stosu, maksymalny czas procesora, który może wykorzystać, maksymalną liczbę równoczesnych procesów, ograniczenie przestrzeni adresowej(*), 1

maksymalną liczbę jednoczesnego zalogowania się użytkownika do systemu(*), maksymalną liczbę zalogowań się do systemu(*), priorytet z jakim mają być uruchamiane procesy użytkownika(*), maksymalna liczba blokad na pliki, maksymalna liczba oczekujących sygnałów do wysłania, maksymalna ilość pamięci użyta dla kolejek typu POSIX, maksymalny priorytet, do którego może być zwiększony priorytet procesu użytkownika(*), maksymalny priorytet czasu rzeczywistego(*). Ograniczenia z gwiazdkami (*) są jedynie dostępne z poziomu konfiguracji limitów poprzez PAM. Ograniczenia te można nadawać wykorzystując aplikację ulimit z odpowiednimi przełącznikami, jak również można wykorzystać mechanizm PAM, który umożliwia proste skonfigurowanie limitów dla użytkowników oraz grup systemu operacyjnego. Podsumowanie mechanizmu limitów Mechanizm limitów może znacznie ograniczyć środowisko dostępne dla użytkownika, można go używać pod warunkiem posiadania wiedzy, którzy użytkownicy wymagają jakich uprawnień. Oczywiście często trudno jest to w prosty sposób zdefiniować, poza tym trzeba brać pod uwagę, że użytkownicy nie lubią żadnych ograniczeń, więc nie można ich się pytać jak bardzo można ich ograniczyć, tylko dochodzić do tego co użytkownik powinien móc robić w systemie. Aplikacje również można w ten sposób ograniczać, na przykład serwer WWW działa na uprawnieniach konta wwwrun, w ten sposób można ograniczyć to konto jednocześnie ograniczając serwer WWW. 3. Informacje o mechanizmie SUDO Mechanizm SUDO ma za zadanie umożliwienie wykonywania aplikacji z innymi uprawnieniami, na przykład z uprawnieniami użytkownika root. Mechanizm ten opiera się na aplikacji poprzez którą mogą być uruchamiane inne aplikacje z innymi uprawnieniami. Aplikacja SUDO jest konfigurowalna przez administratora systemu i to on może ustalić jakie aplikacje mogą być uruchamiane z innymi uprawnieniami, a nawet z jakimi uprawnieniami oraz przez jakiego użytkownika. Możliwości mechanizmu na podstawie pliku konfiguracyjnego Plik konfiguracyjny znajduje się w /etc/sudoersi jest dostępny jedynie dla administratora systemu. Dodatkowo powinien być on edytowany za pomocą polecenia visudo. Plik ten składa się z dwóch części: aliasy (podstawowe zmienne); 2

specyfikację użytkownika (które określają kto może co uruchomić). Wyróżniamy 4 typy aliasów: user_alias runas_alias host_alias cmnd_alias Każdy z typów może zawierać troszkę inne wartości, jednak w ogólności są one proste do zapamiętania, na przykład user_alias może zawierać nazwy użytkowników, nazwy grup oraz inne. Szczegóły dotyczące aliasy znajdują się z podręczniku użytkownika SUDOERS(5). Poniżej kilka przykładów: User_alias User_alias Runas_alias OP = root Runas_alias DB = oracle Host_alias FULLTIMERS = adam, adrian, ania ADVUSER = bartek, piort ORACLE = dblab, oracle, baza Host_alias CS = 150.254.0.0/16 Cmnd_alias KILL = /usr/bin/kill Cmnd_alias SHELLS = /usr/bin/sh, /usr/bin/bash Specyfikacja użytkownika określa jaki użytkownik może wykonać określone aplikacje z określonymi uprawnieniami. Domyślnie każda aplikacja będzie uruchamiana z uprawnieniami administratora, chyba, że podamy inaczej. Również można określić czy użytkownik będzie musiał podawać hasło, aby uzyskać dostęp do danej komendy. Przykłady: FULLTIMERS CS = NOPASSWD: SHELLS, KILL określa, że użytkownicy FULLTIMERS mogą na komputerach CS bez hasła wykonać komendy SHELLS i KILL z uprawnieniami root. bartek ALL = (DB) NOPASSWD: SHELLS użytkownik bartek może na wszystkich komputerach wykonać bez hasła komendy SHELLS z uprawnieniami DB piotr ALL,!ORACLE = (www) ALL, (OP) KILL, (DB) /usr/bin/ls użytkownik piotr może na wszystkich komputerach za wyjątkiem komputerów ORACLE wykonywać wszystkie komendy z uprawnieniami www, natomiast komendy KILL z uprawnieniami OP, a komendę /usr/bin/ls z uprawnieniami DB Większą liczbę przykładów i opisy można znaleźć w podręczniku użytkownika SUDOERS(5). 3

Podsumowanie mechanizmu SUDO Mechanizm SUDO pozwala dopuszczać użytkowników do wykonywania aplikacji z innymi uprawnieniami, przy czym nie ma znaczenia czy aplikacja na to pozwala czy nie, gdyż jest to on niej nie zależne. Dodatkowo administrator systemu ma pełną kontrolę nad użytkownikami, którzy mogą posiadać możliwości wykorzystywania tego mechanizmu oraz ścisłe ograniczenia w jaki sposób mogą z nich korzystać. 4. Informacje o mechanizmie SUID i SGID Mechanizm SUID i SGID jest najprostszym z wyżej wymienionych. Jest on także bardzo prosty i opiera się na systemie plików, gdyż z każdym plikiem możemy określić dodatkowy bit uprawnień, określający SUID i SGID. Na podstawie ustawionego tego bitu system operacyjny wykonuje aplikację z innymi uprawnieniami, dokładniej wykonuje ją z uprawnieniami właściciela aplikacji. Jeśli ustawimy bit SUID to aplikacja zostanie wykonana z uprawnieniami właściciela aplikacji, niezależnie od tego kto ją wykona, pod warunkiem, że posiada uprawnienia do jej wykonania. Natomiast bit SGID określa, że aplikacja zostanie wykonana z uprawnieniami grupy właściciela aplikacji, która to jest określona jako grupa danego pliku. Niestety mechanizm ten nie posiada żadnej kontroli, dlatego uważany jest za bardzo niebezpieczny i jedynie niektóre komendy powinny mieć ustawiony bit SUID, przykładem takiej aplikacji jest /bin/ping lub inne komendy wymagające wysokich uprawnień. Przypisanie bitu SUID i SGID do pliku wykonywane jest za pomogą programu chmod, na przykład chmod u+s plik spowoduje dodanie bitu SUID, natomiast chmod g+s plik spowoduje przypisanie bitu SGID. 5. Zadania Wykorzystać zaprezentowane powyżej mechanizmy w celu: wykorzystaj mechanizm limitów do ograniczenia użytkownika secoff w następujący sposób: ustal możliwość jednokrotnego logowana do systemu, dopisz ograniczenie na liczbę procesów oraz maksymalną wielkość nowo tworzonego pliku. Zweryfikuj poprawność działania wpisanych limitów, wykorzystaj mechanizm SUDO, aby umożliwić użytkownikowi secoff uruchamiać z uprawnieniami administratorskimi aplikacji ls oraz aplikacji find z uprawnieniami użytkownika wwwrun, wykorzystaj mechanizm SUDO do ustanowienia uprawnień dla users do wykonywania polecenia ls z uprawnieniami użytkownika secoff oraz aplikacji minicom z uprawnieniami administratorskimi, wykorzystaj mechanizm SUID i SGID do ustanowienia podobnych uprawnień jak w powyższych dwóch punktach, odpowiedz na pytanie na ile jest to możliwe i czy na pewno daliśmy tylko takie uprawnienia? wykorzystaj aplikację find do znalezienie wszystkich aplikacji posiadających ustawiony jeden z bitów SUID lub SGID, przedstaw listę prowadzącemu wraz z uzasadnieniem dlaczego akurat te aplikacje mają ustawiony ten bit. 4

6. Problemy do dyskusji czy przestawione powyżej mechanizmy posiada wady, jakie? jakie są zalety powyższych mechanizmów? czy można by rozbudować któryś z mechanizmów, jeśli tak to o jaką funkcjonalność? które z mechanizmów powinien wykorzystywać administrator systemu chcący zapewnić bezpieczeństwo systemu, a których powinien się wystrzegać? 7. Bibliografia [SUDO] Linux SUDO http://www.gratisoft.us/sudo/ [SUID] SUID-SGID http://www.homepage.montana.edu/~unixuser/051602/suid.html [Ulimit] podręcznik użytkownika bashbuiltins(1) 5