Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Práva: je lepší root nebo sudo?

Poměrně často se u některých systému setkáváme s vyřazením uživatele root, jehož úloha je nahrazena pomocí příkazu sudo. Pojďme se společně podívat na výhody a nevýhody tohoto řešení a možnosti zlepšení bezpečnosti.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

O co jde?

Jako uživatelé unixů se běžně setkáváme se dvěma druhy uživatelů. Běžný franta, igor, lubos nebo pepa123 mají přístup do svého domovského adresáře a nemohou napáchat v systému žádné škody. Uživatel root pak má maximální privilegia a může udělat cokoliv, včetně „populárního” příkazu  rm -rf /.

To se samozřejmě mnoha administrátorům nelíbí a čím dál častěji se tak můžeme setkat se systémy, které roota prostě nemají a spoléhají se na funkci příkazu sudo. Ten umí uživateli patřičká privilegia na chvíli propůjčit, spustit příkaz a zase mu je sebrat. Napadlo mě, jestli má sudo vlastně nějakou výhodu proti klasickému přístupu a jak bychom mohli privilegia roota lépe chránit.

Je to lepší?

Obecně se má za to, že se v případě sudo jedná o bezpečnější řešení, které nenabízí naplno otevřenou cestu do systému. Argumenty pro sudo jsou obvykle dva:

  1. nikdo se nemůže z vnějšku (SSH, FTP) přímo přihlásit jako root
  2. každá akce se sudo je zaznamenána do logu

Bohužel všechno má svůj háček a i v tomto případě je tu několik nevýhod. Pro přístup k nejvyšším právům vám stačí jen jedno uživatelské heslo. Jakmile jej někdo získá (třeba odposlechne předchozí FTP spojení), má stejná práva, jako by získal účet samotného roota.

Výhoda logování odpadá ve chvíli, kdy uživatel zjistí, že může zavolat sudo -s a získá plnohodnotný terminál se vším všudy. Co se bude dít dál pak už na záznamu nebude a jediné, co víme, je, že konkrétní uživatel použil sudo.

Jak vidíte, samotné sudo nic nezaručuje a za standardní situace tedy nelze tvrdit, že by nám přineslo nějaká pozitiva ve smyslu bezpečnějšího systému. Varianty root a sudo jsou tedy rovnocenné. Existuje ale několik věcí, které můžeme obecně pro zvýšení bezpečnosti v obou případech udělat.

Vylepšení uživatele root

V první řadě je možno zakázat přihlašování roota přes ssh. Bude pak potřeba napsat při přihlašování dvě nezávislá hesla. Nejprve se budete muset přihlásit jako běžný uživatel, až potom můžete použít třeba su - a po zadání druhého hesla se stanete rootem. Kromě samotného faktu, že máte prostě dva zámky, zabráníte pokusům o odhad hesla roota přímo přes ssh.

Úprava je poměrně snadná a stačí do souboru /etc/ssh/sshd_config připsat řádek

PermitRootLogin no 

Podobně je možno postupovat v případě FTP, ale tam je obvykle přihlašování roota už zakázáno. Nezabezpečeným protokolem by rootovské heslo posílal jen blázen. Zkontrolovat to ovšem můžeme. Účty, kterým zakazujeme přihlášení přes FTP jsou vypsány v souboru  /etc/ftpusers.

Pokud jsme se rozhodli pro variantu s účtem roota, měli bychom zakázat použití sudo, aby nám nikdo „nelezl do zelí”. Je proto ještě potřeba změnit jeden řádek v /etc/sudoers. Ten obvykle povoluje vybrané skupině uživatelů používat sudo. Řádek vypadá přibližně takto:

%wheel        ALL=(ALL)       ALL 

V tomto případě je privilegovanou skupinou wheel a všichni uživatelé v ní mohou neomezeně sudo používat. Tento řádek zakomentujte nebo smažte.

Vylepšení sudo

Může se stát, že budete mít přesto nějaký důvod sudo použít. Také existuje několik možností, jak mu pomoci. V první řadě můžete omezit příkazy, které je možno s pomocí sudo spouštět. To zařídíte opět v souboru /etc/sudoers, ve kterém můžete vyjmenovat jednotlivé spustitelné soubory. Formát souboru podporuje aliasy, které celý proces zpřehledňují. Příklad takového souboru:

Cmnd_Alias RESTART=/sbin/reboot
restart ALL=(ALL)   RESTART 

Tímto jsme určili, že uživatelé, kteří patří do skupiny restart mají právo zavolat se sudo příkaz /sbin/reboot a tím restartovat počítač. Jednotlivé příkazy je možno oddělit čárkou a umožnit tak širší využití.

