Puncte:18

autentificare root sau utilizator sudo pentru administrarea serverului?

drapel br

Încerc să înțeleg argumentele tehnice/implicațiile de securitate dintre ssh'ing cu root direct sau crearea unui utilizator sudo auxiliar în contextul întreținerii unui server. Pentru a clarifica, vorbim despre servere deținute de un singur administrator. Pentru mai multe persoane care lucrează la mașină, este evident că există avantajul urmăririi de audit de a avea utilizatori unici pentru fiecare persoană reală și permisiuni detaliate.

Gândul meu este că, dacă aceasta este o stație desktop, are sens și este recomandat să folosiți un utilizator non-root pentru lucrurile zilnice, dar pe un server, de obicei, vă autentificați pentru a o întreține și de 99% din ori toate activitățile dvs. necesită root. permisiuni.

Deci, există beneficii de securitate în crearea unui utilizator „proxy” pe care îl veți face oricum pentru a-l roota, în loc să oferiți direct acces ssh la root?

Singurul beneficiu la care mă pot gândi este securitatea prin obscuritate, adică roboții ar încerca în mod normal să caute utilizatorul „rădăcină”. Dar, din cum văd eu, dacă un utilizator sudoers este compromis, este la fel cu compromiterea utilizatorului root, așa că jocul s-a terminat.

În plus, majoritatea cadrelor de administrare la distanță, sistemele NAS, hipervizoarele încurajează utilizarea unui utilizator root pentru autentificarea pe web.

drapel ba
Dacă sunt un hacker, știu că root va exista pe toate mașinile Linux, blocând root (și guest), crearea unui cont „SupremeLeaderSnoke” și acordarea acestui cont de acces complet sudo este un nivel trivial de protecție de securitate. Acum trebuie să ghicesc atât numele de utilizator, cât și parola pentru a intra. Acum puteți deveni mai sofisticați și puteți crea mai multe conturi care au privilegii sudo la resurse specifice pentru instrumente de administrare la distanță, astfel încât să limitați din nou raza de explozie în cazul în care cineva intră.
drapel cn
@IanW: A nu ști numele de utilizator este „securitate prin obscuritate”, ceea ce nu este deloc securitate. De asemenea, prin introducerea sudo, introduceți erori potențiale de securitate, care pot duce la escaladarea privilegiilor locale (cum ar fi CVE-2021-3156).
drapel ba
@jakub-luck%c3%bd, dar pentru a profita de o greșeală sudo pe care o aveți deja, fiți în interior. Nu am sugerat în niciun caz dezactivarea accesului root, crearea unui al doilea cont este suficientă securitate. De asemenea, să nu intru într-o dezbatere despre ceea ce este „suficient”.Instalând aplicații ca root și conectarea ca root, inevitabil utilizatorul se va conecta întotdeauna la o rădăcină, chiar și pentru sarcini de rutină non-root. Acum vă deschideți la și mai mulți vectori de vulnerabilitate decât doar sudo.
marcelm avatar
drapel ng
Există o a treia opțiune care nu este menționată în întrebare: Folosirea lui `su` în loc de `sudo`, printr-un cont proxy.
drapel ch
@JakubLucký securitate prin obscuritate _singur_ nu este deloc securitate. Când este folosit ca un strat independent pe lângă alte bune practici de securitate, obscuritatea este considerată un instrument de securitate valid.
drapel in
În mare parte s-a răspuns aici: https://serverfault.com/questions/580881/is-it-ok-to-set-up-passwordless-sudo-on-a-cloud-server/581111#581111
Andrew Henle avatar
drapel ph
@JakubLucký *prin introducerea sudo, introduceți potențiale erori de securitate, care pot duce la escaladarea privilegiilor locale* Nu? Ai putea spune la fel de bine: „Un gard s-ar putea să facă găuri în el, așa că doar o să lăsăm vacile să fugă libere”. Oferirea accesului root direct pentru că `sudo` ar putea fi compromisă nu este o îmbunătățire a securității. Nu contează că elimini total responsabilitatea și non-repudierea. Sunt sigur că asta va merge bine cu auditorii tăi de securitate.
drapel br
@JakubLucký Cu siguranță nu aș fi de acord că securitatea prin obscuritate nu este deloc securitate - deoarece toate măsurile de securitate, funcționează ca o parte/strat din întreaga strategie, la fel ca schimbarea portului SSH implicit nu este securitate în sine, dar elimină practic toate scanerele de porturi și roboții care testează sistemul dvs. Deși, așa cum am reiterat, întrebarea mea se concentrează strict pe aspectul tehnic, nu pe ingineria socială, nu pe politici corporative, nu pe credințe și vrăji asemănătoare religioase a'la "nu folosiți niciodată goto" :)
drapel br
@AndrewHenle, deși voi fi de acord că argumentul compromiterii sudo este adânc în teritoriul paranoic, am văzut din când în când găuri descoperite în componentele critice ale sistemului de operare, așa că nu cred că noi, ca profesioniști, ar trebui să tratăm orice fel de software ca fiind impecabil. :)
user avatar
drapel sa
@alex.b.bg Teritoriu paranoic? CVE-2021-3156 a fost lansat cu doar un an în urmă și nu a fost singurul bug pe care l-a avut sudo. Există, de asemenea, problema configurării incorecte a software-ului. Este o sugestie complet validă să luați în considerare potențialele probleme cu doar adăugarea sudo la orice.
drapel br
@user Da, paranoic, pentru că dacă te duci în acea groapă de iepure, poți ajunge la concluzia că nimic din univers nu este sigur, inclusiv acel moment în care exact numărul critic de discuri din raid-ul tău eșuează în același timp, sau mai mult elegant - centrul de date ia foc :) Luați hype-ul log4j - o dramă destul de serioasă, gaura fiind în existență de ani de zile - ați auzit de un atac real prin acestea? Nu am. Desigur, dacă lucrezi pentru NSA, a fi paranoic este cu siguranță un plus. Dacă vă securizați NAS de acasă - nu cred.
drapel br
@user și nu spun atât de mult că datele tale personale nu merită ceea ce are NSA - personal, dau exact zero ban dacă datele din lume dispar în comparație cu fotografiile mele de familie :) Dar mai important - actorii amenințărilor la un marile corporații sau agenții sunt foarte diferite de ceea ce ar putea să vă atace rețeaua privată. Privind jurnalul meu fail2ban din ultimii 10 ani, am văzut doar o singură sondă care probabil a fost vizată în mod special către mine.
Puncte:16
drapel be

