Curs 2 - Server basics - pub.roelf.cs.pub.ro/gsr/res/cursuri/curs-02.pdf · 2016. 12. 15. · Curs...

31
Curs 2 Server basics Gestiunea serviciilor de ret , ea (GSR) 13 octombrie 2016 Departamentul de Calculatoare, Comunitatea RLUG CSE Dep, RLUG Curs 2, Server basics 1/31

Transcript of Curs 2 - Server basics - pub.roelf.cs.pub.ro/gsr/res/cursuri/curs-02.pdf · 2016. 12. 15. · Curs...

  • Curs 2Server basics

    Gestiunea serviciilor de ret,ea (GSR)13 octombrie 2016

    Departamentul de Calculatoare, Comunitatea RLUG

    CSE Dep, RLUG Curs 2, Server basics 1/31

  • Cuprins

    Procese s, i daemoni

    Servere s, i servicii

    Investigarea serviciilor

    Cron

    Jurnalizare

    NTP

    Resurse utile

    CSE Dep, RLUG Curs 2, Server basics 2/31

  • Procese standard

    I Un proces standard este un program interactiv cu utilizatorul

    I Este de obicei rulat de utilizator din shell, are acces lastdin/stdout/stderr

    I Poate fi oprit cu o comandă internă specifică (exit/quit) saude către utilizator folosind Ctrl-C

    CSE Dep, RLUG Curs 2, Server basics 3/31

  • Daemon

    I Un sistem modern trebuie să poată realiza mai multe task-urineinteractive ı̂n acelas, i timp

    I Aceste task-uri sunt realizate prin daemons

    I Un daemon este un proces care rulează ı̂n background(decuplat de la terminal, având uzual stdin s, i stdout legate la/dev/null) al cărui părinte este ı̂n mod uzual init

    I Daemonii sunt pornit, i de către sistemul de operare prinintermediul script-urilor de start-up (SysV/systemd/upstart)

    CSE Dep, RLUG Curs 2, Server basics 4/31

  • Interact, iunea cu un daemon

    I Fis, iere de configurare

    I UNIX sockets / TCP sockets

    I script de start-up (... stop/start/restart/reload/status)

    CSE Dep, RLUG Curs 2, Server basics 5/31

  • Cuprins

    Procese s, i daemoni

    Servere s, i servicii

    Investigarea serviciilor

    Cron

    Jurnalizare

    NTP

    Resurse utile

    CSE Dep, RLUG Curs 2, Server basics 6/31

  • Ce este un server?

    În mod uzual termenul de server paote face referint, ă la oricare dinurmătoarele concepte:

    I Un computer fizic, care rulează un sistem de operare adecvatpentru servere

    I Un daemon care serves, te răspunsuri la cererile venite (deobicei) peste ret,ea

    CSE Dep, RLUG Curs 2, Server basics 7/31

  • Servicii

    I Un serviciu, ı̂n terminologie *NIX, reprezintă un daemon careimplementează o anume funct, ionalitate(HTTP/SMTP/DNS/. . . )

    I Un serviciu are ca s, i componente auxiliare:I Un utilizator/grup dedicatI Un port TCP/UDP dedicat

    I do one thing well

    CSE Dep, RLUG Curs 2, Server basics 8/31

  • Utilizatori dedicat, i pentru servicii

    I Un utilizator poate avea acces numai la fis, ierele det,inute deel sau de grupul/grupurile din care face parte

    I Serviciile au fiecare unul sau mai mult, i utilizatori dedicat, i.I Motivele pentru care se face acest lucru sunt:

    I separare de privilegiiI asignarea de resurse separateI prevenirea atacurilor informatice

    CSE Dep, RLUG Curs 2, Server basics 9/31

  • Demo

    Demo

    CSE Dep, RLUG Curs 2, Server basics 10/31

  • Cuprins

    Procese s, i daemoni

    Servere s, i servicii

    Investigarea serviciilor

    Cron

    Jurnalizare

    NTP

    Resurse utile

    CSE Dep, RLUG Curs 2, Server basics 11/31

  • Depanarea serviciilor - fis, iere configurare s, i jurnalizare

    I Fiecare serviciu are un fis, ier de configurare s, i un fis, ier dejurnalizare

    I Pentru configurareI httpd.confI rsyslog.confI sshd_config

    I Pentru jurnalizareI /var/log/apache/error_logI /var/log/{messages,syslog}I /var/log/{messages,secure}

    CSE Dep, RLUG Curs 2, Server basics 12/31

  • Depanarea serviciilor - unelte

    I În cazul serviciilor de ret,ea: ascultă pe portul care trebuie?I netstat -antplu

    I Ce fis, iere deschise are un serviciu?I lsof -p $PID | less

    I Ce ı̂ncearcă să facă un daemon?I strace

    CSE Dep, RLUG Curs 2, Server basics 13/31

  • Demo

    Demo

    CSE Dep, RLUG Curs 2, Server basics 14/31

  • Cuprins

    Procese s, i daemoni

    Servere s, i servicii

    Investigarea serviciilor

    Cron

    Jurnalizare

    NTP

    Resurse utile

    CSE Dep, RLUG Curs 2, Server basics 15/31

  • Rularea periodică de comenzi/programe

    I crond se ocupă de programarea rulării la anumite intervale aunor comenzi sau programe

    I Programarea se poate face din minut ı̂n minut, la o anumităoră, o dată pe zi/săptămână/lună sau orice alt tip de interval

    I Programarea se poate face per user

    I Editarea configurat, iei se face folosind comanda crontab -e

    CSE Dep, RLUG Curs 2, Server basics 16/31

  • Formatul fis, ierului de configurare

    /etc/crontab

    # Minute Hour Day of Month Month Day of Week Command

    # (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)

    0 2 12 * * /usr/bin/echo "middle of the night"

    CSE Dep, RLUG Curs 2, Server basics 17/31

  • Cuprins

    Procese s, i daemoni

    Servere s, i servicii

    Investigarea serviciilor

    Cron

    Jurnalizare

    NTP

    Resurse utile

    CSE Dep, RLUG Curs 2, Server basics 18/31

  • Nevoia de jurnalizare

    I Pentru daemoni/servicii

    I Configurarea jurnalizării

    I Jurnalizare directă sau printr-un serviciu de jurnalizare

    I Serviciul de jurnalizare/logging pe Unix: syslog

    CSE Dep, RLUG Curs 2, Server basics 19/31

  • Mesajele de jurnalizare

    Formatul general al unui mesaj de jurnalizare:

    I timestamp, metadate, mesajul efectiv

    Exemplu /var/log/auth.log

    Oct 12 21:14:44 dr0fw0 sshd[8835]: Accepted publickey

    for eugen from 192.168.10.254 port 17855 ssh2: ED25519

    2e:7e:72:c2:75:15:54:e8:10:60:e0:da:6a:c7:b7:4

    CSE Dep, RLUG Curs 2, Server basics 20/31

  • Configurarea syslog

    I /etc/*syslog.conf

    I Fis, ierul de configurare al daemonului de syslog constă ı̂ndefinit, ii de tip Parametru-Valoare

    I mail.* -/var/log/maillogI - ı̂nseamnă că mesajele primite cu facility mail pot fi

    bufferedI ı̂n mod uzual, mesajele primite de daemonul de syslog sunt

    scrise imediat pe disc folosind O FSYNC

    CSE Dep, RLUG Curs 2, Server basics 21/31

  • Demo: Verificarea jurnalizării folosind comanda logger

    Logger command

    logger -p local0.notice -t console-log ”look ma, i’m in syslog”

    syslog output

    /var/log/messages: Aug 12 09:56:44 ve1 console-log: look ma, i’m in syslog

    CSE Dep, RLUG Curs 2, Server basics 22/31

  • Remote logging

    I Serviciu central de jurnalizare s, i servicii agentI UDP vs TCP

    I UDP: Fire and Forget. Mărimea maximă a unui mesaj desyslog este de 1460-1482 bytes

    I Workaround pentru a transmite un mesaj mai lung peste UDPeste adăugarea unui index de secvent, ă la ı̂nceputul mesajului:[1], [2] etc.

    I TCP: Presupune o metodă sigură de a transmite un mesaj ı̂ncealaltă parte până la o lungime de aproximativ 1MB per mesaj

    CSE Dep, RLUG Curs 2, Server basics 23/31

  • Cuprins

    Procese s, i daemoni

    Servere s, i servicii

    Investigarea serviciilor

    Cron

    Jurnalizare

    NTP

    Resurse utile

    CSE Dep, RLUG Curs 2, Server basics 24/31

  • Despre NTP

    I De ce e necesar

    I Mecanism de funct, ionare

    I Surse de timp

    I Clock strata

    I Utilitare de verificare a stării

    CSE Dep, RLUG Curs 2, Server basics 25/31

  • Mecanism de funct, ionare

    I Clientul interoghează unul sau mai multe servere de timp

    I Calculează delay-ul (round trip time) ı̂ntre el s, i server(e)

    I Ceasul sistemului este ajustat treptat până este sincronizat lacâteva milisecunde fat, ă de serverele de timp

    CSE Dep, RLUG Curs 2, Server basics 26/31

  • Stratum

    I Serverele NTP sunt ”organizate” ierarhic ı̂n funct, ie deacuratet,ea lor

    I Stratum 0: ceasul atomic (sursa exactă de timp)I Stratum 1: ceasurile sincronizate direct cu Stratum 0I Stratum 2: ceasurile sincronizate direct cu Stratum 1I ...I Stratum 16: ceasul nu este sincronizat

    CSE Dep, RLUG Curs 2, Server basics 27/31

  • Configurarea NTP

    /etc/ntp.conf

    server 0.centos.pool.ntp.org

    server ntp2.usv.ro

    CSE Dep, RLUG Curs 2, Server basics 28/31

  • Unelte

    I ntpstat

    I ntpq

    I ntpdate

    CSE Dep, RLUG Curs 2, Server basics 29/31

  • Cuprins

    Procese s, i daemoni

    Servere s, i servicii

    Investigarea serviciilor

    Cron

    Jurnalizare

    NTP

    Resurse utile

    CSE Dep, RLUG Curs 2, Server basics 30/31

  • Resurse utile

    I https://en.wikipedia.org/wiki/Daemon_(computing)

    I https://tools.ietf.org/html/rfc3164 s, ihttps://tools.ietf.org/html/rfc5424

    I https://en.wikipedia.org/wiki/Cron

    I https:

    //en.wikipedia.org/wiki/Network_Time_Protocol

    I https://en.wikipedia.org/wiki/Ntpdate s, ihttps://en.wikipedia.org/wiki/Ntpd

    I http://www.ecoca.ro/ntponeusvro/

    CSE Dep, RLUG Curs 2, Server basics 31/31

    https://en.wikipedia.org/wiki/Daemon_(computing)https://tools.ietf.org/html/rfc3164https://tools.ietf.org/html/rfc5424https://en.wikipedia.org/wiki/Cronhttps://en.wikipedia.org/wiki/Network_Time_Protocolhttps://en.wikipedia.org/wiki/Network_Time_Protocolhttps://en.wikipedia.org/wiki/Ntpdatehttps://en.wikipedia.org/wiki/Ntpdhttp://www.ecoca.ro/ntponeusvro/

    Procese și daemoniServere și serviciiInvestigarea serviciilorCronJurnalizareNTPResurse utile