Další velmi šikovnou a doporučenou možností je požadovat po uživateli při použití sudo další heslo. Musíme k tomu použít malou fintu. Nejdříve aktivujeme účet roota, vybereme mu heslo a jako shell mu nastavíme /bin/false. Tím zajistíme, že nebude možno se na tento účet přihlásit. Do konfiguračního souboru /etc/sudoers pak napíšeme

DEFAULTS:ALL    rootpw 

To zajistí, že při každém použití bude po uživateli požadováno heslo roota. Pochopitelně můžeme vše zkombinovat a využití sudo omezit na konkrétní příkazy a uživatele a ještě chtít při použití heslo.

Závěrem

Sudo není rozhodně samospasitelné a jeho nasazení v systému místo klasického účtu roota nemusí přinést zásadní zlepšení bezpečnostní situace. Pokud ale provedeme správné zásahy a vše ještě „dokonfigurujeme”, získáme bezpečnější systém.

Anketa

Používáte sudo nebo roota?

       

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Školení: Pokročilejší kurz jazyka Java

Java je multiplatformní programovací jazyk, který vytvořila a vyvíjí společnost Sun. Java je silný, objektově orientovaný jazyk se širokou komunitou, nabízející především vysokou produktivitu vývoje.

  • Práce s řetězci
  • Regulární výrazy
  • Kolekce
  • Generiky
  • Smyčka typu "for" ve verzi Java 1.5
  • Výčty
  • Vlákna, synchronizace
  • Polymorfismus, RTTI
  • Java Beany
  • JDBC (práce s databázemi)
  • GUI (knihovny AWT a Swing)
  • Java na serveru (servlety, JSP)

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,68

Přehled názorů

viz /.
pht 16. 5. 2006 00:57
Nový
├ 
Re: viz /.
hcz 16. 5. 2006 07:07
Nový
│
└ 
Re: viz /.
hcz 16. 5. 2006 11:36
Nový
└ 
Re: viz /.
Raptor 16. 5. 2006 07:27
Nový
 
└ 
Re: viz /.
pave2 16. 5. 2006 10:34
Nový
sudo
Michal Ludvig 16. 5. 2006 05:20
Nový
├ 
Re: sudo
Petr Štefánik 16. 5. 2006 07:36
Nový
│
├ 
Re: sudo
HKMaly 16. 5. 2006 08:22
Nový
│
└ 
Re: sudo
DuxforD 16. 5. 2006 13:13
Nový
│
 
└ 
Re: sudo
... 16. 5. 2006 14:59
Nový
│
 
 
├ 
Re: sudo
Pichi 16. 5. 2006 15:10
Nový
│
 
 
└ 
Re: sudo
anonymní uživatel 16. 5. 2006 20:13
Nový
│
 
 
 
└ 
Re: sudo
Láďa 16. 5. 2006 21:23
Nový
│
 
 
 
 
└ 
Re: sudo
anonymní uživatel 17. 5. 2006 07:32
Nový
├ 
Re: sudo
Makovec 16. 5. 2006 08:12
Nový
│
├ 
Re: sudo
pht 16. 5. 2006 09:04
Nový
│
│
├ 
Re: sudo
Tomáš 16. 5. 2006 09:32
Nový
│
│
│
├ 
Re: sudo
Jakub Vrána 16. 5. 2006 13:29
Nový
│
│
│
├ 
Re: sudo
rezna 16. 5. 2006 16:16
Nový
│
│
│
└ 
Re: sudo
platYpus 17. 5. 2006 15:25
Nový
│
│
└ 
Re: sudo
Petr Štefánik 16. 5. 2006 10:43
Nový
│
│
 
├ 
Re: sudo
Brano Vartik, jr. 16. 5. 2006 11:08
Nový
│
│
 
│
└ 
Re: sudo
Petr Štefánik 16. 5. 2006 12:08
Nový
│
│
 
├ 
Re: sudo
Dan Ohnesorg 16. 5. 2006 11:16
Nový
│
│
 
├ 
Re: sudo
rezna 16. 5. 2006 16:18
Nový
│
│
 
│
└ 
Re: sudo
Pichi 16. 5. 2006 16:37
Nový
│
│
 
│
 
└ 
Re: sudo
lukáš 17. 5. 2006 10:56
Nový
│
│
 
│
 
 
├ 
Re: sudo
Petr Mach 17. 5. 2006 11:18
Nový
│
│
 
│
 
 
│
└ 
Re: sudo
anonymní uživatel 17. 5. 2006 11:41
Nový
│
│
 
│
 
 
└ 
Re: sudo
T 17. 5. 2006 15:05
Nový
│
│
 
│
 
 
 
└ 
Re: sudo
anonymní uživatel 17. 5. 2006 15:14
Nový
│
│
 
│
 
 
 
 
└ 
Re: sudo
anonymní uživatel 17. 5. 2006 22:29
Nový
│
│
 