Un lucru de luat în considerare: dacă folosiți chei SSH pentru autentificarea de la distanță, ce se întâmplă dacă cheia privată este compromisă?

Dacă root: accesul root este compromis. Sper că nu ați folosit acea cheie pentru accesul root pe mai multe mașini.

Dacă utilizator: acel utilizator este compromis. in orice caz, un atacator ar putea să nu poată rula sudo, deoarece parola utilizatorului nu este compromisă. Inca. (Presupunând că este necesară o parolă pentru a utiliza sudo)

Încă o situație proastă, dar poate una mai bună. (De asemenea, puțin mai bine dacă utilizați fraze de acces pentru cheile dvs. SSH)

Dubu avatar
drapel do
Ei bine, acea cheie privată ar trebui _încă_ să aibă o parolă.
Ben Voigt avatar
drapel pl
@Dubu: o cheie privată este doar un număr mare, nu există nicio parolă acolo. Presupun că v-ați referit la o parolă pentru fișierul de cheie care stochează cheia în mod persistent... dar cheia va fi în continuare neprotejată temporar în memorie, timp în care este vulnerabilă la expunerea de către erori de tip Heartbleed.
drapel jm
@BenVoigt Cheia privată este doar un număr mare. Dar sunteți întrebat dacă doriți să protejați acel număr mare cu o expresie de acces atunci când generați fișierul cheie. Răspunsul ar trebui să fie întotdeauna da.
Ben Voigt avatar
drapel pl
@doneal24: Asta e ceea ce am subliniat, că fraza de acces protejează cheia numai de dezvăluire prin fișierul cheie, nu peste tot.
drapel br
Ce l-ar împiedica pe atacator să schimbe pur și simplu parola utilizatorului și să facă sudo în acest fel? Luând acea rută, vă puteți proteja cu parolă cheia ssh, pe care cu siguranță aș recomanda întotdeauna, oricum de fiecare dată și chiar mai departe - puteți avea o parolă separată pentru root pe care vi se va cere să o introduceți în sudo cu rootpwd - aceasta chiar dacă utilizatorul dvs. este compromis, atacatorul nu va putea face sudo.DAR, având în vedere o cheie ssh protejată prin parolă, poate că cele de mai sus intră în tărâmul paranoic.
joshudson avatar
drapel cn
Doriți să vedeți ce pot face cu o cheie ssh compromisă a contului personal al unui administrator când sudo este în uz?
TylerW avatar
drapel be
@alex.b.bg vrei să spui ca utilizator non-root cu o cheie compromisă? Un utilizator trebuie să introducă parola curentă pentru a schimba parola de utilizator. Pentru a forța o modificare, este nevoie de acces de administrator, cum ar fi su sau sudo... care, din nou, necesită parole.
drapel br
@TylerW corect, am uitat de asta.
Puncte:10
drapel ng

