1 / 30

Serwer oparty na systemie Linux, podstawy jego administracji

Serwer oparty na systemie Linux, podstawy jego administracji. Wykonanie: Wojciech Olanin, kl. 1Ti. Opis popularnych wersji systemu Linux do zastosowań serwerowych. Debian CentOS Red Hat Enterprise Linux. Debian. CentOS. Red Hat Enterprise Linux. Przydatne programy do

keaira
Download Presentation

Serwer oparty na systemie Linux, podstawy jego administracji

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Serwer oparty na systemie Linux, podstawy jego administracji Wykonanie:Wojciech Olanin, kl. 1Ti

  2. Opis popularnych wersji systemuLinux do zastosowań serwerowych • Debian • CentOS • Red Hat Enterprise Linux

  3. Debian

  4. CentOS

  5. Red Hat Enterprise Linux

  6. Przydatne programy do monitorowania całego systemu • Wstęp • top, htop • nload, iptraf, tcpdump • smartctl

  7. Wstęp Prezentowane przykłady będą opierały się na systemie operacyjnym Linux Debian (wersja 6) ponieważ uważam, iż jest on najprostrzy w obsłudze i nauce zarówno dla zaawansowanych jak i początkujących administratorów. Dla zostosowań serwerowych polecam instalować system bez środowiska graficznego, ponieważ i tak w większości przypadków jest on nie używany, nie potrzebny, gdyż wszystko instaluje się, wykonuje z poziomu konsoli, a w takim przypadku zużywa on niepotrzebnie zasoby serwera. W pierwszej kolejności po zalogowaniu się do nowo zainstalowanego systemu należy go zaktualizować, można zrobić to za pomocą komendy:apt-get update && apt-get upgradePo chwili, jeżeli mamy system w języku polskim pojawi się komunikat:Kontynuować [T/n]? -> Wpisujemy w konsoli literę: „t” i klikamy [enter](dla systemu w innym języku pojawi się również podobny komunikat w odpowiednim języku). Jeśli pojawią się podczas aktualizacji jakieś inne dodatkowe komunikaty klikamy po prostu [enter] System został poprawnie zaktualizowany.

  8. Procesy - top Możemy przeglądać aktualnie uruchomione procesy na serwerze oraz monitorować ile oraz jakie zasoby zużywają procesora, pamięci. Do tego celu służy polecenie: top nie musimy go instalować. Poniżej przykładowy wynik:

  9. Procesy - htop Polecenie htop pokazuje analogicznie to samo co polecenie top lecz jego wyniki są wyświetlane w bardziej przejżysty sposób. Program trzeba doinstalować do systemu. Można to zrobić komendą: apt-get install htop

  10. Sieć - nload Dzięki poleceniu nload możemy w przejżysty sposób monitorować wykożystanie łącza, transferu na serwerze. Program można zainstalować, wydająć komendę: apt-get install nload Domyślnie wyniki pokazywane są w Bit/s, polecam jednak wświetlać je w Mbit/s, w tym celu program należy uruchomić z dodatkowymi parametrami komendą: nload -u m -U G eth0

  11. Sieć - iptraf Czasem w różnych okolicznościach przydają się szczegółowe informacje o zużyciu łącza, np. kto w danej chwili jest połączony z naszym serwerem.Takie informacje można uzyskać dzięki programowi iptraf, który trzeba również zainstalować: apt-get install iptraf Końcówki adresów IP zostały ukryte celowo, domyślnie są widoczne.

  12. Sieć - tcpdump Również przydatne polecenie tcpdump, zawiera wiele różnego rodzaju opcji. Pozwala m.in. na logowanie ruchu sieciowego i zapisywanie połączeń do pliku. W prosty sposób można sortować oraz wybierać interesujące nas informacje o połączeniach. Program jest zainstalowany domyślnie. Końcówki adresów IP zostały ukryte celowo, domyślnie są widoczne.

  13. Działanie dysku - smartctl Można powiedzieć, że w serwerze najważniejszym podzespołem jest dysk twardy, o który należy w szczególności „dbać” i monitorować jego działanie. To właśnie na nim znajdują się wszystkie zapisane nasze dane. Jeżeli ulegnie awarii możemy utracić bezpowrotnie nasze wszystkie dane oraz ew. użytkowników. Z pomocą przychodzi pakiet smartmontooli polecenie: smartctlWyświetli nam szczegółowe informacje o konkretnym dysku. Przykład polecenia: smartctl -a /dev/sdX w miejsce litery X podajemy literę dysku twardego, przykładowo dla jednego dysku jest to: a, dla dwóch dysków mamy litery: a, b dla kolejnych analogicznie. W zależności od typu dysku oraz producenta oznaczenia, wartości maksymalne, minimalne mogą się różnić jakie dysk może spełniać, lecz w większości są one podobne.

  14. Podstawowe zabezpieczenieserwera • iptables • fail2ban • denyhosts

  15. iptables Iptables to program sterujący filtrem pakietów (głównie używanym jako zapora sieciowa bądź NAT) opracowany dla systemu operacyjnego Linux. Autor Rusty Russell napisał pierwszą wersję w 1998 roku w języku C. Program może być używany jako filtr pakietów, bądź tzw. stanowa zapora dla systemów Linux z jądrem począwszy od serii 2.4.x, kontrolujący połączenia wchodzące i wychodzące do sieci komputerowej lub stacji roboczej. Wymaga jądra skompilowanego z modułem ip_tables. Aplikacja jest zainstalowana domyślnie. Przykład blokowania dostępu do całego serwera z konkretnego adresu IP:iptables –A INPUT –s 127.0.0.1 –j DROPGdzie pod: 127.0.0.1 podstawiamy adres IP jaki ma być zablokowany. Przykład usuwania zablokowanego adresu IP z zapory: iptables –D INPUT –s 127.0.0.1

  16. fail2ban Fail2ban to niezwykle ciekawa aplikacja dla każdego administratora serwera, ale także dla zwykłego użytkownika. Głównym zadaniem wspomnianej aplikacji, jest analizowanie plików z logami serwerów usług takich, jak ssh, ftp, www, poczta, itp. Według gotowych “filtrów” wychwytywane są charakterystyczne frazy dla błędnych prób połączeń. Na ich podstawie identyfikowane są niepożądane zachowania, a winowajcy blokowani.Aplikacje trzeba zainstalować poleceniem: apt-get install fail2ban Konfiguracja sprowadza się do edycji kilku plików. Zacznijmy od “/etc/fail2ban/jail.conf”, znajdują się tam wszelkie reguły filtracji.W pliku “/etc/fail2ban/fail2ban.conf”, możemy ustawić m.in.: loglevel = 3 # poziom logowania (1-błędy,2-ostrzeżenia,3-informacyjne,4-debug) logtarget = /var/log/fail2ban.log # ścieżka do pliku z logami dla fail2ban

  17. denyhosts DenyHosts jest programem napisanym w Pythonie i jest jednym z najlepszych narzędzi do zabezpieczania SSH przeciw atakom typu brute force stosowanymi najczęściej przez boty. Program należy zainstalować, komendą: apt-get install denyhosts Plik konfiguracyjny mieści się w: /etc/denyhosts.conf W nim będziemy dokonywać całą konfigurację programu, na początek najważniejsza opcja: SECURE_LOG #odpowiada za ścieżkę do logów SSH HOSTS_DENY #opcja tyczy się również położenia pliku z logami, jeśli instalowaliśmy program z paczki (np. pod Debianem) to nie trzeba tych dwóch pierwszych opcji modyfikować PURGE_DENY #odpowiada za czas po jakim IP będą odblokowywane, jeśli opcja jest bez parametrów to oznacza to, że nigdy BLOCK_SERVICE #tutaj ustawiamy czy blokowany ma być dostęp tylko do SSH czy do wszystkich usług serwera, standardowo opcja jest ustawiona na ALL, czyli blokowanie dostępu do wszystkich usług DENY_THRESHOLD_INVALID #po ilu nieudanych próbach logowania na konta których nie ma w /etc/passwd (ogólnie mówiąc plik z listą kont w systemie) ma być blokowany dostęp, jest to opcja zabezpieczająca przeciw atakom słownikowym

  18. denyhosts DENY_THRESHOLD_ROOT #ilość prób logowania na konto root (główne konto administratora systemu) DENY_THRESHOLD_RESTRICTED #odpowiada za ilość prób logowania na konta znajdujące się w /var/lib/denyhosts/restricted-usernames (standardowo), polecam ustawić wartość 1, a do pliku /var/lib/denyhosts/restricted-username dopisać konta, które nigdy nie powinny mieć możliwości logowania na SSH np. mysql, więcej tutaj ADMIN_EMAIL #tutaj możemy ustawić adres e-mail admina na który mają dochodzić powiadomienia o blokowaniu danego IP, raczej nie polecam ustawiania tej opcji na większych serwerach :-), wszystkie opcje zaczynające się od SMTP_ #odpowiadają za sposób wysyłania poczty i dane konta z którego będzie wysyłane powiadomienie o blokadzie, natomiast wszystkie opcje zaczynające się od AGE_RESET_ #odpowiadają za czas naliczania prób logowania SYNC_SERVER #bardzo przydatna opcja pozwalająca na synchronizację bazy blokowanych adresów IP, szczerze polecam SYNC_INTERVAL #czas co ile lista będzie synchronizowana baza SYNC_UPLOAD #czy program ma wysyłać zablokowane przez nasz serwer adresy IP SYNC_DOWNLOAD #czy program ma ściągać listę IP zablokowanych adresów przez innych użytkowników programu, polecam obie powyższe opcje włączyć (yes) SYNC_DOWNLOAD_THRESHOLD #bardzo ważna opcja, ile różnych serwerów musi wysłać dane IP, żeby zostało zablokowane na naszym serwerze, polecam wartość 3 lub więcej.

  19. Instalacja i konfiguracja przydatnych pakietów do pracy jako serwer stronWWW • apache2, PHP5 • MySQL, PhpMyAdmin • Serwer FTP – proftpd • Zadania - cron

  20. Serwer stron - apache2, php5 Apache jest najszerzej stosowanym serwerem HTTP w Internecie. W grudniu 2011 jego udział wśród serwerów wynosił 65%. W połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych środowisk w firmach oferujących miejsce na serwerach sieciowych. PHP jest najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym (np. za pomocą biblioteki GTK+, używając rozszerzenia PHP-GTK). Implementacja PHP wraz z serwerem WWW Apache oraz serwerem baz danych MySQL określana jest jako platforma AMP (w środowisku Linux – LAMP, w Windows – WAMP). Ponadto PHP można uruchomić na serwerze IIS (Windows) oraz w chmurze Windows Azure.

  21. Instalacja - apache2, php5 Instalacja zarówno apache2 jak i PHP5 jest bardzo prosta. Wszystko opiera się na wykonaniu kilku prostych komend. Na początku instujemy apache2: apt-get install apache2 Instalacja PHP5 i kilka przydatnych modułów:apt-get install php5 php5-cgi php5-curl php5-mysql php-pear libapache2-mod-php5 Możemy aktywować sobie jeszcze obsługę mod_rewrite (.htaccess), poprzez komendę: a2enmod rewrite Na sam koniec należy zrestartować apache2:/etc/init.d/apache2 restart Pliki naszej strony możemy umieszczać, w katalogu: /var/www Stronę można zobaczyć pod adresem: http://127.0.0.1/

  22. Baza danych - MySQL, PhpMyAdmin MySQL rozwijany jest przez firmę Oracle. Wcześniej przez większość czasu jego tworzeniem zajmowała się szwedzka firma MySQL AB. MySQL AB została kupiona 16 stycznia 2008 roku przez Sun Microsystems[1], a ten 27 stycznia 2010 roku przez Oracle. PhpMyAdmin – narzędzie służące do łatwego zarządzania bazą danych MySQL, napisane w języku PHP. Oprogramowanie wydawane jest na licencji GNU General Public License i umożliwia między innymi tworzenie/usuwanie baz danych, dodawanie/kasowanie relacji oraz edycję ich struktury i zawartości. Wszystkie operacje mogą być wykonywane z poziomu przeglądarki internetowej, w graficznym środowisku, bez konieczności pracy z domyślnym interfejsem tekstowym.

  23. Instalacja - MySQL, PhpMyAdmin W prosty sposób można zainstalować serwer baz danych MySQL oraz przyjazny panel do obsługi tej bazy PhpMyAdmin. Instalację rozpoczynamy wykonaniem komendy:apt-get install mysql-server mysql-common mysql-client Podczas instalacji zostaniemy poproszeni o podanie hasła, należy je wpisać i zatwierdzić klawiszem [enter] Nasz serwer bazy danych został zainstalowany pomyślnie. Instalacja panelu PhpMyAdmin jest również prosta: apt-get install phpmyadminPodczas instalacji należy zaznaczyć (spacją) obok napisu: apache2 i kliknąć [enter], po chwili znów klikamy [enter] i podajemy hasło 3-krotnie to samo co podczas instalacji MySQL. Wykonamy jeszcze kilka komend i baza jest gotowa do pracy.cp /etc/phpmyadmin/apache.conf /etc/apache2/sites-available/phpmyadmin&& a2ensite phpmyadmin && /etc/init.d/apache2 restart Możemy zalogować się do panelu pod adresem: http://127.0.0.1/phpmyadmin

  24. Serwer FTP - proftpd Do plików warto mieć dostęp przez protokół FTP. W tym celu zainstalujemy serwer proftpd i dodamy nowego użytkownika. Rozpoczynamy wykonując komendę: apt-get install proftpd Wybieramy opcję domyślną – standalone i klikamy [enter] Po instalacji koniecznie należy odkomentować linię DefaultRoot ~ w pliku konfiguracyjnym, poleceniem: nano /etc/proftpd/proftpd.conf aby użytkownicy nie mogli „wychodzić” ponad swój katalog domowy. Jeszcze zrestartujemy serwer: /etc/init.d/proftpd restart Aby dodać nowego użytkownika wykonujemy polecenie:adduser –d nazwa_uzytkownika podajemy dwókrotnie hasło, którego nie widać zatwieradzając klawiszem [enter], a w późniejszych krokach klikamy tylko [enter]. Konto zostało utworzone. Z wybranym loginem oraz hasłem możemy się teraz zalogować przez klienta FTP. Pliki znajdują się w katalogu: /home/nazwa_uzytkownika zostaje on automatycznie utworzony.

  25. Zadania - cron Cron pozwala na cykliczne uruchamianie wybranych programów, skryptów. Plik z wisami można edytować za pomocą komendy: nano /etc/crontab Kilka przykładów: /etc/cron.hourly - skrypty wykonywane co godzinę/etc/cron.daily - skrypty wykonywane codziennie/etc/cron.weekly - skrypty wykonywane raz w tygodniu/etc/cron.monthly - skrypty wykonywane raz w miesiącu 23 0-23/2 * * * echo "uruchamiaj 23 min po polnocy, 2, 4 ..., codziennie”5 4 * * sun echo "Uruchamiaj się 5 po 4 w niedziele”0 10 * * 1,3 echo "Uruchamiaj się w każdy poniedzialek i srode o 10.00"*/2 * * * * echo "Uruchamiaj się co 2 minuty"

  26. Zadania - cron Przykład budowy polecenia odpowiadającego za czas wykonania: * * * * * komenda do wykonania- - - - - | | | | | | | | | +----- dzień tygodnia (0 - 7) (Niedziela=0, Poniedziałek=1, Wtorek=2,..., Niedziela=7) | | | | | | | +------- miesiąc (1 - 12) | | | | | +--------- dzień miesiąca (1 - 31) | | | +----------- godzina (0 - 23) | +------------- minuta (0 - 59)

  27. Przykłady przydatnychpoleceń i programów

  28. Przydatne polecenia, programy • apt-get install nazwa <= Instalacja pakietu o danej nazwie • cd /sciezka/do/katalogu <= Przejście do katalogu • df –h <= Ilość wolnego miejsca na dysku • ls <= Lista plików w danym katalogu • lsof -i -n -P | grep port <= To samo co powyżej, lecz inny sposób • mkdir <= Tworzenie katalogu • nano <= Przyjazny edytor plików • ndcu / <= To samo co powyżej lecz lepiej przedstawione graficznie • netstat -anp | grep port <= Sprawdzanie co nasłuchuje na danym porcie • netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort –n <= Wykrywanie ilości połączeń z danego adresu IP • passwd <= Zmiana hasła użytkownika root, lub usera po podaniu nazwy • reboot <= Restart systemu • w <= Lista zalogowanych użytkowników • To tylko bardzo mała część poleceń, po więcej zapraszam na stronę: http://gabo.hi.pl/linux/polecenia.htm

  29. Bibliografia • http://centos.com.pl • http://forum.infojama.pl • http://google.pl/images • http://gustaff.bsdaemon.pl • http://iconfinder.com • http://linuxportal.pl • http://wikipedia.org

  30. Dziękuję za uwagę Wykonanie:Wojciech Olanin, kl. 1Ti

More Related