środa, 15 października 2014

Lekcja 8 klasa 3

T: HYPER TEXT MARKUP LANGUAGE.


HTML (ang. HyperText Markup Language) – hipertekstowy język znaczników, obecnie szeroko wykorzystywany do tworzenia stron internetowych.

HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu – formując hiperłącza, akapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.
HTML umożliwia określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek i kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów.
W składni HTML wykorzystuje się pary znaczników umieszczone w nawiasach ostrokątnych, np. <title> i </title> lub <h1> i </h1>.
HTML pozwala również na osadzanie ciągów instrukcji języków skryptowych, umieszczonych pomiędzy znacznikami <script> i </script>
Należy nadmienić, że HTML, będąc językiem znaczników, nie jest zaliczany do języków programowania – w jego składni nie przewidziano wyrażeń obliczeniowych, warunkowych czy iteracyjnych.
Ważną cechą HTML-a, która przyczyniła się do popularności systemu WWW oraz Internetu, jest niezależność od systemu operacyjnego i wykorzystywanego sprzętu komputerowego.

poniedziałek, 13 października 2014

Lekcja 7 klasa 3

T: Bezpieczeństwo sieci.

Haker - osoba o bardzo dużych, praktycznych umiejętnościach informatycznych (lub elektronicznych), która identyfikuje się ze społecznością hakerską. Hakerzy odznaczają się bardzo dobrą orientacją w Internecie, znajomością wielu języków programowania, a także świetną znajomością systemów operacyjnych, w tym zwłaszcza z rodziny Unix (GNU/LinuxBSD itp.) Haker ewentualnie wykorzystuje dziury bezpieczeństwa w oprogramowaniu komputerowym. Może też dzięki nim uzyskiwać dostęp do zabezpieczonych zasobów. W 2011 roku hakerzy poznali 174 mln rekordów w 855 atakach.
Osoby łamiące zabezpieczenia nazywa się też crackerami. Hakerzy skupieni w społeczności hakerskiej używają terminu cracker dla odróżnienia od siebie przestępców, z kolei crackerzy terminu haker używają na określenie włamywaczy sieciowych.

Ze względu na stosowaną etykę wyróżnia się następujący podział hakerów zabezpieczeń:
  • black hat (czarne kapelusze) – są to hakerzy działający na granicy lub poza granicami prawa. Znalezionych błędów albo nie publikują w ogóle, wykorzystując je w nielegalny sposób, albo publikują od razu w postaci gotowych programów (tzw. exploitów), które mogą zostać użyte przez osoby o niższych umiejętnościach (np. script kiddies). Niektóre osoby kwestionują w tym przypadku użycie słowa "haker", zastępując je wyrazem "cracker".
  • white hat (białe kapelusze) – hakerzy działający zupełnie legalnie lub też starający się nie wyrządzać szkód. Odkryte przez siebie dziury w bezpieczeństwie zwykle podają w formie, w której mogą zostać łatwo załatane przez autorów oprogramowania, lecz trudne do wykorzystania w celu zaszkodzenia komuś (zobacz: full disclosure). Wśród nich często się spotyka audytorów bezpieczeństwa.
  • grey hat (szare kapelusze) – hakerzy/crackerzy, którzy przyjmują po części metody działania obu wyżej wymienionych grup.
Kapelusze pochodzą ze starych czarno-białych westernów, gdzie na podstawie koloru kapelusza odróżniano tych dobrych od tych złych. Klasyfikacja powyższa nie przyjęła się szeroko i często wywołuje kontrowersje w środowisku informatycznym.

Złośliwe oprogramowaniemalware (z ang. malicious software) – wszelkie aplikacjeskrypty itp. mające szkodliwe, przestępcze lub złośliwe działanie w stosunku do użytkownika komputera.

Do złośliwego oprogramowania należą:
  • Wirus – program lub fragment wrogiego wykonalnego kodu, który dołącza się, nadpisuje lub zamienia inny program w celu reprodukcji samego siebie bez zgody użytkownika. Ze względu na różne rodzaje infekcji wirusy dzielą się na:
    • wirusy gnieżdżące się w sektorze rozruchowym twardego dysku (ang. boot sector viruses),
    • wirusy pasożytnicze (ang. parasitic viruses),
    • wirusy wieloczęściowe (ang. multi-partite viruses),
    • wirusy towarzyszące (ang. companion viruses),
    • makrowirusy (ang. macro viruses).

  • Robaki (ang. worm) – złośliwe oprogramowanie podobne do wirusów, rozmnażające się tylko przez sieć. W przeciwieństwie do wirusów nie potrzebują programu „żywiciela”. Często powielają się pocztą elektroniczną.

  • Wabbit – program rezydentny nie powielający się przez sieć. Wynikiem jego działania jest jedna określona operacja, np. powielanie tego samego pliku aż do wyczerpania zasobów pamięci komputera.
  • Trojan – nie rozmnaża się jak wirus, ale jego działanie jest równie szkodliwe. Ukrywa się pod nazwą lub w części pliku, który użytkownikowi wydaje się pomocny. Oprócz właściwego działania pliku zgodnego z jego nazwą, trojan wykonuje operacje w tle szkodliwe dla użytkownika, np. otwiera port komputera, przez który może być dokonany atak włamywacza (hakera).

  • Backdoor – przejmuje kontrolę nad zainfekowanym komputerem, umożliwiając wykonanie na nim czynności administracyjnych, łącznie z usuwaniem i zapisem danych. Podobnie jak trojan, backdoor podszywa się pod pliki i programy, z których często korzysta użytkownik. Umożliwia intruzom administrowanie systemem operacyjnym poprzez Internet. Wykonuje wtedy zadania wbrew wiedzy i woli ofiary.
  • Programy szpiegujące (ang. spyware) – oprogramowanie zbierające informacje o osobie fizycznej lub prawnej bez jej zgody, jak informacje o odwiedzanych witrynach, hasła dostępowe itp. Występuje często jako dodatkowy i ukryty komponent większego programu, odporny na usuwanie i ingerencję użytkownika. Programy szpiegujące mogą wykonywać działania bez wiedzy użytkownika – zmieniać wpisy do rejestru systemu operacyjnego i ustawienia użytkownika. Program szpiegujący może pobierać i uruchamiać pliki pobrane z sieci.
    • scumware (ang. scum – piana; szumowiny, męty) – żargonowe, zbiorcze określenie oprogramowania, które wykonuje w komputerze niepożądane przez użytkownika czynności.
    • stealware/parasiteware – służące do okradania kont internetowych,
    • adware – oprogramowanie wyświetlające reklamy,
    • Hijacker Browser Helper Object – dodatki do przeglądarek, wykonujące operacje bez wiedzy użytkownika.
  • Exploit – kod umożliwiający bezpośrednie włamanie do komputera ofiary, do dokonania zmian lub przejęcia kontroli wykorzystuje się lukę w oprogramowaniu zainstalowanym na atakowanym komputerze. Exploity mogą być użyte w atakowaniu stron internetowych, których silniki oparte są na językach skryptowych (zmiana treści lub przejęcie kontroli administracyjnej), systemy operacyjne (serwery i końcówki klienckie) lub aplikacje (pakiety biurowe, przeglądarki internetowe lub inne oprogramowanie).
  • Rootkit – jedno z najniebezpieczniejszych narzędzi hackerskich. Ogólna zasada działania opiera się na maskowaniu obecności pewnych uruchomionych programów lub procesów systemowych (z reguły służących hackerowi do administrowania zaatakowanym systemem). Rootkit zostaje wkompilowany (w wypadku zainfekowanej instalacji) lub wstrzyknięty w istotne procedury systemowe, z reguły jest trudny do wykrycia z racji tego, że nie występuje jako osobna aplikacja. Zainstalowanie rootkita jest najczęściej ostatnim krokiem po włamaniu do systemu, w którym prowadzona będzie ukryta kradzież danych lub infiltracja.
  • Keylogger – Odczytuje i zapisuje wszystkie naciśnięcia klawiszy użytkownika. Dzięki temu adresy, kody, cenne informacje mogą dostać się w niepowołane ręce. Pierwsze programowe keyloggery były widoczne w środowisku operacyjnym użytkownika. Teraz coraz częściej są procesami niewidocznymi dla administratora. Istnieją też keyloggery występujące w postaci sprzętowej zamiast programowej.
  • Dialery – programy łączące się z siecią przez inny numer dostępowy niż wybrany przez użytkownika, najczęściej są to numery o początku 0-700 lub numery zagraniczne. Dialery szkodzą tylko posiadaczom modemów telefonicznych analogowych i cyfrowych ISDN, występują głównie na stronach o tematyce erotycznej.
