Documente Academic
Documente Profesional
Documente Cultură
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 mesajelejurnal se afla in /var/log
administratorul poate utiliza aceste fisierejurnal 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 taburi
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 printrun 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 email 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