Serwery baz danych
Transkrypt
Serwery baz danych
Serwery baz danych Laboratorium 0a. Pobieranie najnowszej wersji bazy danych Ćwiczenie 1: Sprawdź ostatnią wersję (alfa) serwera baz danych PostgreSQL 1. Otwórz stronę internetową z plikami źródłowymi serwera baz danych PostgreSQL. Jaka jest ostatnia dostępna wersja? 11 sierpnia 2016 roku była to wersja 9.5.3. Dalej w instrukcji będziemy posługiwać się tą wersją. 2. Po wybraniu tej wersji u góry w przeglądarce (Google Chrome), pojawił się adres: https://www.postgresql.org/ftp/source/v9.5.3/. 3. Uruchom wirtualną maszynę z serwerem Debian (plik sbd2015-pgsql-9.4.1src.vdi); zaloguj się jako użytkownik dbuser (hasło: sbd). 4. Wejdź do katalogu /src, czyli wykonaj komendę cd /src. 5. Pobierz plik postgresql-9.5.3.tar.bz2, czyli wykonaj komendę wget adres+nazwa pliku czyli: wget https://www.postgresql.org/ftp/source/v9.5.3/postgresql9.5.3.tar.bz2. Po wykonaniu tej komendy serwer zwraca następujący błąd 6. Komunikat systemowy jednoznacznie wskazuje, aby połączyć się bez konieczności sprawdzania certyfikatu (parametr --no-check-certificate). Tym samym, zmieniona komenda powinna brzmieć następująco: wget --no-checkcertificate https://www.postgresql.org/ftp/source/v9.5.3/postgresql9.5.3.tar.bz2. Serwer zwrócił błąd 404, co oznacza, iż żądany przez użytkownika plik nie został znaleziony na serwerze. Tym samym, adres jest błędny. 7. Po wybraniu prawym klawiszem na pliku postgresql-9.5.3.tar.bz2, dostępna jest opcja „Kopiuj adres linku”. Po wklejeniu tego adresu do notatnika jest to adres: https://ftp.postgresql.org/pub/source/v9.5.3/postgresql9.5.3.tar.bz2; jest to inny adres niż wyświetla w pasku adresu przeglądarka. 8. Kolejna próba pobrania pliku z serwera, tym samym przy pomocy komendy: wget --no-check-certificate https://ftp.postgresql.org/pub/source/v9.5.3/postgresql-9.5.3.tar.bz2 powinna zakończyć się sukcesem. 9. Aby zweryfikować czy plik został zapisany w odpowiednim miejscu, należy wydać polecenie ls -l /src. Ćwiczenie 2: Aktualizacja pliku „listy” źródeł. Do części swoich operacji APT używa pliku zawierającego listę `źródeł', z których mogą być pobierane pakiety. Tym plikiem jest /etc/apt/sources.list. Aby zmienić wpisy (dystrybucja squeeze została przeniesiona do archiwum), należy: 1. Edytować plik /etc/apt/sources.list, czyli wydać polecenie pico /etc/apt/sources.list; 2. Zmienić dwa pierwsze wpisy tak oby przyjęły one następującą postać: deb http://archive.debian.org/debian squeeze main contrib non-free deb http://archive.debian.org/debian squeeze-lts main contrib non-free 3. Zapisz plik, czyli wykonaj polecenie CTRL+O i następnie wyjdź z programu, czyli wykonaj polecenie CTRL+X. 4. Dokonaj aktualizacji listy pakietów, czyli wykonaj polecenie apt-get update; zwróć uwagę z jakimi serwerami łączy się menedżer pakietów 5. Aby dokonać fizycznej aktualizacji plików, wykonaj polecenie apt-get upgrade; więcej na temat menedżera pakietów można znaleźć na tej stronie. Ćwiczenie 3. Instalacja serwera i klienta SSH. W celu łatwiejszego (wygodniejszego) dostępu do serwera baz danych można łączyć się zdalnie z serwerem, wykorzystując w tym celu protokół SSH, służący do terminalowego łączenia się zdalnymi komputerami. Aby go zainstalować należy: 1. Zaloguj się jako root, czyli wykonaj polecenie su i podaj hasło (sbd). 2. Zainstaluj protokół ssh w wersji serwer i klient, czyli wykonaj polecenie apt-get install openssh-server openssh-client ; 3. W przypadku modyfikacji domyślnej konfiguracji usługi, dobrą praktyką jest wykonanie kopii pliku, który przechowuje jej konfigurację; plik konfiguracji usługi ssh to /etc/ssh/sshd_config; wykonaj kopię tego pliku, czyli wykonaj polecenie cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orgnial_copy 4. Uruchom usługę ssh, czyli wykonaj polecenie /etc/init.d/ssh start; aby zatrzymać usługę należy wykorzystać parametr stop, aby ją zrestartować należy wykorzystać parametr restart. 5. Wygodnym i godnym uwagi programem tj. klientem protokołu ssh jest program Putty, dostępny do pobrania tutaj. 6. Uruchom program. W pasku Host Name (or IP address) wpisz adres IP pętli zwrotnej: 127.0.0.1, i niezarezerwowany (losowo wybrany) numer portu, np. 12345; w sekcji Window, wybierz podsekcje Apperance, zmienić czcionkę na Consolas; wróć do sekcji Session, wpisz nazwę SBD-Postgres i kliknij Save. 7. Aby móc połączyć się z serwerem bazy danych należy sprawdzić jego adres IP, w tym celu wykonaj polecenie ifconfig -a w konsoli serwera; 8. W powyższym przypadku, adres IP interfejsu eth5 to 10.0.2.15. Teraz należy utworzyć przekierowanie tak aby zapytania kierowane na adres 127.0.0.1 na porcie 12345 były przekierowywane do serwera na adres 10.0.2.15 na port 22; aby to zrobić wybierz Oracle VM VirtualBox Manager, wybierz wirtualną maszynę, która jest uruchomiona i na której został zainstalowany serwer bazy danych, następnie wybierz Settings, przejdź do zakładki Network, i wybierz Port Forwarding; teraz należy utworzyć adekwatną do powyższych ustawień regułę, czyli klikamy po prawej stronie przycisk Add new port forwarding rule; powinna być zdefiniowana tak jak na poniższym obrazie. 9. Ostatecznie należy zatwierdzić klikając OK. 10. Aby połączyć się zdalnie z serwerem bazy danych, w programie Putty, kliknij Open; powinna pojawić się informacja dotycząca akceptacji nowego klucza, w tym miejscu należy kliknąć Yes (Tak); ostatecznie powinien pojawić się ekran z podaniem nazwy użytkownika (obraz poniżej); Zaloguj się jako super użytkownik, czyli podaj login root i hasło sbd. Czy Twoim zdaniem jest to dobra praktyka, aby logować się zdalnie wykorzystując w tym celu konto super użytkownika? Gdzie Twoim zdaniem można znaleźć informacje na temat polityki (dobrych praktyk) w zakresie bezpiecznego wykorzystywania kont użytkowników? Dobrą praktyką, zresztą tylko jedną z wielu, jest brak możliwości zdalnego logowania się super użytkownika. Konfiguracja usługi ssh znajduje się w pliku /etc/ssh/sshd_config. Aby zabronić super użytkownikowi logowania się, wykonaj polecenie pico /etc/ssh/sshd_config, następnie zmień parametr PermitRootLogin z yes na wartość no (pamiętaj o spacji po nazwie), zapisz zmiany w pliku i wyjdź z edytora pico; następnie zrestartuj usługę ssh, czyli wykonaj polecenie service ssh restart. Czy teraz zalogowanie się jako super użytkownik jest możliwe? Ekran poniżej, po próbie zalogowania się, wskazuje że dostęp został zabroniony.