Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Linux: SSH, TCP/IP, DNS, WWW

linux

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
Comenzi de lucru cu directoare
Conectarea statiilor Windows la Linux: telnet, putty
Linux
Executia pas cu pas a proceselor - UNIX
SISTEMUL DE OPERARE LINUX RED HAT
Evacuarea proceselor - UNIX
Asteptarea (wait) - UNIX
Linux Users and Sudo
Profiling - UNIX
Structuri de date pentru paginare la cerere - UNIX

Servicii Linux


  • Cuprins
  • Servicii Linux
    • 1 Secure Shel (SSH)
      • Functionarea SSH
    • 2 Forwardarea X si TCP/IP
      • B. Configurarea SSH (client)
      • C. Configurarea SSHD
    • 3 Domain Name System - DNS
      • A. Scurt istoric
      • B. Implementare DNS
      • C. Un server de nume caching-only
      • D. Un domeniu simplu
    • 4 Electronic Mail - e-mail
      • A. Scurt istoric
      • B. Arhitectura si functionare
      • C. Spam, relay, open-relay
      • D. Aplicatii
    • 5 World Wide Web
      • A. Scurt istoric
      • B. Ce este WWW si cum functioneaza?
      • C. Server-e si clienti Web
      • D. Instalarea si configurarea Apache Web Server
    • 6 NIS & NFS
      • A. RPC
      • B. NIS
      • C. NFS
    • 7 Studii de caz
      • A. Configurarea Qmail
      • B. 'Virtual Hosting' cu Apache
        • 1 Gazduire virtuala bazata pe adrese IP
        • 2 Gazduire virtuala bazata pe nume
    • 8 Intrebari

Servicii Linux

In cadrul acestui capitol vor fi prezentate detalii legate de configurarea unor servicii de retea: SSH, DNS, Web, Mail, NFS.





1 Secure Shel (SSH)

Ssh (Secure Shell) e un program pentru logare la distanta si pentru executarea comenzilor pe masina de la distanta. A fost conceput pentru a inlocui rlogin si rsh si pentru a asigura comunicatie criptata intre doua gazde neincrezatoare dintr-o retea nesigura. Prin canalul oferit pot fi forwardate si conexiunile X11 si porturi arbitrare TCP/IP. Ssh utilizeaza tcp, componenta server ascultand pe portul 22.

Pachetul ssh este compus din server (sshd),client (ssh) si inca cateva utilitare, pentru manevrarea cheilor. In general sshd-ul se porneste din scripturile de initializare ale sistemului si ruleaza tot timpul in background.


Subsections

  • Functionarea SSH

Functionarea SSH

Fiecare masina are o cheie RSA: host key (in mod normal pe 1024 de biti). In plus, atunci cand este pornit, demonul (sshd) genereaza automat o cheie: server key (pe 768 de biti). Aceasta este regenerata din ora in ora daca a fost folosita si nu este pastrata niciodata pe disc. De fiecare data cand un client initiaza o conexiune, demonul ii trimite host key si server key (care este publica). Clientul compara host key cu cea din baza lui de date, pentru a verifica daca nu s-a schimbat. Apoi clientul genereaza un numar aleator de 256 de biti. Cripteaza acest numar folosind host key si server key si trimite numarul criptat la server. In continuare ambele parti vor folosi acest numar aleator ca o cheie de criptare. Sunt suportate urmatoarele metode de criptare: IDEA, DES, 3DES, ARCFOUR si TSS, implicit folosindu-se IDEA