│
 
 
 
 
 
└ 
Re: sudo
gorila 6. 6. 2006 12:41
Nový
│
│
 
├ 
Re: sudo
peto 16. 5. 2006 16:22
Nový
│
│
 
├ 
Re: sudo
davadu 16. 5. 2006 18:58
Nový
│
│
 
└ 
Re: sudo
Dump 22. 5. 2006 10:11
Nový
│
├ 
Re: sudo
Petr 16. 5. 2006 20:04
Nový
│
└ 
Re: sudo
Petr 16. 5. 2006 20:10
Nový
│
 
├ 
Re: sudo
Michal Kára 16. 5. 2006 23:19
Nový
│
 
│
└ 
Re: sudo
J 17. 5. 2006 10:19
Nový
│
 
└ 
Re: sudo
Petr Mach 17. 5. 2006 11:22
Nový
├ 
Re: sudo
xxx 16. 5. 2006 12:04
Nový
├ 
Re: sudo
anonymní uživatel 16. 5. 2006 12:57
Nový
└ 
Re: sudo
Bilbo 17. 5. 2006 21:08
Nový
sudo
honza 16. 5. 2006 07:53
Nový
Reseni backupu?
Ondra 16. 5. 2006 08:05
Nový
├ 
Re: Reseni backupu?
TomBA 16. 5. 2006 10:44
Nový
└ 
Re: Reseni backupu?
Jakub Suchý 16. 5. 2006 12:37
Nový
Vse ma svuj smysl
purporte[X] 16. 5. 2006 08:25
Nový
└ 
Re: Vse ma svuj smysl
rezna 16. 5. 2006 08:34
Nový
 
├ 
Re: Vse ma svuj smysl
michal vyskočil 16. 5. 2006 08:46
Nový
 
└ 
Re: Vse ma svuj smysl
pht 16. 5. 2006 09:08
Nový
sudo
white 16. 5. 2006 08:31
Nový
Používam oboje
SARS 16. 5. 2006 09:30
Nový
SSH root
Kicko 16. 5. 2006 09:43
Nový
Dvě hesla
z 16. 5. 2006 09:53
Nový
Root.cz vs. Sudo.cz
P.S. 16. 5. 2006 09:59
Nový
└ 
Re: Root.cz vs. Sudo.cz
TomBA 16. 5. 2006 10:46
Nový
Ach jo...
Milan Keršláger 16. 5. 2006 12:56
Nový
├ 
Re: Ach jo...
Milan Keršláger 16. 5. 2006 12:59
Nový
│
├ 
Re: Ach jo...
PSIkappa 16. 5. 2006 18:38
Nový
│
└ 
Re: Ach jo...
J 17. 5. 2006 10:25
Nový
├ 
Re: Ach jo...
Petr Šigut 16. 5. 2006 14:38
Nový
│
└ 
Re: Ach jo...
Milan Keršláger 17. 5. 2006 11:24
Nový
│
 
├ 
Re: Ach jo...
Petr Šigut 17. 5. 2006 12:26
Nový
│
 
└ 
Re: Ach jo...
david.lister 18. 5. 2006 15:04
Nový
│
 
 
├ 
Re: Ach jo...
Michal Ludvig 18. 5. 2006 15:14
Nový
│
 
 
│
└ 
Re: Ach jo...
david.lister 18. 5. 2006 17:36
Nový
│
 
 
│
 
└ 
Re: Ach jo...
anonymní uživatel 22. 5. 2006 08:21
Nový
│
 
 
└ 
Re: Ach jo...
Milan Keršláger 19. 5. 2006 23:41
Nový
└ 
Re: Ach jo...
Milan Knizek 16. 5. 2006 16:41
Nový
 
├ 
Re: Ach jo...
Martin Pelikán 17. 5. 2006 00:25
Nový
 
└ 
Re: Ach jo...
Milan Keršláger 17. 5. 2006 10:37
Nový
rm -rf /
anonymní uživatel 16. 5. 2006 15:10
Nový
└ 
Re: rm -rf /
blah 21. 5. 2006 21:14
Nový
kdyz tomu nechapu...
sly 16. 5. 2006 16:46
Nový
└ 
Re: kdyz tomu nechapu...
Michal Kašpar 16. 5. 2006 17:00
Nový
 
└ 
Re: kdyz tomu nechapu...
Petr Mach 17. 5. 2006 11:34
Nový
V článku je chyba - kdo dělal korekturu ?
Frn 16. 5. 2006 18:23
Nový
└ 
Re: V článku je chyba - kdo dělal korekturu ?
Milan Keršláger 17. 5. 2006 10:15
Nový
ano aj ;)
miki 17. 5. 2006 13:55
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem