FTP co to takiego? FTP File Transfer Protocol (Protokół Przesyłania Plików) RFC 114,959



Podobne dokumenty
Technologie internetowe

Apache serwer WWW (część 2) Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

W poprzednim odcinku poznaliśmy: W poprzednim odcinku, cd.: W dzisiejszym odcinku. Apache serwer WWW (część 2)

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Parametr --prefix wskazuje katalog, do którego zostanie zainstalowany serwer.

Warstwa aplikacji. Model TCP/IP Model OSI

Apache serwer WWW. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Apache. Apache serwer WWW

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 2 Seria: Teleinformatyka 2013

Tomasz Greszata - Koszalin

Serwery WWW. Konfiguracja. Zadania serwera. NCSA httpd 1.5

Programowanie w Internecie

Aplikacje WWW. Wykład 12. Serwery HTTP. wykład prowadzi: Maciej Zakrzewicz. Serwery HTTP

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.


Języki programowania wysokiego poziomu WWW

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

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

Konfiguracja serwera Apache

Zarządzanie systemami informatycznymi. Zarządzanie serwerem httpd: Apache

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Linux -- u mnie działa!

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

I.Wojnicki, Tech.Inter.

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Instytut Teleinformatyki

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Zapoznanie się z konfiguracją i zarządzaniem serwerem WWW - Apache.

Serwer Apache podstawy instalacji i administracji.

Wybrane działy Informatyki Stosowanej

Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Bezpieczeństwo WWW. Plan prezentacji. WWW a protokoły TCP/IP; URL. Czym jest WWW?

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Programowanie Sieciowe 2 Protokoły komunikacyjne: FTP

Michał Gottlieb. Podręcznik Apache.

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Usługi sieciowe systemu Linux

Budowa intranetu Linux, Apache, VirtualHost. Rajmund Radziewicz

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Laboratorium 3.4.2: Zarządzanie serwerem WWW

Aplikacje internetowe - laboratorium

Stos TCP/IP. Warstwa aplikacji cz.2

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Programowanie w Internecie

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

LIGHTTPD szybkość i prostota. Robert Partyka

Administrowanie serwerami usług sieciowych WWW

HTTP. literatura:

ASL Serwer FTP dokumentacja

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Laboratorium nr 4 - Badanie protokołów WWW

Bezpieczeństwo systemów informatycznych

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

mgr inż. Michał Paluch

DOKUMENTACJA TECHNICZNA SMS API MT

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Aplikacje WWW - laboratorium

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Aplikacje WWW - laboratorium

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Konfiguracja vsftpd ( Very Secure FTP Server )

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Sprawozdanie Laboratorium 4

SOWA-WWW. Moduł prezentacji katalogu bibliotecznego w sieci WWW. Dokumentacja techniczna. Autor: Michał Fryska Data: Wersja: 1.

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Seria: Teleinformatyka PROTOKÓŁ I SERWER FTP PRZYKŁADY KOMUNIKACJI Z SERWEREM FTP

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Protokoły Internetowe

instrukcja INSTALACJI APi_proxy

Języki i narzędzia programowania III. Łukasz Kamiński Wykład I

KARTA KURSU. Administracja serwerami WWW

Aplikacje WWW. Wykład 4. Protokół HTTP. wykład prowadzi: Maciej Zakrzewicz. Protokół HTTP

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

SOWA-WWW. Moduł prezentacji katalogu bibliotecznego w sieci WWW. Dokumentacja techniczna. Autor: Michał Fryska Data: Wersja: 2.

mod ssl moduł umożliwiający uruchomienie protokołu https, czyli szyfrowanej wersji serwisu

Internetowe bazy danych

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok

Pełna specyfikacja usługi Kreator WWW

Pełna specyfikacja usługi Kreator WWW

Tomasz Greszata - Koszalin

DOKUMENTACJA INTERFEJSU API - HTTPS

Projekt e-deklaracje 2

FTP File Transfer Protocol

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse

Bazy danych i strony WWW

Instalacja i konfiguracja serwera SSH.

Wykaz zmian w programie SysLoger

Zadanie programistyczne nr 3 z Sieci komputerowych

Propozycje projektów (gniazdka)

Transkrypt:

FTP co to takiego? FTP File Transfer Protocol (Protokół Przesyłania Plików) RFC 114,959 Protokół niezawodnego przesyłania plików za pomocą prostych komend tekstowych. Jeden z najstarszych protokołów stosowanych w Internecie (1971r.)