Urmatoarea etapa este autentificarea clientului care a initiat conexiunea. Acest proces se desfasoara astfel:

  • Mai intai, daca masina de pe care se logheaza utilizatorul este mentionata in fisierul /etc/hosts.equiv sau /etc/hosts.equiv de pe masina de la distanta si numele utilizatorului este acelasi pe ambele masini, acesta se logheaza imediat. In plus, daca in directorul home al utilizatorului de pe masina de la distanta exista fisierul .rhosts sau .shosts si contine o linie cu numele masinii client si numele utilizatorului pe acea masina, acesta se logheaza imediat. In mod normal, doar aceasta metoda de autentificare nu este permisa, fiind nesigura.
  • A doua (de fapt prima) metoda de autentificare este metoda rhost sau hosts.equiv combinata cu autentificarea prin RSA. Adica logarea se poate face doar daca este permisa prin .rhosts, .shosts, /etc/hosts.equiv sau /etc/shosts.equiv si in plus se verifica si cheia gazdei.
  • Ca o a treia metoda de autentificare, ssh suporta autentificarea RSA. Fiecare utilizator isi creeaza o pereche de chei: publica si privata. Serverul cunoaste cheia publica si doar utilizatorul cunoaste cheia privata. In fisierul $HOME/.ssh/authorized_keys se afla lista cheilor publice care se pot loga. Cand utilizatorul se logheaza, programul ssh spune serverului care pereche de chei va fi folosita pentru autentificare. Serverul verifica daca aceasta cheie se afla printre cele carora li se permite logarea si, in caz afirmativ, trimite utilizatorului (de fapt programului ssh rulat de utilizator) o intrebare, un numar aleator, criptat cu cheia publica a utilizatorului. Aceasta intrebare poate fi decriptata doar cu cheia privata potrivita. Utilizatorul decripteaza intrebarea folosind cheia potrivita, dovedind astfel ca e corect. Ssh-ul implementeaza protocolul de autentificare RSA automat. Utilizatorul creeaza perechea de chei RSA automat, ruland ssh-keygen. Acesta pune cheia privata in .ssh/identity si cheia publica in .ssh/identity.pub in directorul home al utilizatorului. Utilizatorul trebuie sa copieze identity.pub in .ssh/authorized_keys in directorul home de pe masina de la distanta (fisierul authorized_keys corespunde cu fisierul conventional .rhosts, avand o cheie pe o linie, chiar daca liniile sunt foarte lungi). Apoi utilizatorul se poate loga fara parola. Autentificarea prin RSA e mult mai sigura decat cea prin rhosts. Cel mai convenabil mod de a folosi autentificarea prin RSA este cu agent de autentificare, ssh-agent.
  • Ca o a 4-a metoda, ssh-ul suporta autentificarea printr-un server TIS. Ssh cere serverului de autentificare TIS sa autentifice utilizatorul. Uneori, numele utilizatorilor din baza de date TIS nu poate sa fie acelasi cu cel de pe masina locala. Aceasta se intampla cand utilizatorul se autentifica cu un smartcard sau Digipass. In acest caz, numele utilizatorului din baza de date este cunoscut ca numarul serial a device-ului de autentificare. Fisierul /etc/sshd_tis.map contine maparea intre utilizatorii locali si numele corespunzator lor din baza de date TIS. Daca fisierul nu exista sau utilizatorul nu este gasit, numele corespunzator din baza de date TIS e presupus acelasi.

Daca toate metodele de autentificare incercate esueaza, ssh cere utilizatorului o parola. Parola e trimisa gazdei de la distanta pentru verificare, criptata. Cand identitatea utilizatorului a fost acceptata de server, acesta fie executa comanda data, fie se logheaza si transmite utilizatorului un shell normal pe masina de la distanta. Comunicatia intre cele doua masini este acum criptata.

Dupa ce faza de autentificare se incheie cu succes urmeaza procesul de login, descris mai jos:

  1. Daca login-ul e pe un tty si nu a fost specificata nici o comanda, afiseaza ultima logare si /etc/motd
  2. Daca login-ul e pe un tty, inregistreaza momentul logarii
  3. Verifica /etc/nologin. Daca exista, ii afiseaza continutul si iese
  4. Schimba sa ruleze cu privilegii normale de utilizator
  5. Seteaza variabilele de mediu de baza
  6. Citeste /etc/environment (daca exista)
  7. Citeste $HOME/.ssh/environment (daca exista)
  8. Trece in directorul home al utilizatorului
  9. Daca exista $HOME/.ssh/rc, il ruleaza; altfel, daca exista /etc/sshrc il ruleaza; daca nici acesta nu exista, ruleaza xauth.
  10. Ruleaza shell-ul utilizatorului sau comanda

2 Forwardarea X si TCP/IP