Ceilalți utilizatori au menționat deja puncte foarte bune. Vreau să recapitulez pe cele pe care le consider cele mai importante...

...de ce să folosești sudo

  • Dacă cheia dvs. ssh pentru autentificare root este compromisă, aveți puține șanse să scăpați de situație în mod corespunzător.
  • Comenzile care folosesc sudo sunt înregistrate, acest lucru nu aplică doar siguranță atunci când există mai mulți administratori, ci și dacă un atacator a intrat în sistemul dumneavoastră.
  • Ai foarte opțiuni granulare pentru a ajusta permisiunile per-utilizator, este prin /etc/ssh/sshd_config sau prin intermediul SUDOeri fişier. (nu folosi alt editor decât visudo!)
  • Chiar dacă autentificarea implicită ssh este compromisă: un strat suplimentar precum sudo face permisiunile root mai puțin accesibile. (Folosesc mereu Valori implicite targetpw - atât pe computerul meu desktop, cât și pe serverele mele. Deci trebuie să cunoașteți două parole diferite pentru a deveni root)

Pentru a adăuga la ultimul punct: eu personal folosesc utilizatori separati pentru fiecare sarcină de pe serverele mele (eu sunt singurul administrator): de ex. un utilizator pentru copii de rezervă. Are acces la fișierele de rezervă și acces ssh separat la un server din afara site-ului. Am un utilizator pentru monitorizare, care are acces foarte limitat la fișierele de jurnal și la API-ul de monitorizare. Ca sa mentionez doar cateva exemple...

Dar pentru mine, personal, cel mai important aspect este că toți suntem oameni. Vei face greseli. Trebuie să tastați sudo înainte de fiecare comandă, asta ți-ar putea schimba comportamentul sistemului, cel puțin adaugă o barieră care te încurajează să te gândești prea mult la comanda.

Asa ca recomand cu incredere: utilizați sudo în locul utilizatorului root


Din punct de vedere tehnic: Există două moduri comune de a utiliza utilizatorul root. Fie conectați-vă direct prin ssh ca root, fie conectați-vă prin ssh și tastați sudo su sau su - (...) ca primă poruncă. Ambele moduri nu m-ar face să mă simt confortabil.

autentificare ssh root

  • Independent de deschiderea login-ului rădăcină sau nu: Utilizarea fișierelor cheie ssh este singura modalitate sigură. Nu utilizați parole fără fișiere cheie. (Iată un ghid)
  • Adăugați reguli de firewall și reguli sshd precum LoginGraceTime și MaxAuthTries pentru a limita atacurile BruteForce.
  • Lăsarea opțiunii de autentificare ca root adaugă o defecțiune de securitate. Chiar dacă este foarte puțin probabil să folosească defectul. (Eu prefer PermitRootLogin)
  • Din punct de vedere tehnic, dacă protejați autentificarea rădăcină urmând cele mai bune practici, aceasta este nu mai puțin sigur decât ssh de zi cu zi.

