Sunteți pe pagina 1din 13

Administrarea sistemelor Linux

       Cursul 8
Configurarea serviciilor sistemului – partea I

Dragoş Acostăchioaie

http://www.adt.ro
dragos@adt.ro
Serviciul SSH

­ este un mod sigur de conectare intre sisteme
­ cripteaza informatiile inainte de a fi trimise prin retea
­ pentru autentificare utilizeaza un sistem de chei publice si private
­ poate fi utilizat in locul serviciilor nesigure (sniffere...), cum ar fi telnet,
FTP sau rlogin
­ poate fi folosit si pentru a tunela alte servicii de retea
­ Linux utilizeaza implementarea OpenSSH (www.isc.org)
­ se recomanda instalarea unei versiuni cat mai recente
Utilizarea clientilor SSH

­ conectarea la un sistem se face prin programul ssh
ssh [ optiuni ] user@masina [ comanda ]
­ optiuni:
­C – comprima datele
­c cifru – algoritmul de criptare folosit (des, 3des, blowfish, aes)
­ daca se specifica o comanda, nu se deschide interpretor de comenzi
­ transferul de fisiere intre doua sisteme:
scp sursa user@masina:/home/user
sftp (comenzi similare cu FTP)
Utilizarea clientilor SSH

­ tunelarea serviciilor de retea:
­L port_local:masina:port_remote
portul de pe masina locala va fi redirectionat catre portul aflat pe
masina aflata la distanta
­R port_local:masina:port_remote
portul de pe masina aflata la distanta va fi redirectionat catre
portul de pe masina locala
Server SSH

­ pentru a accepta conexiuni SSH trebuie sa ruleze daemonul sshd
­ fisierul de configurare: /etc/ssh/sshd_config
optiune valoare
Port – portul la care sshd asteapta conexiuni (implicit 22)
ListenAddress – adresa IP a interfetei de retea de pe care vor fi
asteptate conexiuni
PermitRootLogin – permite utilizatorului root sa intre in sistem (No)
RhostsAuthentication – permite accesul privilegiat prin .rhosts (No)
PasswordAuthentication – autentificarea se va face pe baza parolelor de
acces
PermitEmptyPasswords – permite folosirea de parole vide (No)
AllowUsers – utilizatorii care pot intra in sistem
(poate avea si sintaxa user@masina)
DenyUsers – utilizatorii carora nu li se permite intrarea in sistem
Server SSH (continuare)

AllowGroups – grupurile carora li se permite intrarea in sistem
DenyGroups – grupurile pentru care nu se permite intrarea
VerifyReverseMapping – verifica adresa masinii client (nume <­> IP)
LoginGraceTime – timpul de asteptare in care utilizatorul va fi deconectat
daca autentificarea nu a avut succes (120)
MaxAuthTries – numarul maxim de reincercari pentru fiecare autentificare
StrictModes – verifica permisiunile directorului home inainte de a accepta
intrarea in sistem
Banner – specifica un fisier al carui continut va fi afisat dupa conectare
SyslogFacility – stabileste clasa de jurnalizare utilizata de syslog
(AUTHPRIV)
LogInfo – nivelul de jurnalizarea utilizat de syslog (INFO)
Serviciul syslog

­ daemonul syslog ofera aplicatiilor si nucleului Linux posibilitatea de
jurnalizare a mesajelor generate
­ mesajele pot fi: de eroare, de atentionare, de depanare etc.
­ mesajele pot fi trimise catre fisiere sau catre alte sisteme care ruleaza
daemonul syslog
­ fisierele in care sunt stocate mesajele­jurnal se afla in /var/log
­ administratorul poate utiliza aceste fisiere­jurnal pentru:
­ a determina problemele de functionare a serviciilor sistemului
­ depista incercarile de atac impotriva sistemului
­ utilizarea neautorizata a serviciilor
­ serviciul corespunzator: syslogd
­ fisierul de configurare: /etc/syslog.conf
­ contine reguli, cate una pe fiecare linie, avand doua campuri, unul
selector si unul de actiune, separate prin spatii sau tab­uri
Serviciul syslog (continuare)

