Internet i jego zastosowanie - PLD...
Transcript of Internet i jego zastosowanie - PLD...
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
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
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
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
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
......
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
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
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>
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�..
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">
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
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
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
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/
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 �
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 