Daca utilizatorul foloseste X11 (este setata variabila de mediu DISPLAY), conexiunea cu display-ul X11 e transferata automat la distanta in asa fel incat orice program X11 pornit de la shell (sau prin comanda) e trecut prin canalul criptat si conexiunea cu adevaratul server X va fi facuta de pe masina locala. Utilizatorul nu trebuie sa seteze manual variabila DISPLAY. Transferarea conexiunilor X11 poate fi configurata din linia de comanda sau din fisierele de configurare.

Transferarea unei conexiuni TCP/IP prin canalul sigur poate fi specificata fie din linia de comanda, fie din fisierele de configurare. O aplicatie posibila a forwardarii TCP/IP e trecerea de un firewall in vederea citirii postei electronice. Ssh mentine si verifica automat o baza de date cu identificarile bazate pe RSA ale tuturor masinilor pe care s-a facut logarea. Baza de date este tinuta in .ssh/known_hosts. In plus si fisierul /etc/ssh_known_hosts este verificat automat. Orice noua gazda este automat adaugata la fisierul utilizatorului. Daca informatia de identificare a unei gazde se schimba, ssh trimite un avertisment si dezactiveaza autentificarea parolei pentru a preveni un atentat la parola utilizatorului. Optiunea StrictHostKey-Checking poate fi folosita pentru a preveni logarile pe masini ale caror chei nu sunt cunoscute sau au fost schimbate.


Subsections

  • A. Configurarea SSH (client)
  • B. Configurarea SSHD

A. Configurarea SSH (client)

Ssh ia configurarile necesare din urmatoarele surse (in aceasta ordine):

  • de la linia de comanda
  • din fisierele de configurare ale utilizatorului ($HOME/.ssh/config)
  • din fisierul de configurare al sistemului (/etc/ssh_config).

Pentru fiecare parametru va fi folosita prima valoare obtinuta.


B. Configurarea SSHD

Fisierul de configurare utilizat de sshd este /etc/sshd_config. De asemenea, este posibila specificarea unor optiuni ca parametri la linia de comanda:

-b

subd.dom.tld va contine datele referitoare la numele de host-uri din acest domeniu:

ns.subdomain.domain.tld. trebuie sa fie o masina pentru care exista o inregistrare de tip A. Nu se permite o inregistrare CNAME pentru masina mentionata in SOA. In cel de-al doilea rand, hostmaster.subdomain.domain.tld. este de fapt o adresa de e-mail si trebuie citita ca hostmaster@subdomain.domain.tld. In acest exemplu exista un tip nou de RR si anume MX sau Mail eXchanger. Acesta spune sistemului unde sa trimita mailurile pentru someone@subdomain.domain.tld. Numerele care urmeaza dupa MX sunt prioritare pentru respectivul server SMTP, cu cat mai mic, cu atat mai prioritar fiind serverul respectiv.

Observatie: remarcati ca toate numele se termina cu caracterul '.' daca este specificat intregul nume (inclusiv domeniul), si fara acesta, daca este prezent doar numele unei masini (in acest caz, lipsa caracterului '.' duce la concatenarea numelui respectiv cu domeniul de ex mail -> mail.subdomain.domain.tld). Atentie, in cazul in care omiteti punctul de la sfarsit dar specificati si numele domeniului, se va ajunge la rezolvari incorecte, de exemplu mail. subdomain. domain. tld va fi rezolvat ca mail. subdomain. domain. tld. subdomain. domain. tld.!

O versiune mai completa a acestei zone:



4 Electronic Mail - e-mail

Serviciul de mesaje electronice, e-mail, a fost inventat acum mai bine de doua decenii. In acest capitol se vor prezenta pe scurt cateva detalii legate de istoricul evolutiei acestui sistem, arhitectura, protocoalele si aplicatiile utilizate.


Subsections

  • A. Scurt istoric
  • B. Arhitectura si functionare
  • C. Spam, relay, open-relay
  • D. Aplicatii

A. Scurt istoric

Ideea de mesagerie electronica dateaza din anul 1971, cand Ray Tomlinson dezvolta prima aplicatie e-mail pentru ARPANET. Aceasta era formata din doua programe, SNDMSG, utilizat pentru a trimite mesaje, respectiv READMAIL, folosit pentru citirea mesajelor. In anul 1972, comenzile MAIL si MLFL au fost adaugate programului FTP. Aceasta a fost modalitatea de transmitere a mesajelor in reteaua ARPANET pana la inceputul anilor '80 cand a fost dezvoltat protocolul SMTP.