­ campul selector este alcatuit din doua parti: clasa si prioritatea, separate
prin “.”
­ clasa = sistemul care a generat mesajul: auth, authpriv, cron, daemon,
kern, lpr, mail, news, syslog, user, local0...local7
­ caracterul “*” = toate clasele
­ prioritatea = severitatea mesajului: debug, info, notice, warning, err,
crit, alert, emerg (in ordine ascendenta)
­ caracterul “*” = toate prioritatile
­ “none” ­ mesajele avand clasa specificata vor fi ignorate
­ toate mesajele avand prioritatea specificata sau mai mare vor fi
jurnalizate
­ pot fi specificate mai multe clase avand aceeasi prioritate, separate prin
virgula (fara a mai putea specifica si prioritatea)
Serviciul syslog (continuare)

­ pot fi specificati mai multi selectori pentru o singura actiune, separati
prin caracterul “;”
­ actiunea reprezinta destinatia jurnalului:
­ fisiere obisnuite – numele fisierelor trebuie sa includa calea completa
(incepand cu “/”); mesajele vor fi adaugate la sfarsitul fisierului;
daca incep cu “­”, nu se va mai face scrierea imediata pe disc (fsync)
dupa fiecare mesaj (pentru a imbunatati performanta sistemului)
­ terminale (/dev/console, /dev/tty10)
­ alta masina (care ruleaza syslogd), in formatul @masina
­ lista de utilizatori – trimite mesajele catre anumiti utilizatori
conectati, care vor aparea pe terminalul curent al acestora; separarea
utilizatorilor din lista se face prin virgula (“*” = toti utilizatorii
intrati pe sistem)
Serviciul syslog (continuare)

­ trimiterea mesajului printr­un pipe – executa un program in momentul
receptionarii mesajelor, prin folosirea caracterului “|”, urmat de numele
comenzii care va fi executata
­ daca se doreste jurnalizarea mesajelor provenite de pe alte masini, trebuie
folosit argumentul “­r” la pornirea daemonului syslogd
­ dupa modificarea fisierului de configurare trebuie trimis daemonului
syslogd semnalul SIGHUP
Serviciul cron

­ serviciul cron se utilizeaza pentru executia de proceduri automate
­ executa comenzi in mod programat, la anumite momente prestabilite de
timp
­ daemonul cron se “trezeste” la fiecare minut, verificand in mod
normal continutul directoarelor:
­ cron.d – scripturi speciale cron
­ cron.hourly – scripturi care vor fi executate din ora in ora
­ cron.daily – scripturi care vor fi executate zilnic
­ cron.weekly – scripturi care vor fi executate saptamanal
­ cron.monthly – scripturi care vor fi executate lunar
­ se executa scripturile aflate in aceste directoare
­ fisierul de configurare: /etc/crontab
­ contine instructiuni de executie a unei comenzi la un anumit moment
Serviciul cron (continuare)

­ daca variabila de mediu MAILTO este definita si nu este vida, va fi trimis
un e­mail utilizatorului specificat, continand iesirea standard a tuturor
scripturilor executate
­ actiunile executate de cron sunt jurnalizate in general in /var/log/cron
­ formatul fisierului crontab:

specificatie_timp utilizator script

­ specificatie_timp contine cinci campuri:
­ minut, putand lua valori intre 0 si 59
­ ora, putand lua valori intre 0 si 23
­ zi din luna, putand lua valori intre 1 si 31
­ luna, putand lua valori intre 1 si 12 sau nume de luna
­ zi din saptamana, intre 0 si 7 (0 = duminica) sau nume de zile
Serviciul cron (continuare)

­ “*” = orice valoare
­ sunt permise intervalele de numere (“­”), liste de valori sau
intervale (separate prin virgula)
­ este permisa si divizarea valorilor (“/”)
­ utilizator – utilizatorul sub care vor fi executate scripturile
­ script – locatia scriptului care va fi executat
­ utilizatorii isi pot defini propriile fisiere crontab, localizate in
/var/cron/tabs/nume_utilizator
­ utilizatorii care pot utiliza acest serviciu pot fi limitati prin intermediul
/etc/cron.allow si cron.deny
­ pot fi folosite si serviciile anacron si at