su

  • După părerea mea, singura problemă legată de autentificare ca root este că nu trebuie să tastați sudo înainte de fiecare comandă, ceea ce vă face mai predispus la erori
void avatar
drapel ng
Pentru a nu uita că puteți adăuga mai multe „funcții” la sudo, folosind `visudo`: Cât va dura marca temporală? Ce parolă va trebui să tastați? Ce comenzi sunt accesibile fără parolă?...
drapel br
Cred că ceea ce ați menționat modificarea configurației sudoers cu Defaults targetpw este singurul caz real în care obțineți mai multă securitate din punct de vedere tehnic. În mediul profesional, asta este exact ceea ce fac, în special la punctele finale orientate spre public - în acest fel, chiar dacă aveți o parolă neglijentă pe cheia dvs. ssh (și oamenii de obicei își refolosesc parolele „standard”), chiar dacă compromiteți cheia, cel puțin mai există o parolă care trebuie spartă. Dar fără rootpw/targetpw, cel puțin deocamdată nu sunt convins că un utilizator proxy oferă beneficii tehnice.
void avatar
drapel ng
Nu, din punct de vedere tehnic, nu există un avantaj real al unui utilizator „proxy” față de acționarea ca root. Dar totuși, puteți implementa și mai multă securitate prin sudo, de ex. combinați cu SELinux sau chiar setați-vă propriul prompt de parolă. Nu l-am folosit niciodată, dar cred că asta ar face ușoară utilizarea bazelor de date de autentificare ca LDAP pentru sudo. Cel mai interesant poate pentru o singură mașină cu utilizator: este posibilă și integrarea TOTP.
void avatar
drapel ng
Venind la punctul dvs. despre parolele cheie: De fapt, nu folosesc niciodată parole cheie (din moment ce îmi stochez cheile doar pe dispozitive private și criptate), dar am setat `AuthenticationMethods publickey,password` în `sshd_config` pentru a solicita un al doilea factor în acest fel. Și apoi folosesc sudo ca în discuția de mai sus... Dar cu siguranță ar trebui să vă protejați cheile cu parolă într-un mediu profesional.
drapel ba
Bună @void, singurul lucru care lipsește pentru a vă completa răspunsul este un link de referință pentru „Nu folosiți parole fără fișiere cheie”. pe fișierele cheie „cum să se facă”.
void avatar
drapel ng
@lanW punct bun. Utilizatorul experimentat ar trebui să poată cerceta lucruri de bază pe cont propriu - dar voi adăuga link-uri pentru administratorii neexperimentați. +1
drapel br
@void Aș recomanda utilizarea parolelor cheie, indiferent unde le stocați. Scurgerile de chei private se întâmplă ici și colo, și mai ales dacă o folosiți în mai multe locuri, devine un singur punct de eșec (de securitate) pentru întregul vostru ecosistem. Cred că cheile fără parolă au sens pentru chestii automate cu permisiuni foarte limitate, cum ar fi o sarcină de backup programată sau o altă integrare. BTW, nu știam dacă separați prin virgulă mai multe metode de autentificare pentru sshd, le necesită pe ambele :) Trebuie să încerc asta...
void avatar
drapel ng
@alex.b.bg Ai perfecta dreptate. Nu recomand să nu protejați fișierele cheie prin parolă. Este doar comoditate pentru mine. Astfel, folosesc fișiere de cheie separate pentru fiecare dispozitiv și fiecare cont ssh plus al doilea factor al parolei țintă (pam pe partea serverului), care rămâne destul de sigur.
Puncte:9
drapel it

Pentru toate utilizările, vă recomand cu tărie a nu folosi rădăcină; chiar și pentru a-l dezactiva dacă este posibil. În mod obișnuit, am root dezactivat pe serverele Linux/UNIX. Utilizatorul root nu poate fi îngrădit, acțiunile sale nu sunt înregistrate. Cel puțin, o comandă sudo va fi înregistrată, foarte utilă în caz de manipulare greșită a administratorului. De asemenea, puteți îmbunătăți permisiunile de cereale pentru utilizatori, oferind doar anumite privilegii. Desigur, cu root dezactivat, nu este posibilă înregistrarea ssh folosind root.