Mniej szkodliwe złośliwe oprogramowanie to:
  • fałszywe alarmy dotyczące rzekomo nowych i groźnych wirusów (ang. false positives); fałszywy alarm to także rzekome wykrycie zainfekowanego pliku, które powodują programy antywirusowe z najwyższym poziomem analizy heurystycznej.
  • żarty komputerowe, robione najczęściej nieświadomym początkującym użytkownikom komputerów.


Obrona przed szkodliwym oprogramowaniem:
  • instalacja oprogramowania antywirusowego,
  • włączona zapora sieciowa (firewall) z modułem HIPS, która zapobiega włączeniu zagrożeń typu zero day,
  • aktualizacja wszelkiego oprogramowania,
  • nieotwieranie załączników poczty elektronicznej niewiadomego pochodzenia,
  • czytanie okien instalacyjnych aplikacji, a także ich licencji,
  • wyłączenie makr w plikach MS Office nieznanego pochodzenia,
  • regularne całościowe skany systemu programem antywirusowym i antymalware,
  • przy płatnościach drogą elektroniczną upewnienie się, że transmisja danych będzie szyfrowana (banking mode),
  • instalacja programów prewencyjnych (wykrywania i zapobiegania włamaniom), opartych na polityce piaskownicy z HIPS (np. GesWall),
  • używanie oryginalnego systemu i aplikacji, pochodzących z legalnego źródła
Istnieje wiele programów służących do zwalczania poszczególnych tego typu problemów. Występują również pakiety zapewniające całościową ochronę. Po angielsku określane są one jako programy typu internet security. Łączą one funkcje programu antywirusowego, firewalla, programu blokującego spam, blokad stron o niepożądanej treści oraz systemu prewencyjnego HIPS.

Programiści Firefox, Chrome, Safari, Opera oraz Internet Explorera wprowadzili zabezpieczenie, które bezpośrednio na poziomie samej przeglądarki sprawdza, czy dana witryna nie została przypadkiem zgłoszona jako potencjalne zagrożenie. W przypadku zagrożenia dostęp do strony jest blokowany i wyświetlany jest stosowny komunikat.
W momencie zgłoszenia do listy stron stanowiących zagrożenie, dodatkowo wysyłany jest list e-mail informujący o tym fakcie do administratora, webmastera strony.
Do zapewnienia jak najlepszej ochrony komputera podczas korzystania z przeglądarek służą liczne wtyczki, np. WOT dla Firefoksa, Google Chrome, Opery, Internet Explorera i Safari.
Programy antywirusowe
Program antywirusowy (antywirus) – program komputerowy, którego celem jest wykrywanie, zwalczanie i usuwanie wirusów komputerowych. Współcześnie najczęściej jest to pakiet programów chroniących komputer przed różnego typu zagrożeniami.
Programy antywirusowe często są wyposażone w dwa niezależnie pracujące moduły (uwaga: różni producenci stosują różne nazewnictwo):
  • skaner – bada pliki na żądanie lub co jakiś czas; służy do przeszukiwania zawartości dysku
  • monitor – bada pliki ciągle w sposób automatyczny; służy do kontroli bieżących operacji komputera
Program antywirusowy powinien również mieć możliwość aktualizacji definicji nowo odkrytych wirusów, najlepiej na bieżąco, przez pobranie ich z Internetu, ponieważ dla niektórych systemów operacyjnych codziennie pojawia się około trzydziestu nowych wirusów.
Widoczna jest tendencja do integracji narzędzi do ochrony komputera. Kiedyś był to jedynie skaner, który wyszukiwał wirusy, początkowo na podstawie sygnatur znanych wirusów, a potem także typujący pliki jako zawierające podejrzany kod za pomocą metod heurystycznych.
Trzeba dodać, że współcześnie programy antywirusowe jako jedyna linia obrony nie wystarczają, Obecnie poza skanerem, monitorem i modułem do aktualizacji sygnatur z sieci, pakiet antywirusowy zawiera często także zaporę sieciową, moduły kontroli przesyłek poczty elektronicznej i plików pobieranych z sieci, moduł wykrywania i zapobiegania włamaniom, skaner pamięci i strażnika MBR. Wszystkie te moduły posiadają programy typu internet security - np. AVG InternetSecurity, G Data InternetSecurity, Kaspersky InternetSecurity - jednak można je zainstalować oddzielnie, co według licznych testów laboratoriów antywirusowych, oferują znacznie wyższy poziom ochrony przed malware niż pakiety bezpieczeństwa. Pierwszy komercyjny program antywirusowym pojawił się w 1989. Był nim AntiVirenKit niemieckiej firmy G Data Software AG.

Moduły programów antywirusowych:

  • Skanery

Skanery to najstarszy i najprostszy sposób ochrony antywirusowej. Ich działanie polega na wyszukiwaniu określonej sekwencji bajtów w ciągu danych. W większości wirusów można wyróżnić unikalną sekwencję bajtów, tzw. sygnaturę, dzięki której możliwe jest odnalezienie wirusa w pamięci lub w zarażonej ofierze. Skuteczność skanera antywirusowego zależy od tego, jak bardzo charakterystyczna jest dana sekwencja. Najlepiej, jeżeli wirus zawiera w sobie jakiś bardzo specyficzny napis lub ciąg bajtów.
Wraz z pojawieniem się wirusów polimorficznych znaczenie skanerów trochę zmalało, jednak nadal jest to najważniejsza metoda walki z wirusami. Wirusy polimorficzne są trudne do wykrycia, gdyż ich różne próbki nie wyglądają tak samo. Często dwie próbki danego wirusa nie mają ze sobą nic wspólnego. Polimorfizm może być osiągnięty poprzez zakodowanie ciała wirusa. W przypadku tych wirusów również używa się skanera, choć dopiero w późniejszej fazie wykrywania.

  • Monitory

Monitor to program antywirusowy zainstalowany jako TSR (ang. Terminate and Stay Resident) lub sterownik SYS, który – poprzez monitorowanie odpowiednich funkcji DOS iBIOS – pozwala na wykrywanie wszystkich wykonywanych za pomocą tych funkcji odwołań do dysków. To, czy monitor będzie działał prawidłowo zależy często od momentu, w którym przejął on kontrolę nad systemem (przed działaniem wirusa, czy już po) oraz od tego, jak głęboko wnika on w system operacyjny. Jak widać autorzy programów antywirusowych muszą korzystać z metod podobnych do tych, które stosują twórcy wirusów. Dużą wadą programów monitorujących jest to, że powodują one często fałszywe alarmy. Niekiedy zdarza się tak, że użytkownik po kolejnym potwierdzeniu jakiejś zwykłej operacji dyskowej staje się mniej uważny i nawet usuwa program antywirusowy z pamięci.

  • Szczepionki

Są to programy skierowane przeciwko konkretnym wirusom. Na podstawie posiadanego czy wykrytego egzemplarza wirusa można, po odpowiedniej analizie jego kodu, zdefiniować tzw. sygnatury, na podstawie których wykrywa się kolejne kopie wirusa w systemie. Dokładna analiza kodu wirusa pozwala niekiedy odnaleźć w nim oryginalne wartości pewnych parametrów, które mogą posłużyć do wyleczenia plików. Większość z istniejących szczepionek to rozbudowane programy, które potrafią wykryć i usunąć kilka tysięcy określonych wirusów. Tylko w przypadkach nowych wirusów szczepionki nie są efektywne.

  • Programy autoweryfikujące

Programy te służą do sprawdzania czy dany program nie został w jakiś sposób zmieniony przez wirusa. Sprawdzanie to jest możliwe poprzez dodanie do wskazanego pliku określonego, krótkiego programu. Dodawany kod dopisuje się do pliku wykorzystując te same mechanizmy co wirusy i pozwala on na autoweryfikację, czyli automatyczne sprawdzanie czy dany program nie został zmodyfikowany.
Niestety, programy tego typu najczęściej nie są odporne na technikę ukrywania kodu wirusa stealth i w systemie zainfekowanym przez wirusa używającego tej techniki okażą się
Działanie tego typu programów polega na obliczaniu odpowiednich sum kontrolnych dla żądanego pliku lub plików. Zliczane sumy kontrolne są przechowywane w osobnych plikach, tworzonych po pierwszym uruchomieniu programu. Jeżeli pliki te istniały już wcześniej, program antywirusowy wykorzystuje dane w nich zawarte aby porównać bieżąco wyliczoną sumę, z sumą poprzednio zachowaną w pliku.
Istnieje szereg algorytmów do tworzenia sum kontrolnych dla plików. Ogromną wadą programów tego typu jest to, że pliki przechowujące obliczone sumy kontrolne nie są wcale chronione. Dzięki znajomości wielu algorytmów stosowanych przez programy antywirusowe, niektóre wirusy potrafią zarazić określony plik i obliczyć dla niego nową sumę kontrolną.
  • AVG 

  • Avast