FTP jak to działa? klient FTP port x port y zestawienie połączenia przez komendy sterujące (kody zwrotne podobne do SMTP) wymiana danych serwer FTP port v port z komenda USER PASS LIST ABOR QUIT RETR STOR PORT PASV Opis nazwa użytkownika hasło logowania wyświetlenie listy plików i katalogów przerwanie wszystkich połączeń wylogowanie z serwera pobieranie pliku wgrywanie pliku zestawienie połączenia aktywnego zestawienie połączenia pasywnego

Rodzaje połączeń FTP klient FTP (192.168.0.1) port 1288 port 1638 POŁĄCZENIE AKTYWNE zestawienie połączenia PORT 192,168,0,1,6,102 (((((((( ))))))))!!! wymiana danych serwer FTP (10.0.0.1) port 21 port 20 klient FTP (192.168.0.1) port 1288 port 1774 POŁĄCZENIE PASYWNE serwer FTP (10.0.0.1) zestawienie połączenia (PASV) port 21 PORT 10,0,0,1,14,215 (((((((( ))))))))!!! port 3799 wymiana danych

Proftpd konfiguracja (/etc/proftpd.conf) ServerType inetd PassivePorts 65100 65200 DisplayLogin welcome.msg Port 2221 User nobody Group nogroup <Directory Upload> <Limit WRITE> Allow from 192.168.0.0/24 </Limit> </Directory> <Anonymous /home/ftp> MaxClients 10 </Anonymous> <VirtualHost ftp.xyz.pl > Port 3221 </VirtualHost>

HTTP co to takiego? HTTP HyperText Transfer Protocol (Protokół Przesyłania Hipertekstu) RFC 2616 Bezstanowy (bazujący na prostej regule żądanieodpowiedź) protokół udostępniania dokumentów WWW (w formie tzw. hipertekstu - tekstu, odnośników, formularzy, tabel, grafiki itp. ) za pomocą prostych komend tekstowych. Jeden z najpopularniejszych protokołów stosowanych w Internecie i rdzeń jego funkcjonalności.

HTTP rodzaje wiadomości wiadomość HTTP wspólny nagłówek Cache-Control: Connection: Date: Pragma : nagłówek żądania Accept-Encoding Referer Authorization If-Modified-Since nagłówek odpowiedzi metoda GET / HTTP 1.1 POST file.bin kod odpowiedzi treść wiadomości HTTP nagłówek treści Allow Content-Encoding Content-Language Content-Type Expires Last-Modified ciało treści Age Retry-After WWW-Authenticate 200 OK 404 Bad Request

Metody żądań HTTP OPTIONS Żądanie określenia możliwości serwera (podanych w nagłówku żądania) GET Pobranie wskazanego zasobu HEAD Pobranie tylko nagłówka z meta-informacjami strony WWW POST Przesłanie danych na serwer do podanego zasobu PUT Przesłanie wskazanych danych na serwer DELETE Usunięcie wskazanego zasobu TRACE Odesłania żądania do nadawcy (diagnostyka połączenia) CONNECT Żądanie tunelowania połączenia ze wskazanym proxy

Kody odpowiedzi HTTP 1xy (Informacja) Żądanie otrzymane, proces wykonywania w toku 2xy (Akceptacja) Żądanie otrzymane i poprawnie wykonane 3xy (Przekierowanie) Żądanie otrzymane, ale wymagana dalsza interakcja klienta 4xy (Błąd klienta) Żądanie ma złą składnie, bądź nie może być wykonane 5xy (Błąd serwera) Serwer nie był w stanie wykonać prawdopodobnie poprawnego żądania kod Opis 100 Continue Serwer wykonuje żądanie,klient może wysyłać kolejne żądania 200 OK Żądanie wykonane prawidłowo 301 Moved Permanently 400 Bad Request 401 Unauthorized Żądany zasób znajduje się pod innym adresem, konieczne podanie nowego URI Nieznane żądanie (błąd syntaktyczny) Odmowa dostępu do zasobu, z powodu błędnej autoryzacji 404 Not Found Nie ma takiego zasobu 500 Internal Server Error 503 Service Unavailable Serwer napotkał niespodziewany błąd wewnętrzny Serwer jest zbyt obciążony

Charakterystyka serwera Apache Najpopularniejszy serwer HTTP (62%) w Internecie. Z dostępnym kodem źródłowym wsparcie dla hostów wirtualnych obsługa indywidualnych polityk dostępu do katalogów wysoce modularny (php, mysql, proxy, auth, ssl, itp.). wszechstronne opcje logowania Jest poprawioną i bardziej rozbudowaną pochodną serwera NCSA (stąd nazwa: a patchy server )