Din experiență, root-ul este omis doar în cazul în care trebuie să porniți cu un singur utilizator sau boot de urgență; un scenariu rar când un server nu poate porni corect. Dar dacă acesta este cazul, îl puteți activa, schimba parola și trece la recuperare.
Un alt caz este copierea fișierelor folosind sftp (sau ftp, ceea ce ar trebui evitat, desigur, cu excepția cazului în rețelele interne), unde trebuie să copiați direct în/din directoare doar cu permisiuni root. În acest scenariu, puteți utiliza ACL-uri pentru a acorda permisiuni unui alt utilizator și puteți continua.

drapel br
Cer un scenariu în care sunt singurul administrator al unei anumite mașini - dacă îmi lipsește un beneficiu tehnic/de securitate al celor două abordări (de exemplu, un caz în care chiar și utilizatorul „proxy” este compromis, nu poate face atât de multe daune în comparație cu utilizatorul root fiind compromis direct. Pentru mai mulți administratori/utilizatori, argumentul pista de audit este unul bun. De fapt, voi edita întrebarea pentru a o adăuga în contextul întrebării.
Scottie H avatar
drapel cn
În calitate de administrator de sistem, este important să utilizați „Cele mai bune practici”, care este să vă conectați ca dvs., apoi, atunci când este necesar, treceți la root. TBH, dacă sunteți SINGURUL utilizator, nu există conectivitate externă și aveți Anti-Virus/Anti-Malware pentru a scana mediile de instalare - dreptul dvs., nu prea contează (vă rugăm să recitiți acele 3 avertismente și asigurați-vă că le intelegi pe deplin). Cu toate acestea, a lua obiceiul de a vă conecta ca root este greu de spart; când intri într-un sistem „obișnuit și obișnuit”, îți va fi greu să te adaptezi. *Învață să faci asta chiar înainte de a începe să încalci regulile!* 0,02 USD
drapel in
De obicei, se poate doar `sudo -s` și are un shell rădăcină. În teorie, puteți configura, desigur, că utilizatorul „upgrade” poate rula doar „apt upgrade” sau ceva de genul acesta, dar acest lucru va complica lucrurile și este dincolo de problema OP.
drapel br
@ScottieH dacă stația dvs. de administrare este compromisă (ceea ce ați menționat despre antivirus/antimalware) și, să zicem, un atacator vă înregistrează procedura de conectare pe un server, cred că jocul este peste, indiferent cât de bine este securizat acel server. Dar vă înțeleg punctul de vedere și este foarte important - că securitatea implică toate nodurile care sunt cumva conectate.
joshudson avatar
drapel cn
Dacă puteți cere pornirea de urgență pe consolă, parola de root este o viteză, nu o barieră.
Puncte:6
drapel gh

pe un server, de obicei vă autentificați pentru a-l menține și de 99% din ori toate activitățile dvs. necesită permisiuni root.

Aș vrea să contest asta. Există multe sarcini de rutină care caută pur și simplu informații pe care orice utilizator le poate vedea. „sus”, „ps”, „df”, uitându-se la jurnalele etc.

Obișnuiește-te să rulezi doar comenzile care necesită root ca root. Și verificați de trei ori acele comenzi pentru a vă asigura că nu ați scris greșit nimic.

Dacă rulați totul ca root, veți deveni neglijent. Se întâmplă tuturor.
Când ești neglijent, vei face greșeli. Se întâmplă tuturor.

Nu lua acest obicei.

(De asemenea, sunt de acord cu ceea ce au spus alții despre a fi singurul administrator astăzi, nu înseamnă că vei fi singurul administrator mâine)

Puncte:5
drapel mx

Consultant de securitate aici.

Cele mai bune practici în toată lumea toate aplicații, sisteme, soluții, sisteme de operare și orice altceva la care vă puteți gândi este să utilizați numai contul root pentru a configura lucrurile și apoi a-l dezactiva.

Creați prin toate mijloacele un cont de utilizator individual cu privilegii de administrator pentru gestionarea zilnică, dar contul root, oricare ar fi acesta, ar trebui să fie dezactivat odată ce configurarea este finalizată.

Încălcarea conturilor nu este o idee rea, adică nu vă numiți conturile de administrator, dar valoarea reală a acesteia este incredibil de scăzută.Cele mai multe „hack-uri” au loc pe parcursul săptămânilor și lunilor, mai degrabă decât în ​​secunde și minute, așa cum le-ar fi prezentat mass-media/filmele/emisiunile TV și oricine va seta abilitățile pentru a „hacker”; (este întotdeauna S-1-5-32-544 pentru administratorul Windows încorporat).

drapel br
Este exact și observația mea - cele mai multe atacuri pe care le-am văzut, în special asupra infrastructurii corporative, se învârt în jurul malware-ului de pe stațiile de lucru din cauza securității neglijente SAU a acțiunilor necinstite ale angajaților care au împărțit ulterior atacatorii. Dar odată ce dețineți stația de lucru, mașinile pe care vă conectați de la ea sunt practic toast, indiferent de pașii intermediari pe care îi faceți. Deci, din comentarii, până acum se pare că folosirea unui nume de conectare non-trivial ar ajuta cu siguranță la atacuri automate și la script kiddies, dar nu pentru a descuraja un actor serios.
mak47 avatar
drapel mx
Acestea fiind spuse, aproape întotdeauna cineva dă clic pe ceva ce nu ar trebui. În special o problemă pentru firmele mai vechi, am petrecut ani de zile luptându-mă împotriva faptului că aceleași vechi puncte de defecțiune ale sistemelor cheie eșuează *fiecare test de phishing* pe care le-am aruncat nu sunt mustrate. S-ar putea argumenta că este o amenințare internă, dacă nu cel puțin rău intenționată. În sensul că tot ceea ce ar trebui să cheltuiască oricine cu adevărat este un fruct care nu agățat, pentru că toți avem o mulțime de ele, de exemplu.MFA/2FA pentru fiecare cont de administrator la care vă interesează va rezolva o cantitate dramatică de orice incidente viitoare *grave* pe care le-ați putea avea.
drapel br
Total de acord - factorul uman este întotdeauna o suprafață de atac mai ușoară, mai ieftină și mai fiabilă decât orice geekness de înaltă tehnologie 1337. De ce ai investit ore și ore în sondarea infrastructurii când poți să trimiți prin e-mail acel cute_animated_cat.exe :) Vom deplasa puțin subiectul aici, dar din experiența mea, cel mai bun mod de a combate acest lucru este să limităm daunele cât mai mult posibil - utilizatori obișnuiți închiși, incapacitatea de a descărca, limitarea utilizării unităților flash, antivirus bun și cuvântul pe care, din păcate, nu mulți oameni îl iau în serios - strategie BACKUP!
Puncte:4
drapel cn
Bob

