GNU/Linux >> Znalost Linux >  >> Linux

8 osvědčených postupů se sudo v Linuxu – co dělat a co nedělat sudo

Všichni dnešní uživatelé Linuxu znají sudo příkaz (znamená „superuser do“). Musíme zpopularizovat sudo tím, že budeme uživatele vynucovat, nikoli povzbuzovat, aby používali su k získání oprávnění root pro provádění administrativních úkolů. Ale je toho mnohem víc, co potřebujete vědět o sudo. Pomocí sudo můžete snadno provádět příkazy jako jakýkoli jiný uživatel, nejen jako uživatel root! Pokud sudo není spravováno správně, je to téměř horší než pouhé sdílení přihlašovacích údajů root, protože poskytuje falešný pocit bezpečí. Podívejme se na některé z osvědčených postupů pro řízení přístupu k systému pomocí sudo a zároveň umožňujeme uživatelům být produktivní. Vědět, jak používat sudo a dodržovat tyto osvědčené postupy, a pak si můžete odpočinout a vychutnat si každé sousto svého sendviče.

Poznámka:Musíte použít vizuo příkaz k úpravě souboru /etc/sudoers. Při úpravách buďte opatrní!

1. Nepovolujte neomezený přístup uživatelům pomocí sudo

Nekonfigurujte sudo tak, aby uživatelům umožňovalo přejít na root nebo jakýkoli jiný účet. Místo toho zkuste nakonfigurovat sudo tak, aby uživatelům umožňovalo spouštět konkrétní příkazy jako uživatelé, pod kterými potřebují pracovat.

Například:Je potřeba, aby si uživatel nainstaloval software. Umožněte jim spouštět pouze RPM nebo APT nebo YUM jako root, aniž by museli přepnout na uživatele root, jak je znázorněno níže:

peter ALL =(ALL) PASSWD : /usr/bin/apt-get, /usr/bin/yum, /bin/rpm

To by umožnilo petrovi spustit sudo apt-get, sudo yum a sudo rpm bez hesla, ale nepovolí žádné další příkazy!

2. Uživateli sudo neudělujte VŠECHNA oprávnění root

Při udělování přístupových oprávnění uživateli sudo nepoužívejte VŠECHNY. Je to jedna z nejčastějších chyb, kterou by administrátoři dělali. To umožňuje uživatelům používat příkaz su k tomu, aby si udělili trvalá oprávnění root, čímž se obejdou funkce protokolování příkazů sudo.

peter    ALL=(ALL:ALL) ALL

Lepším způsobem je udělit přístup ke konkrétním souborům programu např.:Uživatel petr získá přístup ke všem programovým souborům v adresářích /sbin/ a /usr/sbin plus příkaz /opt/oracle/check.pl.

Poznámka:K určení umístění adresáře je nutné koncové lomítko (/).

peter ALL=(ALL) PASSWD: /sbin/, /usr/sbin, /opt/oracle/check.pl

3. Neudělujte oprávněním roota neomezený přístup bez hesla

Představte si například, že vetřelec získá přístup k uživatelskému účtu, který má sudo přístup bez hesla k oprávněním root. Dokázal by to, co by vás ani nenapadlo! Místo toho udělte uživateli přístup k oprávněním root s hesly (jeho vlastní heslo).

peter    ALL=(ALL) PASSWD:ALL

To umožní uživateli petr zadat heslo pokaždé, když použije sudo k získání práv root.

4. Použijte direktivu include pro konkrétní konfigurace sudo

V prostředí velkých podniků je vždy lepší ponechat si kromě lokálních konfigurací také specifické konfigurace sudo založené na aplikacích. Například:Pokud chcete zahrnout stejnou sadu direktiv pro správu Apache a MySQL, můžete to rozdělit do samostatného sudo.mysql a pomocí direktivy include jej zavolejte z hlavního souboru sudoers.

#include /etc/sudo.mysql

5. Udělte Sudo přístup ke Skupinám spíše než jednotlivým uživatelům

Například:Mít skupinu administrátorů, která má oprávnění správce, která spravuje instalaci a aktualizaci balíčků. Tímto způsobem není nutné upravovat soubor sudoers pokaždé, když přidáváte/odebíráte nového uživatele. Jednoduše zajistěte, aby byli uživatelé správně spravováni a byli přidáni/odebráni ze skupiny administrátorů.

%admin ALL=(ALL) ALL

To umožní lidem ve skupině admin spustit všechny příkazy.

6. Nastavte vhodný časový limit pro sudo

Sudo používá funkci časového razítka, aby věděl, kdy byl uživatelem spuštěn poslední příkaz sudo. Během této doby může uživatel znovu spustit příkaz, aniž by byl vyzván k zadání hesla (vlastní heslo uživatele). Ve výchozím nastavení si sudo pamatuje vaše heslo po dobu 15 minut. Po vypršení platnosti je uživatel znovu vyzván k zadání hesla, aby mohl příkaz znovu spustit. Pokud si přejete změnit výchozí hodnotu, jednoduše vložte položku do sudoers. Chcete-li například nastavit hodnotu časového limitu pro všechny uživatele u jakýchkoli příkazů, které spouští, na 5 minut, můžete použít:

Defaults timestamp_timeout=x

kde x je vypršení časového limitu v minutách. Pokud zadáte 0 (nula), budete vždy požádáni o heslo. Pokud zadáte zápornou hodnotu, časový limit nikdy nevyprší. Např. Výchozí timestamp_timeout=5

Pokud potřebujete nastavit pro konkrétního uživatele (petra), jednoduše vložte níže uvedený záznam do souboru sudoers:

Defaults:peter timestamp_timeout=5

Tato funkce nebude fungovat, pokud máte NOPASSWD v uživatelském záznamu v sudoers.

7. Zamkněte cestu pro binární soubory pomocí direktivy secure_path v sudo

Osvědčeným postupem je uzamknout uživatele do konkrétních oblastí, čímž se zajistí, že uživatelé nebudou moci provádět příkazy mimo secure_path. V sudoers použijte následující direktivu s uvedením secure_path :

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

8. Zaznamenejte každou aktivitu sudo do samostatného souboru

Ve výchozím nastavení se příkazy sudo zapisují do souboru protokolu spolu s dalšími systémovými zprávami. To není přijatelné pro servery, protože by zde bylo mnoho uživatelů. Nakonfigurujte sudo tak, aby mělo svůj vlastní soubor protokolu pro snadný přehled o používání sudo a činnostech sudorů. Samozřejmě to také pomáhá při sledování neúspěšných sudo událostí.

Defaults logfile=/var/log/sudo.log

Pokud máte nějaké další, přidejte je prosím do komentářů níže.

Přečtěte si také : Zabezpečte svůj webový server – 50 doporučených postupů, které je třeba dodržovat


Linux
  1. Monitorování stavu a aktivity uživatele v Linuxu s GNU acct

  2. Instalace a nastavení Grafana v linuxu

  3. Jak pracovat s uživateli a skupinami v Linuxu

  1. Jak vytvořit uživatele Sudo na Rocky Linux a CentOS

  2. Rozdíl mezi uživatelem Sudo a uživatelem root?

  3. Jak vytvořit uživatele Sudo v Rocky Linux 8

  1. Linux sysadmin základy:Správa uživatelských účtů s UID a GID

  2. Přidejte uživatele systému Linux s oprávněními root dokumentů

  3. Nejlepší postupy zabezpečení serveru Linux