Ogólne wskazówki dotyczące bezpieczeństwa hasła

  • hasło powinno zawierać minimum 8 znaków (im dłuższe tym lepsze),
  • hasło powinno zawierać znaki wybrane z jak największego zbioru (cyfry, małe litery, duże litery, znaki specjalne itd.),
  • hasło nie powinno opierać się bezpośrednio na realnym słowie lub popularnej kombinacji znaków (np. qwerty),
  • hasło nie powinno opierać się bezpośrednio na danych znanych innym osobom (daty urodzenia, imiona, nr rejestracyjny samochodu itd)
  • nie należy zapisywać hasła w formie jawnej (niezaszyfrowanej),
  • nie należy przesyłać hasła przez internet (np. za pomocą poczty email) w formie jawnej (niezaszyfrowanej),
  • hasło powinno być zmieniane co jakiś czas,
  • nie należy używać tego samego hasła do wielu różnych usług / operacji.
  • nie należy podawać hasła podczas korzystania z niezaufanego komputera.
  • przed wprowadzeniem hasła należy sprawdzić adres oraz zabezpieczenia strony (dotyczy zwłaszcza bankowości internetowej).

czwartek, 9 października 2014

Lekcja 6 klasa 3

T: Podstawowe protokoły sieciowe.


  • HTTP

Protokół HTTP (Hypertext Transport Protocol) to protokół, który jest 

wykorzystywany do komunikacji serwerów WWW z klientami. Został on 

zaprojektowany, aby ułatwić dostęp do informacji znajdujących się w sieci

 Internet. Jest on używany przez  WWW od 1990 roku.  Pierwsza wersja  HTTP

 0.9 była prostym protokołem służącym do przenoszenia nieskomplikowanych 

informacji przez Internet. Każda z późniejszych wersji zachowuje zgodność z 

HTTP 0.9, jednak zarówno HTTP 1.0, jak i HTTP 1.1 są już zdefiniowane w RFC

 . HTTP 1.0 został ulepszony, tak aby wiadomości przenoszone przez niego były

 w formacie MIME , czyli zawierały metainformacje, zawierające różne 

parametry związane z przesyłanymi danymi, podobnie jak wiadomości poczty

 elektronicznej (nadawca, temat, odbiorca...).

HTTP działa na poziomie warstwy aplikacji w strukturze komunikacji sieciowej i 

stosuje połączenie TCP do zapewnienia sekwencyjnego doręczania wszystkich 

pakietów. Do komunikacji, jak każdy protokół używa on zapytań i odpowiedzi. 

Jeżeli klient HTTP na przykład przeglądarka internetowa wyśle zapytanie do 

serwera WWW określając jego adres, serwer odpowiada mu na zapytanie, 

wysyłając z powrotem odpowiednie informacje (Wszystkie pośredniczące 

komputery troszczą się o dostarczenie tych wiadomości).


Protokół HTTP jest użyteczny, ponieważ udostępnia znormalizowany sposób komunikowania się komputerów ze sobą. Określa on formę żądań klienta (tj. np. przeglądarki www) dotyczących danych oraz formę odpowiedzi serwera na te żądania. Jest zaliczany do protokołów bezstanowych (ang. stateless) z racji tego, że nie zachowuje żadnych informacji o poprzednich transakcjach z klientem (po zakończeniu transakcji wszystko "przepada"). Pozwala to znacznie zmniejszyć obciążenie serwera, jednak jest kłopotliwe w sytuacji, gdy np. trzeba zapamiętać konkretny stan dla użytkownika, który wcześniej łączył się już z serwerem. Najczęstszym rozwiązaniem tego problemu jest wprowadzenie mechanizmu ciasteczek. Inne podejścia to m.in. sesje po stronie serwera, ukryte parametry (gdy aktualna strona zawiera formularz) oraz parametry umieszczone w URL-u(jak np. /index.php?userid=3).
HTTP standardowo korzysta z portu nr 80 (TCP).

Metody HTTP:
  1. GET – pobranie zasobu wskazanego przez URI, może mieć postać warunkową jeśli w nagłówku występują pola warunkowe takie jak "If-Modified-Since"
  2. HEAD – pobiera informacje o zasobie, stosowane do sprawdzania dostępności zasobu
  3. PUT – przyjęcie danych w postaci pliku przesyłanych od klienta do serwera
  4. POST – przyjęcie danych przesyłanych od klienta do serwera (np. wysyłanie zawartości formularzy)
  5. DELETE – żądanie usunięcia zasobu, włączone dla uprawnionych użytkowników
  6. OPTIONS – informacje o opcjach i wymaganiach istniejących w kanale komunikacyjnym
  7. TRACE – diagnostyka, analiza kanału komunikacyjnego
  8. CONNECT – żądanie przeznaczone dla serwerów pośredniczących pełniących funkcje tunelowania
Metoda CONNECT nie jest częścią standardu HTTP/1.1, jednak jest powszechnie implementowana na podstawie dokumentu internet-draft wygasłego w 1999 roku.



  • HTTPS

HTTPS (ang. Hypertext Transfer Protocol Secure) – szyfrowana wersja protokołu HTTP. W przeciwieństwie do komunikacji niezaszyfrowanego tekstu w HTTP klient-serwer, szyfruje go za pomocą protokołu SSL. Zapobiega to przechwytywaniu i zmienianiu przesyłanych danych.
HTTPS działa domyślnie na porcie nr 443 w protokole TCP. Wywołania tego protokołu zaczynają się od https://, natomiast zwykłego połączenia HTTP od http://. Protokół HTTPS jest warstwę wyżej (na transporcie SSL), najpierw następuje więc wymiana kluczy SSL, a dopiero później żądanie HTTP. Powoduje to, że jeden adres IP może serwować tylko jedną domenę lub też tylko subdomeny danej domeny (zależnie od przyznanego certyfikatu).
HTTPS (Hypertext Transfer Protocol Secure) wykorzystuje protokół HTTP, przy czym transmitowane dane są szyfrowane przy pomocy SSL/TLS. HTTPS umożliwia uwierzytelnienie tożsamości drugiej strony a także zabezpieczenie połączenia pomiędzy przeglądarką webową i WEB serwerem przed podsłuchiwaniem danych i podrzuceniem danych za pomocą szyfrowania. Standardowym portem dla HTTPS po stronie serwera jest port 443.
Podstawą zabezpieczenia oferowanego przez protokoły SSL/TLS są certyfikaty cyfrowe. Certyfikaty są oólnie wystawiane do różnych celów (np. podpis e-mailów, podpis domeny komputera, itd.). Certyfikat składa się z części ublicznej i prywatnej. Publiczną część certyfikatu może posiadać ktokolwiek. Prywatną część certyfikatu trzeba zabezpieczyć przed nieupoważnionymi osobami. Każdy certyfikat jest wystawiany (wygenerowany) przez tzw. ośrodek certyfikacji, który gwarantuje poprawność certyfikatu. Wystawienie certyfikatu przez niektóry z ogólnie uznawanych ośrodków certyfikacji, które mają automatycznie swój klucz publizny w bazie cetyfikatów stosowanej także przez poszczególne przeglądarki (np. THAWTE, VeriSign, PostSignum) jest odpłatne. Poza tym istnieje moliwość wytworzenia certyfikatu, który użytkownik sam sobie podpisze (self-signed certificate) przy zastosowaniu własnego ośrodka certyfikacji (nieznanego dla pozostałych klientów). jednak w takim przypadku muszą obie strony (zarówno serwer jak klient) ręcznie dodać do bazy certyfikatów klucz publiczny własnego ośrodka certyfikacji., żeby taki ośrodek certyfikacji był znany zarówno na serwerze jak i u klienta.


  • FTP

FTP, protokół transferu plików (ang. File Transfer Protocol) – protokół komunikacyjny typu klient-serwer wykorzystujący protokół TCP według modelu TCP/IP (krótko: połączenie TCP), umożliwiający dwukierunkowy transfer plików w układzie serwer FTP–klient FTP.
FTP jest zdefiniowany przez IETF w dokumencie RFC 959.
FTP jest protokołem 8-bitowym i dlatego nie wymaga kodowania danych do 7 bitów, tak jak w przypadku poczty elektronicznej.
Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem kontrolnym za pomocą którego przesyłane są polecenia, a drugie służy do transmisji danych. Połączenie za pomocą protokołu FTP (krótko: połączenie FTP) może działać w dwóch trybach: aktywnym i pasywnym:
  • jeżeli połączenie FTP działa w trybie aktywnym to używa portu 21 dla poleceń – zestawiane przez klienta i portu 20 do przesyłu danych – zestawiane przez serwer;
  • jeżeli połączenie FTP pracuje w trybie pasywnym to wykorzystuje port 21 dla poleceń i port o numerze powyżej 1024 do transmisji danych – obydwa połączenia zestawiane są przez klienta.