Pentru majoritatea companiilor, o mare problemă de securitate este că aveți nevoie de o pistă de audit și de responsabilitate personală.

Conturi implicite (de administrator), cum ar fi rădăcină conturile sunt, prin definiție, nu personale. Lăsarea lor deschisă duce la (echivalentul) practicii proaste de securitate a parolelor partajate și lipsa răspunderii personale/individuale.

În mod normal, atunci când un coleg părăsește compania, vrei să-i dezactivezi contul și știi că îi blochează accesul.

Nu doriți ca părăsirea lor să necesite resetarea parolelor (și fișierelor ~/.ssh/authorized_keys) ale fiecărei conturi rădăcină și altor conturi partajate la care cei care au părăsit (s-ar putea) să fi avut acces. Aceasta este o sarcină administrativă PITA care deseori nu se întâmplă, așa că trebuie să preveniți ca aceasta să devină o problemă în primul rând.

Deci, chiar și într-un departament IT de o singură persoană, vă rugăm să configurați un cont personal pentru dvs. ca administrator, acordați-vă sudo privilegii sau alte roluri de administrator și nu vă conectați direct ca root sau orice cont implicit de super utilizator/administrator este disponibil.

Așadar, atunci când compania dvs. crește și deveniți un departament IT de două persoane sau ori de câte ori plecați, nu veți lăsa o mizerie incertă de privilegii excesive care trebuie curățate.