B. Arhitectura si functionare

In componenta sistemului pentru posta electronica intra urmatoarele componente:

MTA

mount -t nfs nfs_server:/path_to_exported_fs local_path

monteaza sistemul de fisiere exportat de catre server in directorul local_path

/etc/rc.d/init.d/nfs

porneste/opreste serverul de NFS

/etc/exports

lista cu directoarele de exportat, optiuni (read/write) si host-urile care au voie sa monteze directoarele de pe server, folosita de scriptul de pornire al serviciului NFS

exportfs

adaugare/stergere/vizualizare lista de exportat (nu /etc/exports)

rpc.mountd

parte din serverul NFS ce se ocupa de gestionarea cererilor de mount catre server

rpc.nfsd

parte din serverul NFS ce implementeaza procedurile RPC read, write, readdir, etc.; in mod normal acest server ruleaza in spatiul utilizator, dar versiunile mai noi implementeaza aceasta parte direct in nucleu pentru performante mai bune

rpc.lockd

parte din serverul NFS ce implementeaza proceduri RPC de lock/unlock pe fisierele exportate de server; in mod normal acest server ruleaza in spatiul utilizator, dar versiunile mai noi implementeaza aceasta parte direct in nucleu pentru performante mai bune

showmount host

afiseaza lista de directoare care pot fi montate de statii, cine poate monta aceste directoare precum si ce host-uri au monate ce directoare de pe host


7 Studii de caz


Subsections

  • A. Configurarea Qmail
  • B. 'Virtual Hosting' cu Apache
    • 1 Gazduire virtuala bazata pe adrese IP
    • 2 Gazduire virtuala bazata pe nume

A. Configurarea Qmail

Qmail este disponibil atat in forma binara cat si ca sursa. Dat fiind faptul ca intructiunile de instalare incluse in pachetele Qmail sunt usor de urmarit, nu am considerat necesara includerea lor in aceasta sectiune.

La instalarea Qmail se va crea directorul /var/qmail/ care contine pe langa altele urmatoarele subdirectoare:

alias/

smtpgreeting

Am definit anterior relaying ca fiind actiunea de a accepta si de a transmite mai departe catre destinatie un mesaj care are ca destinatie o adresa care nu este locala. Modul in care Qmail realizeaza functia de relay este controlat de fisierul /var/qmail/control/rcpthosts. Pentru ca server-ul dvs. sa nu fie open-relay, va trebui sa listati aici domeniile pentru care server-ul respectiv pastreaza mesajele. Sa presupunem ca sunteti un ISP (Internet Service Provider); veti lista in /var/qmail/control/rcpthosts numele de domeniu ale clientilor dvs. Totusi atunci cand un client va incerca sa trimita un mesaj va primi un mesaj de genul 'Sorry, that domain isn't in my list of allowed rcpthosts'. De ce se intampla acest lucru? Adresa destinatie este verificata pentru a testa daca face parte din domeniile listate in /var/qmail/control/rcpthosts. Este evident ca nu putem lista in respectivul fisier toate domeniile catre care clientii ar dori sa trimita mesaje. Componenta Qmail care implementeaza SMTP, qmail-smtpd, dispune de o modalitate de a ocoli cautarea in rcpthosts: daca este setata variabila de mediu RELAYCLIENT, qmail-smtpd va ignora rcpthosts.

O noua problema apare: cum identificam clientii pentru care facem relaying? In functie de adresa sursa specificata de campul From din mesaj? Raspunsul este nu, identificarea se va face in functie de adresa IP. Identificarea dupa adresa specificata de campul From nu este deloc sigura, neexistand nici un mod de a verifica daca aceasta este reala.

Pentru a putea realiza setarea selectiva a acestei variabile de mediu trebuie sa utilizati doua aplicatii suplimentare: tcprules si tcpserver, care se gasesc in pachetul ucspi.

Pasii necesari pentru a configura relaying selectiv sunt:

1. Adaugati in fisierul /etc/tcp.smtp cate o intrare cu sintaxa prezentata mai jos pentru fiecare client de la care server-ul ar trebui sa accepte si sa transmita mai departe mesaje.