konfiguracja serwera HTTP na przykładzie Apache( /etc/apache/httpd.conf ) ServerType standalone ServerRoot /etc/apache KeepAlive On StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 User www-data Listen 192.168.0.5:80 Listen 127.0.0.1:8080 Include /etc/apache/modules.conf (LoadModule php4_module /usr/lib/apache/1.3/libphp4.so) DocumentRoot /var/www AddType application/x-httpd-php3.php3 DirectoryIndex index.php index.html Alias /usr/local/httpd/cgi-bin/ /cgi-bin/ LogFormat "%h %l %u %t " common <Directory /var/www/> Options Indexes FollowSymLinks Allow from 192.168.0.0/24 </Directory> <IfModule mod_userdir.c> UserDir public_html </IfModule > <VirtualHost *> DocumentRoot /var/virtual ServerName wirt.domena.pl CustomLog /var/log/virt/access.log common </VirtualHost>

Apache moduły (fragment) mod_access - kontrola dostępu do plików w zależności od adresu IP mod_alias - pozwala mapować część systemu plików w katalogu głównym Apache'a, umożliwia też przekierowywanie adresów URL. mod_auth - uwierzytelnianie użytkowników mod_cgi - wykonywanie skryptów CGI po stronie serwera mod_dir - podstawowe operacje na katalogach. mod_env -przekazywanie zmiennych środowiskowych do skryptów CGI/SSI mod_expires - dodaje znacznik Expires do stron WWW przesyłanych klientowi - ważne dla często zmienianych serwisów, które powinny być zawsze aktualne mod_headers - pozwala na dowolną modyfikację nagłówków HTTP mod_info - odpowiedzialny za informację o ustawieniach serwera Apache mod_log_agent - zapisywanie w logach nazw i wersji przeglądarek klientów mod_proxy uruchomienie funkcji proxy dla stron WWW mod_rewrite - modyfikowanie adresów URL w "locie" za pomocą wyrażeń regularnych mod_speling - poprawianie błędów w adresach URL mod_userdir - ustawienia dotyczące katalogów domowych użytkowników mod_usertrack - śledzenie zachowań użytkowników za pomocą Cookies mod_vhost_alias - konfiguracja serwerów wirtualnych

Apache konfiguracja autentykacji w dostępie do stron WWW stworzenie pliku z listą autoryzowanych użytkowników htpasswd -c /katalog_z_dostepem_na_haslo/plik_hasel uzytkownik umieszczenie odpowiednich dyrektyw w sekcji <Directory> pliku konfiguracji globalnej serwera ( httpd.conf ) lub w dedykowanym pliku dostępu (.htaccess ) umieszczonym w katalogu dostępnym po autentykacji: AuthType Basic AuthName "Podaj hasło" AuthUserFile /katalog_z_dostepem_na_haslo/plik_hasel Require user nazwa_uzytkownika

Chroot'owanie co to takiego? Chroot (change root) Operacja która tworzy katalog główny ( / ) w kontekście uruchomionego procesu (i jego potomków). Taki proces nie może uzyskać dostępu do plików spoza stworzonej w ten sposób klatki. Możliwa do wykonania tylko na systemach uniksowych.

Chroot'owanie schemat działania i sposoby komunikacji jądro / bin etc home dev sbin usr var tmp LINK TWARDY DO GNIAZDA UNIXOWEGO /tmp/p_server2 system plików (p_server1:1234) user1 temp ccccc / (p_server2) bin etc dev home sbin usr var tmp (p_klient1) (p_klient2) TCP/UDP 127.0.0.1:1234

Chroot'owanie przygotowanie środowiska stworzenie listy plików wymaganych do uruchomienia procesu w izolowanym środowisku chroot strace proces 2>&1 grep 'open' > plik fragment stworzonej listy: open("/etc/passwd", O_RDONLY) = 4 open("/lib/tls/libm.so.6", O_RDONLY) = 3 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 stworzenie katalogu w którym będzie rezydowało środowisko izolowane, oraz umieszczenie w nim plików wymaganych przez proces (!) mknod /chrootowany_katalog/dev/null c 2 2 uruchomienie środowiska izolowanego chroot chroot /chrootowany_katalog/ chrootowany_proces lub chrootuid /chrootowany_katalog/ użytkownik chrootowany_proces