Într-un loc de muncă nou, nu vrei să-ți petreci primele zile lucrătoare curățind „accesul la ușa din spate” lăsat de un predecesor și nici nu trebuie, ca părăsitor, să riscați accesul tău care nu a fost... t anulat provocând breșe de securitate.

drapel cn
Bob
Nu chiar atât de elocvent pe cât aș vrea să mă exprim, dar într-un cadru de afaceri nu folosiți comenzile rapide. Acasă ; fa ce vrei.
Puncte:2
drapel cn

Ca toate întrebările de securitate, este o chestiune de apetit pentru risc. După cum au afirmat alții, SSH-ul ca utilizator non-root cu o cheie și apoi ridicarea la rădăcină înseamnă că există un al doilea factor în joc (aveți cheia, știți parola), care poate limita raza de explozie a unui compromis. . Mai este și aspectul auditului, pe care l-au menționat și alții.

Dacă tu sunteți mulțumit că nu aveți acel strat suplimentar de protecție (oricât de mic ar fi acesta), apoi faceți cum doriți.

Majoritatea ghidurilor de securitate recomandă dezactivarea rădăcină SSH, în primul rând pentru că vă obligă să listați permisiunea unui utilizator pentru a face ceva. Este necesară o acțiune pozitivă din partea dvs. pentru a acorda unui utilizator privilegii sudo. Puteți controla în continuare ce acțiuni poate face utilizatorul, astfel încât este posibil să aveți utilizatori separati chiar și pentru sarcini separate.Sau un utilizator automat care poate rula anumite comenzi sudo, dar nu altele.

Oricum - multe benchmark-uri de securitate recomandă interzicerea SSH-ului și chiar interzicerea root-ului de pe consolă în sine. Fac asta numai dacă pot fi sigur de instrumentele mele de backup/reconstrucție/imuabile infra, deoarece altfel nu există nicio modalitate de a reveni pe server fără a face niște trucuri de pornire live-CD.

drapel br
Ar fi corect să spunem că al 2-lea strat de securitate ar fi același cu protejarea prin parolă a cheii tale ssh?
drapel cn
Presupun, dar este un al doilea strat într-o altă parte a sistemului. A avea o parolă pe cheia dvs. SSH ajută la reducerea probabilității ca cineva să o folosească, dar odată ce a spart-o, atunci nu există alte atenuări pentru a intra ca root. Totul tine de aparare in profunzime...
Puncte:1
drapel jo

Aceasta este pur și simplu o problemă de securitate versus comoditate.

Conectarea ca root va fi întotdeauna mai convenabilă, dar semnificativ mai puțin sigură. Deci, dacă sunteți de acord cu aceste avertismente, vă puteți conecta ca root.

Cu toate acestea, cu cât compania dvs. este mai mare, cu atât se va ocupa de securitate mai serioasă.

De exemplu, angajatorul meu actual este o companie cu peste 50.000 de angajați în 5 țări. Obținerea de autentificare ROOT este absolut imposibilă. Și obținerea accesului SUDO durează, de asemenea, aproximativ 2 săptămâni, cu aprobarea de la nivelurile de Director.

