Internet i jego zastosowanie - PLD...

16

Transcript of Internet i jego zastosowanie - PLD...

Page 1: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Internet i jego zastosowanieDr in . � Stanis aw Polak�e-mail: [email protected] Strona WWW przedmiotu: http://artemis.wszib.edu.pl/~polak/

Egzamin

Form aZwolnienia

Plan wyk adu�Studia st acjonarne� Histor ia Internetu� Serwer WWW � Apache�� Skrypty CGI i Fast CGI� Perl� PHP� JavaScr ipt� AJAX� OPT

Studia niestacjonarne� Historia Internetu� Serwer WWW � Apache�� Skrypty CGI i FastCGI� Perl� PHP

Page 2: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Historia Internetu

�Koniec lat 60-tych � agencja ARPA (Advanced Research Projects Agency).

�1969 � sie ARPAnet��1970 � FTP�1971 � poczta elekt roniczna

Historia Internetu c.d.

�1973 � po czenia do Wielkiej ��Brytanii i Norwegii

�1979 � Usenet�1981 � CSNET (Com puter Science

NETwork)�1982 � TCP/IP ; EUnet �1983 � ARPAnet � �CSNET �1992 � WWW (World Wide Web)

Model Klient - Serwer

Serwer Klient

Klient

protokó�

port

Page 3: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Przyk adowa lista portów�Port Nazwa us ugi�13 t ime21 ftp23 telnet25 SMTP (email)70 gopher79 finger80 WWW418 Hyper-G

MIME

� M IME (Mult ipurpose Int ernet Mail Extensions)

Kom unikat� Nag ówek�� Tre��

Sk ada si z� �� Nazwa typu mediów (text , image, audio, v ideo,

applicat ion, mult ipart , m essage)� Nazwa podtypu� Wymagane parametry� Opcjonalne parametry

Model Klient � Serwer dla WWW

Serwer Klient

Klient

80

HTTP

Page 4: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

HTTP - danie klienta��

GET /index.html HTTP/1.1

Host: www.wszib.edu.pl

Accept-Language: pl;q=1.0, en; q=0.5

Accept: text/html;q=1.0, text/*;q=0.8, image/gif;q=0.6, image/jpeg;q=0.6, */*;q=0.1

User-Agent: Mozilla/...

<pusta linia>

Serwer WWW

Przegl darka WWW�

80

HTTP - odpowied serwera�HTTP/1.1 200 OK

Date: ...

Serwer: Apache/2.2.8

Last-Modified: ...

Etag: �12345-678-900ab�

Cache-Control: max-age=604800

Expires: ...

Content-type: text/html; charset=utf-8

Content-length: ...

<pusta linia>

<dokument>

Serwer WWW

Przegl darka WWW�

80

Wybrane komendy HTTP

�GET�HEAD�PUT�POST�DELETE

Page 5: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Wybór sprz tu�

�Wyspecjalizowany sprz t��Pam i operacy jna��� Interfejs sieciowy�Dysk twardy

Konfiguracja serwera WWW �apache� - wst p�

�Wybór dysku� Ilo m iejsca na dysku��� ród a -> � � ht tp://ht tpd.apache.org/

Budowa Apache jako serwera statycznego

Rdze serwera�

MPM So CGI SSL ...

� ./configure �./configure --disable-nazwaModu u��./configure --enable-modules='nazwa

1 .. nazwa

N'

�./configure --enable-modules=most�./configure --enable-modules=all

......

Page 6: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Modu y�

Budowa Apache jako serwera dynamicznego

Rdze serwera�MPM So CGI SSL ...... ...

Modu y dynamicznie adowane (modu y DSO) � � �

�./configure --enable-mods-shared='nazwa1 .. nazwa

N'

�./configure --enable-mods-shared=most�./configure --enable-mods-shared=all

Wa niejsze katalogi i pliki serwera �WWW

� binapachect l (star t , stop, restart , graceful,graceful-stop)abapxshtpasswd

� logs access_logerror_log