W sieciach chronionych zaporą sieciową (ang. firewall) komunikacja z serwerami FTP wymaga zwolnienia odpowiednich portów na zaporze sieciowej lub routerze. Możliwe jest zainstalowanie wielu serwerów FTP na jednym routerze. Warunkiem jest rozdzielenie portów przez router dla każdego serwera.
Serwer FTP, zależnie od konfiguracji, może pozwalać na dostęp do jego zasobów bez podawania hasła uwierzytelniającego – dostęp anonimowy. Najczęściej jednak serwer FTP autoryzuje każde połączenie za pomocą loginu i hasła uwierzytelniającego.

Protokół jest językiem, który umożliwia komputerom komunikowanie się. Protokół FTP jest używany, aby umożliwić przesyłanie plików i folderów przez Internet. W niektórych przypadkach, do zalogowania się i uzyskania dostępu do plików na komputerze sieciowym mogą być wymagane specjalne uprawnienia, których udziela administrator komputera. Często jednak można używać protokołu FTP, aby uzyskać dostęp do pewnych sieci lub serwerów, nie mając oficjalnego konta ani hasła na danym komputerze. Takie „anonimowe” serwery FTP mogą zawierać szeroki zakres danych, które są publicznie dostępne poprzez protokół FTP. Adres internetowy (URL) dla serwera FTP różni się nieco od adresu URL używanego dla typowej strony sieci Web. Na przykład firma Microsoft ma „anonimowy” serwer FTP o adresie ftp://ftp.microsoft.com, z którego można pobierać najróżniejsze pliki — od programów korekcyjnych, zaktualizowanych sterowników i narzędzi, do artykułów bazy wiedzy Microsoft Knowledge Base i innej dokumentacji. To, w jakim zakresie użytkownik ma dostęp do plików i folderów na serwerach FTP, zależy od tego, czy użytkownik uzyskuje dostęp przez serwer proxy zgodny ze standardem CERN, czy bezpośrednio, a także od tego, jaki rodzaj uprawnień ma użytkownik dla danego serwera FTP. Dostęp przez serwer proxy zgodny ze standardem CERN jest ograniczony tylko do oglądania i pobierania plików. Nie można zmieniać nazw plików i folderów, usuwać ich ani przekazywać przez serwer proxy zgodny ze standardem CERN, tak jak można to robić w przypadku innych typów serwerów proxy. Jeśli użytkownik uzyska dostęp do witryny FTP bezpośrednio, może pracować z plikami i folderami na serwerze FTP w sposób podobny jak na swoim komputerze. Może oglądać, pobierać, przekazywać i usuwać pliki i foldery, a także zmieniać ich nazwy. Jeśli do przeprowadzenia którejś z tych czynności wymagane są specjalne uprawnienia dla danego serwera FTP, pojawia się monit o podanie nazwy użytkownika i hasła.


Program FTP< jak też i protokół o tej samej nazwie są najczęściej używanymi narzędziami do przekopiowywania plików z komputerów, które to komputery dają możliwość publicznego dostępu. Miejsca publicznego dostępu są zwane ”miejscami anonimowych FTP” i zawierają miliony plików. Anonimowy dostęp FTP zwalnia użytkownika z konieczności dysponowania kontem i hasłem. Przy rejestracji w systemie zamiast nazwy hosta wystarczy wpisać słowo ”anonymous” hasłem jest wtedy adres Internetowy komputera, z którego użytkownik dokonuje zdalnego połączenia lub też (rzadziej)guest. Formacje publiczne są z reguły umieszczane w katalogu public” lub pub

  • SFTP

SFTP (ang.) SSH File Transfer Protocol – protokół komunikacyjny typu klient-serwer, który umożliwia przesyłanie plików poprzez sieć TCP/IP.
Przesyłając plik przy użyciu protokołu FTP uzyskujemy dobre przepływności, ale nie zyskujemy bezpieczeństwa – nasze hasła i dane nie są szyfrowane podczas przysyłania, co potencjalnie stwarza zagrożenie ich kradzieży. Znaczną poprawę bezpieczeństwa przynosi protokół SFTP, który nie wymaga obecności serwera FTP, a przesyłane dane są szyfrowane z wykorzystaniem klucza szyfrującego.
SFTP nie powinien być mylony z protokołem FTPS, który jest rozszerzeniem protokołu FTP.

Względem FTP, protokół SFTP różni się przede wszystkim wyższym bezpieczeństwem połączenia, dzięki szyfrowaniu przesyłanych danych, włącznie z hasłem dostępowym. Protokół SFTP jest obsługiwany przez wiele aplikacji wykorzystywanych jako klient FTP, np. FileZilla, WinSCP, Total Commander (za pomocą wtyczki), FireFTP (dodatek Mozilla Firefox).
Wiele systemów operacyjnych nie ma domyślnie zaaplikowanych aplikacji do obsługi protokołu SFTP, dlatego też powstało dużo projektów na wiele platform, między innymi dla:
  • Linux/Unix
    • OpenSSH zawierający obsługę SSH, SCP i SFTP
    • sFTP
  • Microsoft Windows
    • PuTTY
    • WinSCP
    • Wtyczka dla Total Commander (SFTP Plugin)
    • FileZilla
    • SecureFX
  • Mac OS X
    • MacSSH
    • Fugu
    • NiftyTelnet SSH

  • SMTP
SMTP (ang.) Simple Mail Transfer Protocol – protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie. Standard został zdefiniowany w dokumencie RFC 821 a następnie zaktualizowany w 2008 roku w dokumencie RFC 5321

SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. Demon SMTP działa najczęściej na porcie 25. Łatwo przetestować serwer SMTP przy użyciu programu telnet.
SMTP zaczęło być szeroko używane we wczesnych latach osiemdziesiątych dwudziestego wieku. W tamtym okresie było to uzupełnienie UUCP, który lepiej sprawdzał się przy przekazywaniu poczty między maszynami posiadającymi jedynie okresowe połączenie. SMTP natomiast lepiej działa, gdy zarówno maszyna nadająca, jak i odbierająca są na stałe przyłączone do sieci.
Jednym z pierwszych (jeśli nie pierwszym) programów poczty elektronicznej, w którym zastosowano SMTP był sendmail. W roku 2001 istniało przynajmniej 50 programów implementujących SMTP jako klient (nadawca) lub serwer (odbiorca wiadomości). Niektóre inne popularne programy serwerów SMTP to exim, Postfix, Qmail, MDaemon, GroupWise firmy Novell i Microsoft Exchange.
Protokół ten nie radził sobie dobrze z plikami binarnymi, ponieważ stworzony był w oparciu o czysty tekst ASCII. W celu kodowania plików binarnych do przesyłu przez SMTP stworzono standardy takie jak MIME. W dzisiejszych czasach większość serwerów SMTP obsługuje rozszerzenie 8BITMIME pozwalające przesyłać pliki binarne równie łatwo jak tekst.
SMTP nie pozwala na pobieranie wiadomości ze zdalnego serwera. Do tego celu służą POP3 lub IMAP.
Jednym z ograniczeń pierwotnego SMTP jest brak mechanizmu weryfikacji nadawcy, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę elektroniczną (wirusy komputerowespam). Żeby temu zaradzić stworzono rozszerzenie SMTP-AUTH, które jednak jest tylko częściowym rozwiązaniem problemu - ogranicza wykorzystanie serwera wymagającego autoryzacji do zwielokrotniania poczty. Nadal nie istnieje metoda, dzięki której odbiorca autoryzowałby nadawcę – nadawca może "udawać" serwer i wysłać dowolny komunikat do dowolnego odbiorcy.
Przykładowa sesja SMTP (klient):
  • rozpoczyna połączenie z serwerem (polecenie helo),
  • podaje adres nadawcy (polecenie mail from),
  • podaje adres odbiorcy (polecenie rcpt to),
  • wpisuje wiadomość (polecenie data),
  • kończy sesję (polecenie quit).


  • POP3 

Post Office Protocol (POP) to protokół internetowy z warstwy aplikacji pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera poprzez połączenie TCP/IP. Ogromna większość współczesnych internautów korzysta z POP3 do odbioru poczty.
Wcześniejsze wersje protokołu POP, czyli POP (czasami nazywany POP1), POP2 zostały całkowicie zastąpione przez POP3.
Kiedy użytkownik połączy się z siecią, to korzystając z POP3 może pobrać czekające na niego listy do lokalnego komputera. Jednak protokół ten ma wiele ograniczeń:
  • połączenie trwa tylko, jeżeli użytkownik pobiera pocztę i nie może pozostać uśpione,
  • każdy list musi być pobierany razem z załącznikami i żadnej jego części nie można w łatwy sposób pominąć - istnieje co prawda komenda top, ale pozwala ona jedynie określić przesyłaną liczbę linii od początku wiadomości,
  • wszystkie odbierane listy trafiają do jednej skrzynki, nie da się utworzyć ich kilku,
  • serwer POP3 nie potrafi sam przeszukiwać czekających w kolejce listów.
Istnieje bardziej zaawansowany protokół IMAP, który pozwala na przeglądanie czekających listów nie po kolei na podobieństwo plików w katalogach i posiada niektóre funkcje pominięte w POP3.
Programy odbierające pocztę najczęściej obsługują oba protokoły, ale POP3 jest bardziej popularny. Wysyłanie listów zawsze opiera się na protokole SMTP. Komunikacja POP3 może zostać zaszyfrowana z wykorzystaniem protokołu SSL. Jest to o tyle istotne, że w POP3 hasło przesyłane jest otwartym tekstem, o ile nie korzysta się z opcjonalnej komendy protokołu POP3, APOP.
Protokół POP, podobnie, jak inne protokoły internetowe (np. SMTP, HTTP) jest protokołem tekstowym, czyli w odróżnieniu od protokołu binarnego, czytelnym dla człowieka. Komunikacja między klientem pocztowym, a serwerem odbywa się za pomocą czteroliterowych poleceń.
Przykładowa sesja POP3 (klient):
  • podaje identyfikator użytkownika, którego poczta będzie ściągana (polecenie user),
  • podaje hasło (polecenie pass),
  • prosi o listę wiadomości oczekujących na ściągnięcie (polecenie list),
  • ściąga pierwszą (i akurat w tym przypadku ostatnią) z wiadomości (polecenie retr),
  • kasuje wiadomość po jej ściągnięciu (polecenie dele),
  • kończy sesję (polecenie quit).

  • IMAP

IMAP (Internet Message Access Protocol) to internetowy protokół pocztowy zaprojektowany jako następca POP3.
W przeciwieństwie do POP3, który umożliwia jedynie pobieranie i kasowanie poczty, IMAP pozwala na zarządzanie wieloma folderami pocztowymi oraz pobieranie i operowanie na listach znajdujących się na zdalnym serwerze.
IMAP pozwala na ściągnięcie nagłówków wiadomości i wybranie, które z wiadomości chcemy ściągnąć na komputer lokalny. Pozwala na wykonywanie wielu operacji, zarządzanie folderami i wiadomościami. IMAP4 korzysta z protokołu TCP oraz portu 143, natomiast IMAPS - również korzysta z TCP oraz portu 993.

Zalety protokołu IMAP w stosunku do POP3.
  • IMAP pozwala na dwa tryby działania: połączeniowy i bezpołączeniowy. W przypadku protokołu POP, klient zazwyczaj podłączony jest do serwera na tyle długo, na ile trwa pobieranie wiadomości. W przypadku IMAP klient często utrzymuje połączenie dopóki interfejs użytkownika jest uruchomiony, żeby móc pobierać wiadomości na żądanie. W przypadku kont pocztowych posiadających wiele bądź duże wiadomości, tego rodzaju strategia może skutkować niższym czasem reakcji.
  • Protokół POP wymaga, aby w tym samym czasie do danego konta pocztowego podłączony był jeden klient. IMAP pozwala równocześnie podłączać się wielu klientom. Dostarcza mechanizmów pozwalających wykryć zmiany dokonane przez inne podłączone w tym samym czasie klienty.
  • Dzięki IMAP IDLE wiadomości mogą być przesyłane do klientów bezpośrednio po dostarczeniu na serwer, bez konieczności ręcznego odpytywania serwera (push e-mail).
  • W protokole IMAP fragmenty wiadomości elektronicznej są opisane za pomocą standardu MIME. IMAP umożliwia pobieranie wskazanych części wiadomości elektronicznej, niekoniecznie całej wiadomości. Tak więc można pobrać jedynie tekst bez konieczności pobierania załączników (zdjęć, dokumentów, które opisane są każde z osobna przez standard MIME, jako osobne części wiadomości). Możliwe jest też częściowe pobieranie określonych przez MIME fragmentów wiadomości.
  • Protokół IMAP implementuje system flag określających status wiadomości w taki sposób, że każdy z podłączonych klientów widzi zmiany statusów dokonane przez innych klientów. Flagi określają m.in.: czy wiadomość została przeczytana, skasowana, czy udzielona została na nią odpowiedź. Status flag zapisywany jest na serwerze.
  • Niektóre z serwerów IMAP pozwalają na przyporządkowanie do wiadomości jednego, bądź większej ilości predefiniowanych znaczników (tags), których znaczenie interpretowane jest przez klienty pocztowe. Dodawanie znaczników (tagów) wiadomościom jest wspierane przez niektórych dostawców poczty oferujących dostęp z poziomu przeglądarki, np.gmail.
  • IMAP pozwala na posiadanie wielu folderów na jednym koncie pocztowym. Klienty IMAP są w stanie tworzyć, zmieniać nazwę oraz kasować foldery w skrzynkach pocztowych na serwerze. Mogą też przenosić wiadomości między folderami. Możliwy jest również dostęp do folderów publicznych i współdzielonych.
  • IMAP pozwala wykonywać przeszukiwanie skrzynki pocztowej po stronie serwera. Zatem zadanie wyszukiwania może być przetwarzane przez serwer pocztowy, nie przez klienta. Działanie takie nie wymusza pobierania wszystkich wiadomości.
  • Korzystając z doświadczeń wcześniej rozwijanych protokołów, IMAP jasno definiuje sposoby dzięki którym może być rozszerzany.

Różnice między protokołami IMAP a POP3.

Świadoma decyzja wyboru właściwego protokołu odczytu poczty, spośród oferowanych POP3 i IMAP, jest bardzo ważna ze względu na ich odmienną charakterystykę i działanie przystosowane do dwu różnych modeli pracy.
Protokół POP3 (Post Office Protocol 3) jest przeznaczony do pracy "offline". Po połączeniu z serwerem cała nieprzeczytana korespondencja wraz z załącznikami transmitowana jest ze skrzynki pocztowej na serwerze do foldera na komputerze lokalnym. Odebrane listy zostają następnie oznaczone jako odczytane i, w zależności od ustawień, pozostawione lub (domyślnie) kasowane z serwera. Po zakończeniu tych operacji, czytanie listów i przygotowywanie odpowiedzi może być przeprowadzone lokalnie bez konieczności utrzymywania połączenia z Internetem. Kolejne połączenie wymagane jest tylko w celu wysłania zredagowanych odpowiedzi i ewentualnego sprawdzenia obecności nowych listów. Taki tryb pracy jest niewątpliwą zaletą w przypadku korzystania z połączenia, którego koszt zależy od czasu przebywania w sieci. W tym przypadku brak konieczności stałego połączenia znacząco obniża koszty.
Niestety, protokół POP3 ze względu na swą prostotę ma też znaczące wady, na przykład nie jest łatwe obsługiwanie skrzynki pocztowej z wielu komputerów. Jeśli bowiem, zgodnie z domyślnymi ustawieniami, odczytana poczta jest kasowana z serwera, to wówczas na każdym z komputerów znajdować się będzie tylko część korespondencji, a listy odczytane na jednym z nich nie będą widoczne na drugim. Jeśli natomiast przeczytana poczta jest pozostawiana na serwerze, to dość szybko może dojść do przepełnienia pojemności skrzynki pocztowej, a nie istnieje możliwość (dla protokołu POP3) korzystania z innych folderów pocztowych na serwerze. Kolejna wada ujawnia się w przypadku otrzymania bardzo dużego listu, nie można go bowiem usunąć bez uprzedniego przetransmitowania na komputer lokalny, a to może trwać bardzo długo. W tej sytuacji nie pomoże nawet przerwanie połączenia, ponieważ po jego wznowieniu proces transmisji zacznie się od początku. Wówczas niezbędne może okazać się skorzystanie z poczty przez WWW lub nawet kontakt z administratorem.
Protokół IMAP (Internet Message Access Protocol) działa w zdecydowanie odmienny sposób. Cała poczta przechowywana jest na serwerze w skrzynce pocztowej i w dodatkowych folderach pocztowych. Po połączeniu z serwerem na komputer lokalny transmitowane są jedynie same nagłówki wiadomości. Transmisja treści oraz załączników następuje dopiero po otwarciu danego listu, dzięki czemu możliwe jest kasowanie i filtrowanie korespondencji bez jej pobierania z serwera. Ten sposób obsługi poczty doskonale sprawdza się w przypadku pracy na wielu komputerach, na każdym z nich widzimy bowiem tą samą zawartość skrzynki. Wadą protokołu IMAP jest natomiast konieczność utrzymywania stałego połączenia z Internetem podczas obsługi poczty oraz trochę większa złożoność jego konfiguracji.
Reasumując, jeżeli używasz połączenia, którego koszt wiąże się z czasem przebywania w sieci, najlepszym wyborem będzie dla Ciebie korzystanie z protokołu POP3. Jeśli natomiast używasz stałego połączenia z Internetem i chcesz mieć dostęp do całej swojej poczty z różnych komputerów to powinieneś wybrać protokół IMAP.

  • DNS