drapel br
„semnificativ mai puțin sigur” - încerc să înțeleg, din punct de vedere tehnic, de ce ar fi așa. Din răspunsurile pe care le-am citit la întrebări similare și răspunsurile de aici, implicațiile de securitate sunt mai degrabă pe partea de audit/permisiuni fine, decât pe o diferență tehnică - desigur, pentru o companie mare sau chiar pentru un server care este accesat de mai mulți întreținători, este logic să aveți un cont pentru fiecare persoană. DAR, într-un caz în care este propria ta mașină - să zicem vps personal, laborator acasă, încerc să aflu dacă există o diferență dacă ești singurul administrator.
drapel ba
re: „Totuși, cu cât compania ta este mai mare, cu atât se va ocupa de securitate mai serios.”, dacă sunteți o afacere mică sau un operator cu o singură persoană care nu își poate permite să aibă resurse de securitate dedicate sau pur și simplu nu sunt conștienți de riscuri, nimeni nu va primi simpatie atunci când infrastructura dvs. IT este compromisă și afacerea dvs. este distrusă. Actorii rău intenționați nu se vor gândi: „Oh, asta este o afacere mică, voi evita să-i compromit pentru propriul câștig, pentru că sunt un hacker simpatic”. „Este mult mai convenabil să las ușa casei descuiată decât să-mi caut cheile când mă întorc cu alimente”; ar trebui să te?
Kai Burghardt avatar
drapel bo
Sunt de partea lui @madacoda aici: depinde de **nivelul tău de paranoia**. Doriți să reduceți exploatările prin software-ul (sau _hardware_!) pe care îl utilizați? Doriți să contracarați atacurile automate? Doriți să preveniți atacurile _fizice_? _Cine_ este atacatorul tău? Practic faci o [evaluare a vulnerabilității] (https://en.wikipedia.org/wiki/Vulnerability_assessment) obișnuit și acționezi în consecință. Un test de penetrare anual efectuat de o terță parte vă oferă feedback. Pur **tehnic** vorbind, nu există niciun beneficiu _intrinsec_ în a avea utilizatori diferiți.
drapel br
@KaiBurghardt „Din punct de vedere pur tehnic, nu există niciun beneficiu intrinsec în a avea utilizatori diferiți.” - de fapt, acesta este exact contextul întrebării, dacă există o diferență tehnică care închide eventualele vulnerabilități. Din răspunsurile de aici, văd că este destul de greu să separăm acest mic detaliu de contextul general al securității, dar este bine să vezi că mai multe persoane sunt de acord cu ceea ce ai spus. Având în vedere că utilizați o cheie protejată prin parolă, singurul beneficiu al unui utilizator proxy pare să fie înfundarea numelui de utilizator cu care vă conectați.
Kai Burghardt avatar
drapel bo
@alex.b.bg: Ideea mea (și a lui @madacoda) este că depinde de „definiția ta a vulnerabilității”. A avea utilizatori diferiți este _un_ mijloc posibil de a preveni/dejuca _anumite_ âatacuriâ, dar dacă _nu_ recunoașteți astfel de scenarii ca fiind o problemă potențială pentru dvs., luarea măsurii „gestionarea utilizatorilor” este doar un motiv de inconvenient . Știi, dacă toată lumea din lume ar fi prietenoasă, nimeni nu ar face rău nimănui, nu ar exista nicio justificare pentru a avea conturi de utilizator distincte cu niveluri de privilegii diferite.
drapel br
@KaiBurghardt da, am pus întrebarea în principal pentru a mă clarifica dacă îmi lipsește ceva din punct de vedere tehnic.Din punct de vedere practic, dacă vorbim de laboratoare de acasă, mașini personale etc., care se află în spatele unor straturi decente de securitate - cum ar fi să aveți vpn, izolat de public etc., cred că, ca atacator, m-aș concentra mult mai mult punând un keylogger pe computerul personal unde utilizatorul își tastează toate parolele decât să încerce să pătrundă în mașinile în sine :)
Puncte:1
drapel sg

Dacă utilizați chei ssh, este de obicei destul de sigur să faceți ssh direct la root în loc să faceți utilizatori „Proxy” confuzi.

drapel br
Da, sunt foarte ferm cu privire la utilizarea cheilor în loc de parole. De fapt, când ai menționat parole, singurul beneficiu la care mă pot gândi pentru un utilizator obișnuit este să ai o parolă separată de root și să o soliciti pe sudo - așa că, chiar dacă utilizatorul și parola obișnuite sunt compromise, vei avea totuși nevoie de root reală. pw. DAR, cred că acest lucru devine puțin paranoic.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.