Ako skryť zoznam procesov pred ostatnými užívateľmi

ako skryť zoznam procesov
Približný čas čítania: 2 minút

Zadanie:

Ako skryť zoznam procesov (bežiacich v Linuxe – príkaz ps či ls) pred ostatnými užívateľmi. Ideálne tak, aby každý prihlásený užívateľ mohol vidieť maximálne len svoj vlastný zoznam a nemohol vidieť spustené procesy ostatných užívateľov (vrátane tých, systémových procesov). 

Riešenie:

Od verzie Linux kernelu 3.3 sú k dispozícií dve nové voľby v /proc pseudo-filesystéme. Jednou z nich je voľba/options – hidepid.

Definuje koľko informácií o procesoch je dostupných pre cudzích užívateľov (non-owners).

  • hidepid=0 – Default. Všetcia vidia všetko. Štandard v každom systéme — netreba definovať a ani sa štandardne v systéme neobjavuje.
  • hidepid=1 – Užívateľia nemôžu pristúpiť k žiadnému procesu v  /proc// adresáry, okrem svojich vlastných. Citlivé súbory ako sú napríklad / proc / [pid] / cmdline a / proc / [pid] / status sú chránené pred inými používateľmi. To znemožňuje zistiť, či používateľ používa špecifický program (pokiaľ sa program samotný inak neodhaľuje svojím správaním).
  • hidepid=2 – Je to prakticky hidepid=1 plus všetky /proc/PID/ budú pre ostatných neviditeľné. Asi najbezpečnejšia voľba, sťažuje to zbieranie informácií o bežiacich procesoch každému útočníkovi vrátane démonov s elevated právami, či inými programami. Môže spôsobiť v zriedkavých prípadoch aj problémy niektorým programom ktoré používajú elevated práva či sa púštajú so svojím vlastním uid/gid (ako sú rôzne programy typu Nagios, Munin), hoc ja sám som problém nezaznamenal.

Aktivácia na bežiacom systéme (aplikuje sa na /proc partíciu):

# mount -o remount,rw,hidepid=2 /proc

Aktivácia vždy pri štarte systému:

# vim /etc/fstab
proc    /proc    proc    defaults,hidepid=2     0     0

Ďalším parametrom, ktorý sa zvykne zadávať za hidepid je voľba gid, ktorá potláča hidepid pre užívateľov (skupiny) uvedenej v gid. T.z., že v prípade hidepid=2 budú informácie o procesoch schované pre všetkých okrem tých, ktorý patria do skupiny uvedenej v gid. Príklad použitia:

proc /proc proc nosuid,nodev,noexec,hidepid=2,gid=wheel 0 0

alebo číselné vyjadrenie danej skupiny:

proc /proc proc nosuid,nodev,noexec,hidepid=2,gid=1005 0 0

 

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.