Domain Name System (DNS, pol. „system nazw domenowych”) – system serwerów, protokół komunikacyjny oraz usługa obsługująca rozproszoną bazę danych adresów sieciowych. Pozwala na zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla urządzeń tworzących sieć komputerową. Dzięki DNS nazwa mnemoniczna, np.pl.wikipedia.org jest tłumaczona na odpowiadający jej adres IP, czyli 91.198.174.232
DNS to złożony system komputerowy oraz prawny. Zapewnia z jednej strony rejestrację nazw domen internetowych i ich powiązanie z numerami IP. Z drugiej strony realizuje bieżącą obsługę komputerów odnajdujących adresy IP odpowiadające poszczególnym nazwom. Jest nieodzowny do działania prawie wszystkich usług sieci Internet.
Rozproszona baza danych DNS jest indeksowana nazwami domen, tworzącymi drzewiastą strukturę hierarchiczną. Węzły drzewa DNS posiadają etykiety tekstowe o długości od 1 do 63 znaków: pusta etykieta o zerowej długości zarezerwowana jest dla węzła głównego. Etykiety węzłów oddzielone kropkami czytane w kierunku od węzła do korzenia drzewa tworzą pełną nazwę domenową.
Domena jest poddrzewem hierarchii nazw, obejmującym zbiór domen (subdomen) o wspólnym sufiksie, nazwanym tak jak węzeł na szczycie (np. domena funkcjonalna com.plgrupująca nazwy zakończone .com.pl). Nazwy „hostów” są nazwami domen, do których przypisana jest informacja o konkretnych urządzeniach i zazwyczaj występują w liściach drzewa DNS (czyli nie mają swoich poddomen), ale ogólnie jedna nazwa może opisywać zarówno hosta (np. główny serwer WWW organizacji), jak i całą domenę.
Przykładowo, wewnątrz domeny najwyższego poziomu .pl utworzono wiele domen:
  • regionalnych jak ‘opole.pl’, ‘dzierzoniow.pl’ czy ‘warmia.pl’,
  • funkcjonalnych jak ‘com.pl’, ‘gov.pl’ czy ‘org.pl’,
  • należących do firm, organizacji lub osób prywatnych jak ‘wikipedia.pl’, ‘zus.pl’.

Dozwolone znaki

Nazwy domen mogą zawierać litery, cyfry i znak '-'. Od niedawna w nazwach niektórych domen można używać znaków narodowych (IDN) takich jak 'ą' czy 'ż'. Trwają prace nad nowymi standardami odpowiadającymi DNS, które będą obsługiwać kodowanie Unicode, co pozwoli na umieszczanie w nazwach domen dowolnych znaków np. polskich albo chińskich równocześnie. W Polsce domeny zawierające znaki diakrytyzowane praktycznie nie występują.

DNS, jako system organizacyjny, składa się z dwóch instytucji – IANA i ICANN. Nadzorują one ogólne zasady przyznawania nazw domen i adresów IP. Nie zajmują się jednak one przydzielaniem domen poszczególnym chętnym, jedynie rozdzielają domeny najwyższego poziomu (takie jak.pl,.gov,.com,.eu) pomiędzy kraje lub wybrane organizacje i przekazują im prawa do zarządzania tymi domenami. Te mogą dalej przekazywać nadzór nad całością bądź częścią swoich domen, i tak Rząd Polski przekazuje nadzór nad domeną.plNaukowej i Akademickiej Sieci Komputerowej, która rozdziela poddomeny w obrębie domeny.pl pomiędzy zainteresowanych. Ci z kolei mogą rozdzielać te domeny pomiędzy poszczególne komputery, lub dalej swoim klientom.
W wielu krajach domena internetowa przyznana przez system DNS staje się własnością tego, kto pierwszy ją kupi. W Polsce jest ona tylko wynajmowana na określony czas. Jeżeli ktoś zrezygnuje ze swojej domeny i zwróci ją administratorowi DNS, może ona trafić w inne ręce.
Instytucje administrujące DNS na świecie:
  • ICANN-IANA – nadzór ogólny nad nazewnictwem i strukturą domen najwyższego poziomu (TLD – ang. Top Level Domains), np.: .pl,.gov,.com
  • VeriSign Global Registry Services – rejestracja i nadzór nad domenami:.net,.com
  • Public Interest Registry – rejestracja i nadzór nad domeną –.org
  • Rząd USA – rejestracja i nadzór nad domenami –.mil i.gov
  • NeuLevel – rejestracja i nadzór nad domeną –.biz
  • IEEE – rejestracja i nadzór nad domeną –.aero
  • Afilias Limited – rejestracja i nadzór nad domeną –.info
  • Global Name Registry – rejestracja i nadzór nad domeną –.name
  • EurID – rejestracja i nadzór nad domeną –.eu
  • rządy poszczególnych krajów: rejestracja i nadzór nad domenami „krajowymi”, np. .pl (zwykle rządy poszczególnych krajów przekazują ten nadzór wyspecjalizowanym instytucjom)
Instytucje administrujące DNS w Polsce:
  • NASK – nadzór nad domeną.pl jako całością oraz obsługa rejestrowania domen:.gov.pl (od 1 lipca 2013).com.pl,.biz.pl,.org.pl,.net.pl oraz części domen lokalnych, np. .waw.pl.

Podstawą technicznego systemu DNS jest ogólnoświatowa sieć serwerów przechowujących informacje na temat adresów domen. Każdy wpis zawiera nazwę oraz odpowiadającą jej wartość, najczęściej adres IP. System DNS jest podstawą działania Internetu.
DNS to również protokół komunikacyjny opisujący sposób łączenia się klientów z serwerami DNS. Częścią specyfikacji protokołu jest również zestaw zaleceń, jak aktualizować wpisy w bazach domen internetowych. Na świecie jest wiele serwerów DNS, które odpowiadają za obsługę poszczególnych domen internetowych. Domeny mają strukturę drzewiastą, na szczycie znajduje się 13 głównych serwerów (root servers) obsługujących domeny najwyższego poziomu (TLD – top level domains), których listę z ich adresami IP można pobrać zftp://ftp.rs.internic.net/domain/named.root
Serwery najwyższego poziomu z reguły posiadają tylko odwołania do odpowiednich serwerów DNS odpowiedzialnych za domeny niższego rzędu, np. serwery główne (obsługujące między innymi TLD.com) wiedzą, które serwery DNS odpowiedzialne są za domenę example.com. Serwery DNS zwracają nazwę serwerów odpowiedzialnych za domeny niższego rzędu. Możliwa jest sytuacja, że serwer główny odpowiada, że dane o domenie example.com posiada serwer dns.example.com. W celu uniknięcia zapętlenia w takiej sytuacji serwer główny do odpowiedzi dołącza specjalny rekord (tak zwany glue record) zawierający także adres IP serwera niższego rzędu (w tym przypadku dns.example.com).

System DNS posiada następujące cechy:
  • Nie ma jednej centralnej bazy danych adresów IP i nazw. Najważniejszych jest 13 głównych serwerów rozrzuconych na różnych kontynentach.
  • Serwery DNS przechowują dane tylko wybranych domen.
  • Każda domena powinna mieć co najmniej 2 serwery DNS obsługujące ją, jeśli więc nawet któryś z nich będzie nieczynny, to drugi może przejąć jego zadanie.
  • Każda domena posiada jeden główny dla niej serwer DNS (tzw. master), na którym to wprowadza się konfigurację tej domeny, wszystkie inne serwery obsługujące tę domenę są typu slave i dane dotyczące tej domeny pobierają automatycznie z jej serwera głównego po każdej zmianie zawartości domeny.
  • Serwery DNS mogą przechowywać przez pewien czas odpowiedzi z innych serwerów (ang. caching), a więc proces zamiany nazw na adresy IP jest często krótszy niż w podanym przykładzie.
  • Na dany adres IP może wskazywać wiele różnych nazw. Na przykład na adres IP 207.142.131.245 mogą wskazywać nazwy pl.wikipedia.org oraz de.wikipedia.org
  • Czasami pod jedną nazwą może kryć się więcej niż 1 adres IP po to, aby jeśli jeden z nich zawiedzie, inny mógł spełnić jego rolę.
  • Przy zmianie adresu IP komputera pełniącego funkcję serwera WWW, nie ma konieczności zmiany adresu internetowego strony, a jedynie poprawy wpisu w serwerze DNS obsługującym domenę.
  • Protokół DNS posługuje się do komunikacji serwer-klient głównie protokołem UDP, serwer pracuje na porcie numer 53, przesyłanie domeny pomiędzy serwerami master i slaveodbywa się protokołem TCP na porcie 53

Oto przykład działania systemu DNS. Użytkownik komputera wpisuje w swojej przeglądarce stron WWW adres internetowy pl.wikipedia.org. Przeglądarka musi poznać adres IP komputera będącego serwerem WWW dla tej strony. Cały proces przebiega zgodnie z tabelą.
Pobieranie adresu DNS
WysyłaOdbieraKomunikatUwagi
PrzeglądarkaSerwer DNS providera (194.204.152.34)Czy znasz adres IP komputerapl.wikipedia.org?Przeglądarka wysyła pakiet UDP z pytaniem do serwera DNS zdefiniowanego w konfiguracji systemu operacyjnego – najczęściej jest to serwer DNS providera Internetu (dla TPSA jest to np. 194.204.152.34).
Serwer DNS providera (194.204.152.34)Główny serwer DNS (198.41.0.4)Czy znasz adres IP komputerapl.wikipedia.org?Serwer DNS providera (194.204.152.34) wysyła zapytanie do jednego z 13 serwerów głównych (np. tego o adresie IP 198.41.0.4).
Główny serwer DNS (198.41.0.4)Serwer DNS providera (194.204.152.34)Nie znam, ale dla domeny orgserwerami są 204.74.112.1 i204.74.113.1.Zapytany serwer główny (198.41.0.4) odpowiada na zapytanie serwera providera.
Serwer DNS providera (194.204.152.34)Serwer DNS domeny „org” (204.74.112.1)Czy znasz adres IP komputerapl.wikipedia.org?Serwer DNS wysyła do jednego z tych 2 serwerów (np. tego o adresie IP 204.74.112.1) zapytanie.
Serwer DNS domeny „org” (204.74.112.1)Serwer DNS providera (194.204.152.34)Nie znam, ale dla domenywikipedia.org serwerami są216.21.226.87 i 216.21.234.87.Serwer domeny „org” odpowiada.
Serwer DNS providera (194.204.152.34)Serwer domeny „wikipedia.org” (216.21.226.87)Czy znasz adres IP komputerapl.wikipedia.org?Serwer DNS wysyła do jednego z tych 2 serwerów, np. tego o adresie IP 216.21.226.87 zapytanie.
Serwer DNS domeny „wikipedia.org” (216.21.226.87)Serwer DNS providera (194.204.152.34)pl.wikipedia.org ma adres IP 207.142.131.245.Serwer domeny „wikipedia.org” (216.21.226.87) odpowiada.
Serwer DNS providera (194.204.152.34)Przeglądarkapl.wikipedia.org ma adres IP 207.142.131.245.Serwer DNS TPSA (194.204.152.34) odpowiada przeglądarce.
PrzeglądarkaSerwer „pl.wikipedia.org” (207.142.131.245)Transakcja pobrania strony WWW.Przeglądarka łączy się z serwerem „pl.wikipedia.org” (o adresie IP 207.142.131.245) i wyświetla otrzymaną stronę.

  • TELNET

Telnet – standard protokołu komunikacyjnego używanego w sieciach komputerowych do obsługi odległego terminala w architekturze klient-serwer.
Protokół obsługuje tylko terminale alfanumeryczne, co oznacza, że nie obsługuje myszy ani innych urządzeń wskazujących. Nie obsługuje także graficznych interfejsów użytkownika. Wszystkie polecenia muszą być wprowadzane w trybie znakowym w wierszu poleceń. Polecenia wydawane za pomocą komputera-klienta przysłane są poprzez sieć do serwera, na którym zainstalowane jest oprogramowanie serwera telnetu. W odpowiedzi serwer odsyła komunikaty, które następnie wyświetlane są na ekranie komputera-klienta.
Do korzystania z tej usługi niezbędne jest posiadanie na serwerze konta typu shell. Na niektórych serwerach administratorzy zakładają konta gościnne, które nie wymagają podania hasła lub hasła te są publicznie podawane. Jednakże ze względów nadmiernego wykorzystywania takich kont, administratorzy wprowadzili możliwość używania tylko potrzebnych aplikacji, które mogą być wykorzystane na danym serwerze. Po połączeniu się z serwerem, na którym posiadamy konto shell program zapyta nas o identyfikator użytkownika (login) i hasło dostępu (password). Usługa Telnet umożliwia zatem pracę na zdalnym komputerze bez konieczności siedzenia bezpośrednio przed nim. Uruchomienie tej usługi wykonuje się poprzez wpisanie polecenia:telnet adres
gdzie adres jest adresem IP komputera, z którym chcemy się połączyć, bądź jego nazwą domenową, gdyż telnet dopuszcza obie te formy podawania adresu. Po nawiązaniu połączenia telnet wyświetli nam informację o wersji systemu operacyjnego serwera, jego nazwie oraz numerze wirtualnego terminala (np. ttyp0, ttyp1, ttyp2, itd…) Następnym krokiem jaki musimy wykonać w celu zalogowania się do serwera to podanie użytkownika oraz hasła (login i password).
W celu uzyskania największej możliwej wydajności usługi terminalowej, jaką jest telnet, konieczna jest świadomość jakie typy terminali obsługuje serwer, z którym się łączymy oraz jakie typy terminali potrafi emulować wykorzystywana przez nas do tego celu aplikacja. Najbardziej znanymi i najczęściej wykorzystywanymi typami są: VT100 (wykorzystujący sekwencje sterujące ANSI) oraz jego pozostałe odmiany VT102 i VT220, VT-52 oraz VTNT. Filozofia pracy tych terminali polega na przesyłaniu na bieżąco znak po znaku kodów sterujących wydawanych przez nasz komputer jak i w stronę odwrotną. Odmienny rodzaj pracy wykorzystuje inny typ terminala IBM 3270 pracujący w systemach VM i MVS. Terminale IBM 3270 wymieniają informacje pomiędzy komputerem i terminalem (kontrolerem) przesyłając bloki ekranu – komputer przesyła do terminala zdefiniowane pola tekstu, w których użytkownik może uzupełniać komendy lub dane dla serwera.
Bardzo często usługa telnet implementowana jest do urządzeń aktywnych sieci (przełączniki, routery) w celu ułatwienia zdalnej konfiguracji. Użytkownik za pomocą polecenia telnet oraz podaniu adresu danego urządzenia loguje się do niego i w trybie znakowym wykonuje konfiguracje VLAN-ów, adresów IP, NAT-a itd. Połączenie tego typu nie jest szyfrowane, a więc istnieje możliwość przechwycenia przesyłanych danych. Z tego powodu częściej stosuje się następcę Telnetu czyli SSH.
Telnet jest najstarszą i najbardziej elementarną usługą internetową. Został opisany w dokumentach RFC numer RFC 854 i RFC 855.
Jest on też często używany w grach tekstowych typu MUD.
Znaczna część internautów nie korzysta w ogóle z usługi telnetu. To prawda, że z powodzeniem można zostać użytkownikiem sieci ograniczając się do usług FTP, WWW i Poczty, ale czy aby nie ograniczamy sobie przez to horyzontów? Czy telnet może być użyteczny dla przeciętnego użytkownika sieci? Oczywiście. Oto przykład. Pewnego dnia do jednej z polskich CyberCafe przyszła klientka z zamiarem odczytania poczty z własnego konta, znajdującego się gdzieś, hen na włoskich serwerach. Co prawda lokalny serwer był podłączony do nie byle jakiego łącza (1 Mbps), ale uzyskanie sensownego transferu między polskimi a włoskimi serwerami za pośrednictwem Polpaku jest nie lada problemem. W skrzynce pocztowej zalegało ok. 8 MB pokaźnych maili (przeważnie grafiki w formacie BMP przełożone na MIME). Protokół POP3 (podobnie jak i SMTP) ma jedną poważną wadę - brak możliwości ponowienia transferu tego samego listu, stąd też każdy z listów (o ponad 1 MB rozmiarze) musiał być przesłany bez zerwania transmisji. Okazało się to nie lada problemem. Koniec końców jedynym rozwiązaniem było ściągnięcie inboxu bezpośrednio z serwera (w tym wypadku można było ponowić transfer), niestety usługi telnetowe wspomnianego serwera były zablokowane... Gdyby jednak istniała możliwość dostania się na serwer za pośrednictwem telnetu i uruchomienia dowolnego, unixowego programu pocztowego, problem można by bardzo szybko rozwiązać, przenosząc pliki z obrazkami do innego folderu (na serwerze), a ściągając za pośrednictwem pop3 jedynie istotne informacje. Wnioski: nie pozwólmy zapychać sobie skrzynki pocztowej obrazkami... albo nauczmy się posługiwać telnetem. 
        Takie przykłady można by mnożyć, choć z drugiej strony znaczna część użytkowników sieci nawet nie zdaje sobie sprawy z możliwości tkwiących w zdalnej pracy na serwerze. Cóż... pozostawmy to więc wtajemniczonym, a nie wtajemniczeni niech dalej płacą koszmarne rachunki pozostawiając on-line własne maszyny w celu ściągnięcia kilkumegabajtowych plików przy bardzo wolnym transferze...
        Usługa telnetu jest najłatwiejsza do zrozumienia, jeśli ktoś już zetknął się z systemem UNIX, gdzie gros pracy przebiega na terminalach działających w trybie tekstowym. Użytkownik zalogowany do systemu dostaje do dyspozycji powłokę systemową, tak zwany shell. Z jego poziomu może obsługiwać system przez wpisywanie komend i podawanie parametrów. Nadto każda powłoka, a tych jest kilka, żeby tylko wymienić sh, zsh, csh, tcsh, ksh, bash, oferuje pewien zestaw własnych komend, wkompilowanych w jej kod, może interpretować skrypty, dokonywać przekierowania wejścia i wyjścia etc. Do powłoki, a tym samym do systemu, można się dostać pokonawszy wcześniej program o nazwie login, dokonujący weryfikacji użytkownika i sprawdzający, czy ma on prawo pracować na danej maszynie.
        Telnet, jako się rzekło, jest usługą pozwalającą na zdalne zalogowanie na danej maszynie przy użyciu protokołu TCP/IP. Program wykonujący tę usługę nazywa się również "telnet" i w istocie jest emulatorem lokalnego terminala. Z punktu widzenia systemu nie jest bowiem istotne, czy użytkownik pracuje lokalnie, czy też zdalnie, jedyną różnicą może być szybkość odpowiedzi systemu na polecenia. Pod wszystkimi innymi względami terminal emulowany przez program telnet zachowuje się dokładnie tak samo, jako lokalny terminal serwera, czyli najpierw daje nam do obejrzenia login, a po wpisaniu identyfikatora i hasła udostępnia powłokę.
        Telnet jest aplikacją typu serwer-klient, co najlepiej może pokazać poniższy rysunek.