Sa presupunem ca server-ul dvs. Web gazduieste www.test1.ro si www.test2.ro, acesta din urma indicand catre aceiasi adresa IP cu primul. Fisierul httpd.conf pentru acest server trebuie sa contina urmatoarele:

NameVirtualHost *

<VirtualHost *>

ServerName www.test1.ro

DocumentRoot /www/test1

</VirtualHost>

<VirtualHost *>

ServerName www.test2.ro

DocumentRoot /www/test2

</VirtualHost>

unde * poate fi inlocuit cu o adresa IP.

Aceasta metoda de a implementa gazduire virtuala, este evident mai avantajoasa, deoarece se economisesc adrese IP. Trebuie avut in vedere urmatorul aspect atunci cand se utilizeaza aceasta metoda: exsita browser-e mai vechi care nu suporta extensiile adaugate la HTTP 1.0, necesare pentru a utiliza aceasta facilitate.


8 Intrebari

  1. Secure Shell utilizeaza:
    1. tcp, portul 22
    2. udp, portul 22
    3. tcp portul 222
    4. udp portul 222
  2. Sistemul DNS foloseste:
    1. Tcp, portul 53
    2. Udp, portul 53
    3. O baza de date centralizata
    4. O baza de date distribuita
  3. In cadrul fisierului de configurare pentru o zona DNS o intrare de tip A:
    1. realizeaza o asocierea intre o adresa IP si un nume
    2. realizeaza o asociere intre un nume si o adresa IP
    3. nu este valida
    4. specifica serverul SMTP care gestioneaza transmiterea de mesaje pentru domeniul respectiv
  4. Care afirmatii sunt adevarate in ceea ce priveste sistemul de posta electronica?
    1. SMTP este protocolul utilizat intre MTA (Mail Transfer Agent)
    2. SMTP este protocolul utilizat de catre o aplicatie de tip MUA (Mail User Agent) pentru a transfera mesajele de pe server
    3. SMTP utilizeaza portul 25
    4. SMTP nu este folosit pentru posta electronica
  5. Pentru un server SMTP relaying reprezinta:
    1. A primi un mesaj care nu este destinat unui utilizator din domeniile gestionate de server si a-l transmite mai departe catre destinatie.
    2. A primi un mesaj care este destinat unui utilizator din domeniile gestionate de server si a-l transmite mai departe catre destinatie.
    3. Termenul de relaying are sens in contextul unui Mail User Agent, nu al unui server SMTP
    4. Nici unul din raspunsurile de mai sus
  6. Sistemul WWW se bazeaza pe un model client/server, modul de comunicare intre client si server fiind definit de protocolul HTTP. Cum arata cererea generata de browser-ul dvs. atunci cand incercati sa accesati www.test.com/file.html?
    1. GET www.test.com/file.html HTTP
    2. GIVE ME www.test.com/file.html HTTP/1.0
    3. GET www.test.com/file.html HTTP/1.0
    4. GET /file.html HTTP/1.0
  7. Unde sunt localizate fisierele utilizate pentru configurarea Qmail?
    1. /etc/qmail/
    2. /var/qmail/control
    3. /var/qmail/conf
    4. Nici unul din raspunsurile de mai sus
  8. Server-ul Web Apache dispune capabilitatea de Virtual Hosting. Selectati afirmatiile corecte din cele de mai jos:
    1. Exista doua modalitati de configurare: IP based virtual hosting si name based virtual hosting
    2. Un numar maxim de 64 de host-uri virtuale poate fi definit
    3. Name based virtual hosting este mai avantajos decat IP based virtual hosting, deoarece se conserva adrese IP
    4. Pentru functionarea Name based virtual hosting este necesar ca clientul sa foloseasca anumite extensii HTTP 1.0
  9. Selectati afirmatiile adevarate referitoare la NFS.
    1. NFS este un protocol RPC cu arhitectura client/server
    2. Serverul NFS pune la dispozitia clientilor sisteme de fisiere
    3. Din punctul de vedere al clientului NFS, accesul la un sistem de fisiere exportat de server se face ca si cand acesta ar fi local
    4. NFS nu este protocol de retea, ci doar un joc (Need For Speed) produs de Sun Microsystems







Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1526
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site