� conf� cgi-bin � ht docs� icons

Page 7: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Konfigurowanie serwera

� Plik ht tpd.conf�Wa niejsze param etry�

ServerRoot /usr/local/apache2DocumentRoot /usr/local/apache2/htdocsUserDir public_htm lListen 80User nobodyGroup nogroupDirectoryIndex index.htm l

Bezpiecze stwo serwera WWW�

� Uprawnienia u ytkownika�� Prawa dost pu do plików�� Dost p do katalogów nadrz dnych� �� Skrypty CGI� Dzienniki� Ident yfikacja serwera� Modu � m od_security ��

Strona g ówna � � www.modsecurity .orgAlternatywne regu y - � www.gotroot .com

Modu �mod_security� - fazy �przetwarzania

Page 8: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Kontrola dost pu � modu � ��mod_access�

�Dost p w oparciu o pochodzenie �dania��

�Dyrektywyallowdenyorder

Kontrola dost pu � przyk ad 1� �

<Directory />order deny,allowdeny from allallow from localhost</Directory>

<Directory />order allow,denyallow from alldeny from 192.168.1.1</Directory>

Kontrola dost pu � przyk ad 2� �

SetEnvIf Request_Protocol ^HTTP/1.1 http_11_ok<Directory /http11only/>

order deny,allowdeny from allallow from env=http_11_ok

</Directory>

Page 9: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Uwierzytelnianie u ytkownika � �przyk ad�

AuthType Basic

AuthName "Strona na has o"�

AuthBasicProvider file

AuthUserFile /usr/local/apache/passwd/passwords

Require user polak

htpasswd

.htaccess

AllowOverride AuthConfig

httpd.conf

Uwierzytelnianie czone - ��przyk ad�

<Location /registered-users-only/>AuthType BasicAuthName "Strona na has o"�AuthBasicProvider fileAuthUserFile /usr/local/apache/passwd/passwordsRequire user polakorder deny,allowallow from 192.168.1.1 192.168.1.2Satisfy all#Satisfy any </Location>

Uzgadnianie zawarto ci�

�Mult iViewsOpt ions + Mult iViewsOpt ions All + Mult iViews

�Mapa typów � pliki .varURI: document .htm l.enContent-Type: text /htm l; qs= 0.5Content-Language: enDescript ion: � Strona po angielsku�..

Page 10: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Sterowanie robotami

�Plik robots.t xtUser-AgentDisallow

�HTML< META>

�Kont rola dost pu�

Plik 'robots.txt' - przyk ady�

User-agent: *Disallow: /

User-agent: *Disallow:

User-agent: GooglebotDisallow:User-agent: *Disallow: /

User-agent: *Disallow: /~joe/junk.htmlDisallow: /~joe/foo.htmlDisallow: /~joe/bar.html

User-agent: *Disallow: /User-agent: GooglebotAllow: /

Dyrektywa nieformalna

Metaznacznik ROBOTS - przyk ady�

<html><head><title>...</title><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"></head>

<META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"><META NAME="ROBOTS" CONTENT="INDEX, NOFOLLOW"><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

Page 11: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Kontrola dost pu robotów - �przyk ad�

BrowserMatchNoCase .*crawler.* robotBrowserMatchNoCase .*robot.* robotSetEnvIf Remote_Host .*badrobot\.com robot<Location /not-indexable/>

order allow,denyallow from alldeny from env=robot

</Location>

Informacje dla robotów

<meta name=�Autor� content=�Stanis aw Polak�>�<meta name=�Description� content=�Strona domowa Stanis awa Polaka�>�<meta name=�Keywords� content=�XML, Java, PHP, ontologia�>

SSL a serwer Apache

�SSL � protokó zaszyfrowanej �kom unikacji

�Szyfrowanie z kluczem publicznym�Szyfrowanie przesy anych �

inform acji�Uwierzytelnianie serwera

Page 12: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Podstawowa konfiguracja protoko u SSL�

Listen 443SSLEngine onSSLCertificateKeyFile /usr/local/apache2/conf/server.keySSLCertificateFile /usr/local/apache2/conf/server.crt�<Directory /usr/local/apache2/htdocs/bezpieczny/> SSLRequireSSL</Directory>

conf/extra/httpd-ssl.conf

�./configure --enable-modules='... ssl �'lub�./configure --enable-mods-shared='... ssl �'

Instalacja klucza prywatnego oraz tymczasowego certyfikatu

#utwórz zaszyfrowany w standardzie DES3 klucz prywatny#openssl genrsa -des3 1024 > /usr/local/apache2/conf/server.key

#utwórz niezaszyfrowany klucz prywatnyopenssl genrsa 1024 > /usr/local/apache2/conf/server.keychmod 400 /usr/local/apache2/conf/server.key

#utwórz danie po wiadczonego certyfikatu�� �openssl req -new -key /usr/local/apache2/conf/server.key -out /tmp/server.csr

#utwórz tymczasowy certyfikat podpisuj c go przez samego siebie�openssl req -x509 -key /usr/local/apache2/conf/server.key -in /tmp/server.csr -out /usr/local/apache2/conf/server.crt -days 365rm /tmp/server.csr

openssl s_client -connect localhost:443 -stateGET / HTTP/1.0<klawisz Enter><klawisz Enter>

Testowanie po czenia��

Server Side Includes (SSI)...Options +Includes#Options +IncludesNOEXEC...AddType text/html .shtmlAddOutputFilter INCLUDES .shtml

XBitHack on chmod +x dokument.html

Page 13: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Przyk adowy dokument SSI�<html><head><title>data</title></head><body>Dzisiaj jest<!--#echo var=�DATE_LOCAL� --></body></html>

<html><head><title>data</title></head><body>Dzisiaj jest 30-10-01 </body></html>

Przyk adowe zmienne SSI�

�DOCUMENT_NAME�DATE_LOCAL �LAST_MODIFIED

Polecenia SSI� config � echo � include � exec � fsize� flast m od � set� printenv� if elif else endif

Page 14: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Ogólne zasady tworzenia poprawnych stron WWW

�Najprostsze rodki�HTMLHTML + JavaScriptHTML + JavaScript + Java

� Inform acja Form atowanie �

Poprawno stron WWW��

� TestowaniePrzegl darki�Ograniczenia

<!doctype html public �-//w3c//dtd html 4.01 transitional//en�><html>....</html>

http://validator.w3.org/

Page 15: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Cz ste b dy na stronach WWW� ��

� Wygl d st rony�� � Inform atyzacja� st rony� < im g alt = � � >� Znaki � czniki�� Struktura st rony

�Gopher� - poprzednik us ugi �WWW

�Hyper G� - zapomniany nast pca �us ugi WWW �

Page 16: Internet i jego zastosowanie - PLD Linuxcarme.pld-linux.org/~evil/varia/informatyka/semestr_5/internet_i... · Przyk adowa lista portów Port Nazwa us ugi 13 time 21 ftp 23 telnet

Netykieta� Net yk ieta (ang. net iquet te - net + et iquet t e, sie + �

etyka)� RFC 1855, pat rz:

ht tp://www.stanton.dtcc.edu/stanton/cs/rfc1855.htm l

ród a �

� ht tp://www.modsecur ity .org/� ht tp://www.kursusabili ty .pl/ � ht tp://ht tpd.apache.org/docs/2.2/ � ht tp://www.robotstx t .org/� P. Wainwright , � Apache 2.0 dla zaawansowanych� , Helion,

2003� Jaros aw Rafa� , � Gopher: um ar y wistak�� � Miesi cznik �

"Internet " 3/96� Jaros aw Rafa� , � Hyper-G � zam pomniany nast pca WWW�� ,

Miesi cznik � " Internet " 6/99� St eve Krug, � Nie ka m i m y le ! O yciowym podej ciu do � � � � �

funkcjonalno ci st ron internetowych� , wydanie II, Helion 2006 