Na rysunku tym można wyróżnić kilka zasadniczych elementów.:
  • Klient Telnet wymienia informacje zarówno z użytkownikiem pracującym na terminalu, jak i z protokołami TCP/IP. Zwykle wszystko co napiszemy przesyłane jest przez połączenie TCP/IP, a to co odebraliśmy wyświetlane jest na naszym terminalu.
  • Serwer Telnet współpracuje często z tzw. pseudoterminalem. Dzięki temu powłoka logowania traktuje sesję Telnet jako uruchomioną na tym serwerze i tak samo widzą ją wszystkie inne programy uruchomione przez tę powłokę, które przesyłają i odbierają informacje z naszego terminala.
  • Wykorzystywane jest tylko jedno połączenie TCP/IP. Ponieważ zdarza się, że klient telnet musi komunikować się z serwerem (i odwrotnie), to musi istnieć jakiś sposób przedstawienia przesyłanych poleceń i odróżniania ich od danych.
  • Programy obsługi terminala i pseudoterminala, wraz z implementacją TCP/IP, są zwykle częścią jądra systemu operacyjnego. Klient i serwer Telnet to zwykle samodzielne aplikacje użytkownika.
  • Aby zalogować się w systemie używając aplikacji Telnet, musimy mieć na nim swoje konto. Zdalne logowanie się nie jest aplikacją do przesyłania dużych ilości danych. Pomiędzy dwoma stronami wymienianych jest wiele małych pakietów. Pisząc krótkie polecenia, generujemy zwykle dość duże odpowiedzi.
  • SSH
SSH (ang. secure shell) to standard protokołów komunikacyjnych używanych w sieciach komputerowych TCP/IP, w architekturze klient-serwer a od wersji 2 nawet w architekturze serwer-klient.
W ścisłym znaczeniu SSH to tylko następca protokołu Telnet, służącego do terminalowego łączenia się ze zdalnymi komputerami. SSH różni się od Telnetu tym, że transfer wszelkich danych jest zaszyfrowany oraz możliwe jest rozpoznawanie użytkownika na wiele różnych sposobów. W szerszym znaczeniu SSH to wspólna nazwa dla całej rodziny protokołów, nie tylko terminalowych, lecz także służących do przesyłania plików (SCP, SFTP), zdalnej kontroli zasobów, tunelowania i wielu innych zastosowań. Wspólną cechą wszystkich tych protokołów jest identyczna z SSH technika szyfrowania danych i rozpoznawania użytkownika. Obecnie protokoły z rodziny SSH praktycznie wyparły wszystkie inne mniej bezpieczne protokoły, takie, jak np. rlogin czy RSH.
Ogólne założenia protokołu SSH powstały w grupie roboczej IETF. W użyciu są obie jego wersje - 1 i 2. W wersji 2 możliwe jest użycie dowolnych sposobów szyfrowania danych i 4 różnych sposobów uwierzytelnienia, podczas gdy SSH1 obsługiwało tylko stałą listę kilku sposobów szyfrowania i 2 sposoby rozpoznawania użytkownika (klucz RSA i zwykłe hasło).
Wersja 2 została przeprojektowana od zera ze względu na ujawnione w wersji 1.5 podatności na ataki kryptoanalityczne, umożliwiające wstrzykiwanie komend do zaszyfrowanego strumienia SSH. W 2009 roku opublikowano kolejny atak tego typu na wersję 2. Problem został naprawiony w OpenSSH 5.2 za pomocą zmiany domyślnego trybu szyfrowania z CBC na CTR.
Najczęściej stosowany sposób szyfrowania to AES, choć część serwerów nadal używa szyfrowania Blowfish i technik z rodziny DES.
Uwierzytelnienie użytkownika może się opierać na haśle, kluczu (RSA, DSA) lub protokole Kerberos.
Dwie najbardziej znane implementacje SSH to zamknięte ssh.com i otwarte OpenSSH. Z kolei najbardziej znaną implementacją klienta jest PuTTY.
Protokoły z rodziny SSH korzystają zwykle z portu 22 protokołu TCP, choć często stosuje się porty o innych numerach w celu utrudnienia wykrycia serwera SSH.
Protokół SSH jest zaimplementowany na warstwie aplikacji modelu OSI w ramach połączenia TCP.
Do czego można wykorzystać SSH?
Dzięki SSH możemy połączyć się ze zdalnym serwerem i uzyskać dostęp do powłoki systemowej. W większości dystrybucji GNU/Linux domyślną powłoką jest /bin/bash. Powłoka bywa również nazywana konsolą, lub terminalem. Dostęp do powłoki systemowej to potężne narzędzie dzięki, któremu możemy zarządzać swoim serwerem, zmieniać uprawnienia do plików, tworzyć i przenosić pliki oraz katalogi, pakować i rozpakowywac archiwa itp.

Dostęp do powłoki systemowej po SSH dostępny jest dla następujących usług:

- Hosting (ograniczony dostęp, tylko pakiety Kylos Gold i Kylos Platinum)
- Serwery VPS (pełny dostęp, root)
- Serwery dedykowane (pełny dostęp, root)
- Serwery Cloud (pełny dostęp, root)

Na kontach hostingowych możliwy jest jedynie limitowany dostęp - bez możliwości instalacji i dodawania nowych narzędzi. Na pozostałych usługach, gdzie mamy pełny dostęp do konta root można według uznania modyfikować i dodawać własne narzędzia.