Üdv!
Azt szereném, hogy ha egy user belép akkor bizonyos parancsokat ne adhasson ki. pl
Ne érdekelje őket(usereket), hogy rajta kívül ki van még bejelentkezve (w|who)
Ne legyenek arra se kíváncsiak, hogy kik vannak a Sambahoz kapcsolódva (smbstatus)
Ne érdekelje őket kik mikor léptek be a szerverre (last)
és még sok más ami most nem jut eszembe.
Ezt tudjátok hogy lehetne megoldani? Lehet, hogy úgy lenne egyszerűbb ha én adnám meg, hogy milyen parancsokat adhatnak ki csak.
budacsik
(szerk.: Ja és persze nem utolsó sorban a logok se érdekeljék őket!!)
- 1787 megtekintés
Hozzászólások
Egy adott file futtatasat meg lehet tiltani, de mi van akkor, ha letolti valahonnet a cuccot, es ugy futtatja? Ha magat a funkciot akarod megtiltani (pl. amit a w nevu program hasznal) az mar egy erdekesebb problema. SELinux? Ehhez nem ertek.
- A hozzászóláshoz be kell jelentkezni
szerintem chmod
lehet a /proc hozzáféréssel kéne barmolni valamit
- A hozzászóláshoz be kell jelentkezni
chmod 700 /utvonal/parancs
viszont oda kell figyelni, mert nehany parancs eseteben ez
problemat okozhat...
a 'who' pl nem ilyen, de az 'smbstatus' mar gyanus
(bar most fejbol nemtom pontosan okoz-e gondot ha csak a root latja)
---
PtR
- A hozzászóláshoz be kell jelentkezni
Én azt hittem, hogy van erre olyasmi megoldás, hogy mindenkinek a könyvtárában elhelyezek egy fájl amiben a megengedett parancsok vannak felsorolva. Aztán valamivel rábírom a rendszert, hogy figyelje azt a fájlt.
(ha hülyeséget mondtam, bocsi)
- A hozzászóláshoz be kell jelentkezni
es akkor a user a sajat home.-jaban szepoen be szerkeszti maganak a jogait.
- A hozzászóláshoz be kell jelentkezni
chmod 700 /utvonal/parancs
ezzel susen nem sokat ersz. van nekije egy demonja ami bootnal visszaallitja a jogokat. mar nem tudom melyik demon volt, de anno (huuu de reg volt szerencsere) ezt en is beszivtam.
- A hozzászóláshoz be kell jelentkezni
Azért egy szervert nem sokszor indítok újra.
és beírhatom a kiadott parancsokat egy szkript-be amit legközelebb csak lefuttatok. Nem?
- A hozzászóláshoz be kell jelentkezni
nem. azt a demon lehet ugy is hasznalni, hogy keszit egy sbapshotot az altalad atallitott jogokrol es azzal indul el, de!!!!!!!!!!
ha ezt nem teszed meg, akor karomkodsz aztan pedig mas disztro utan nezel, mert olyan ideges leszel :)
- A hozzászóláshoz be kell jelentkezni
Jó tudom a logokat beállíthatom, hogy csak a tulajdonos tudja olvasni (cd /var/log majd chmod 600 *), de ez részmegoldás csak.
- A hozzászóláshoz be kell jelentkezni
alias parancs juzerre ?
pl. who -> echo Nincs jogod futtatni ezt a parancsot !
?
- A hozzászóláshoz be kell jelentkezni
oké oké oké, ez lehet jó lesz. hova kell ezeket tenni??
- A hozzászóláshoz be kell jelentkezni
szerintem unalias-szal prímán hozzá tud férni az eredeti parancshoz, amint rájön, hogy csak egy alias van a háttérben.
- A hozzászóláshoz be kell jelentkezni
Az unalias-t is tiltani kell :)
- A hozzászóláshoz be kell jelentkezni
és mi van ha azt is letölti valahonnan?
tegyünk aliast az unalias-ra!
hehe
- A hozzászóláshoz be kell jelentkezni
unalias-t nem lehet letolteni, a shell resze. Viszont ha egy alias-kent definialt parancs neveben rakunk valahova egy backslash-t, maris az alias nelkuli parancsot lehet futtatni. Ezeket az ovodas megoldasokat hanyagoljuk inkabb.
- A hozzászóláshoz be kell jelentkezni
hmm
hát ennek így tényleg nem sok értelme van.
- A hozzászóláshoz be kell jelentkezni
Esetleg, ha a userek Window$-t használnának?
Ott se who, se lsubs, se mittudomén.... :D
- A hozzászóláshoz be kell jelentkezni
Srácok!
Tudtok nekem segíteni? Tegyük fel, hogy ezek a userek nem jönnek rá, hogy alias-al csináltam. Akkor hogy csináljam? Hova kell írni ezeket?
who -> echo ezt a parancsot nem adhatod ki!
- A hozzászóláshoz be kell jelentkezni
Meg egyszer: mi gatol meg abban, hogy szerezzek valahonnet egy smbstatus-t pl. feltegyem oda ahova irni is van jogom, oszt lefuttassam. Noexec mount-ra az ld-2.3.6.so (vagy amid van) trukk meg mintha mindig elne.
- A hozzászóláshoz be kell jelentkezni
noexec mindenképpen kell, ha tiszta munkát akarsz végezni. És akkor chmod-dal letiltod, azt amit nem szabad piszkálniuk.
--
TheReplaced@Zenwalk/current - Колизей!
- A hozzászóláshoz be kell jelentkezni
es majd aszongya, hogy unalias w es keszen van. A letoltes ellen -noexec mount opcioval vedekezhetsz, ezt /home, /tmp -re ki kell adni, rendes helyen meg mashol ugysem irhat. Es a mar emlegetett chmod a megoldas. A hivatalos UNIX allaspont a restricted shell hasznalata, de ha a fenti megoldasokat nem szereted, akkor nem sok eselyed van ra, hogy korrekten be tudd allitani az rsh-hoz szukseges kornyezetet (kell restricted PATH hozza, es igy tovabb). En nem sok olyan embert lattam, aki jol be tud allitani rsh kornyezetet. Amugy meg hasznalj valami privilegiumokat kezelo kiegeszitest (mint pl. a mar emlegetett selinux, az tan jo hozza), de az felek nagy falat lesz :-)
- A hozzászóláshoz be kell jelentkezni
Csak, hogy kipróbáljam, elmondja nekem valaki, hogy hogy kell beállítani azt az aliast???
Aztán a többi védekezés majd jön sörben.
- A hozzászóláshoz be kell jelentkezni
> Aztán a többi védekezés majd jön sörben.
Ez teljesen hibás megközelítés. Felépítesz olyan védelmet, amit csak az nem lép
át, aki nem akar. És azt mondod, hogy ha majd átlépik, akkor folytatod. Parancsok letiltása, alias stb. irányba elindulni óriási hiba, ebben az irányban nem tudsz olyan védelmet felépíteni, amit ne lehetne pillanatok alatt áthágni. Beleölhetsz újabb és újabb energiákat, valahányszor megtudod hogy egy user kellően okos ahhoz hogy átlépje (btw honnan fogod ezt megtudni??? vagy abba a tévhitbe ringatod magad a nagyon szar védelmeddel hogy az jó?), hogy erősíts rajta, de ettől nem lesz jobb, csak te még nem látod, mert te sem látod magadtól, hogy hogyan lehet egy ilyen alias-os vagy hasonló buta védelmet átlépni.
A parancsok (például who) nem azért tudják azt, amit kiírnak, mert a rendszer kitüntetetten kezelné őket és csak nekik adnák oda ezt az információt. Azért tudják, mert a rendszer ezeket az információkat _bárkinek_ odaadja, a who történetesen csak egy parancs, amelyik némelyik ilyen infót begyűjti és megjeleníti. Ha letiltod, lesz másik amivel meg lehet nézni. Ha valaki csak egy shellt kap, és egyetlenegy külső programot sem indíthat, csak és kizárólag beépített shell parancsokat, akkor is le tudja kérdezni ezeket az infókat.
Ha használható védelmet akarsz, magát az információforrást kell megszüntetni, nem pedig a forrást kiolvasó/feldolgozó programot kiiktatni. El kell venni a jogot a /proc fájlrendszerről (kivéve saját processzek), a /sys-ről, ilyesmik... Réges régen voltak erre mindenféle kernel patchek, ki tudja azóta léteznek-e még vagy esetleg bekerültek-e a hivatalos kernelbe. Például a /proc fájlrendszernél asszem (ilyen patch esetén) mountolási opció hogy mi legyen a fájlok elérési módja és a csoportja, így például meg tudod csinálni, hogy csak egy kitüntetett csoport tagja tudják a /proc-ot úgy olvasni ahogy az alapból olvasható, a többi felhasználó csak a saját processzeinek könyvtárához fér hozzá.
Sajnos a Unixokat túl régen tervezték ahhoz, hogy ilyenekre gondoljanak. Security van benne (nem tudod mások fájljait írni stb.), de privacy már annál kevésbé (sok esetben nem tudod más felhasználók elől eltitkolni, hogy mit csinálsz). Biztos hogy be akarod engedni a usereket a gépre, adni nekik parancssort? Nem jó, ha letiltod a belépést, csak speciális (smb, ftp stb.) kapcsolatokat engedélyezel?
- A hozzászóláshoz be kell jelentkezni
grsec high-ban van process privacy és a proc fájlrendszeres okosság
- A hozzászóláshoz be kell jelentkezni
Mondjuk alias w='echo valami'
- A hozzászóláshoz be kell jelentkezni
PAX és GrSec a kernelbe, noexec a /home, /tmp -re, szigorú hardened policy.
--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!
- A hozzászóláshoz be kell jelentkezni
Ezt akartam en is javasolni. :)
Esetleg meg a PAM.
- A hozzászóláshoz be kell jelentkezni
1. alias
Az alias helyettesítést egy karakterrel ki lehet kerülni: '\' az alias elejére.
pl.:
$ alias d='echo alias'
$ echo 'nem alias' > d && chmod +x d
$ d
alias
$ \d
nem alias
2. rbash (bash -r)
Alapértelmezett shell-t rbash-ra rakod. Ilyenkor az user egy pár kulcsfontosságú dolgot nem tud megcsinálni, csak akkor, ha explicit megengeded neki. Pl. nem engedi meg a cd-t, az olyan parancsokat, amiben / van, nem lehet PATH-ot változtatni, stb. (ld. man bash, RESTRICTED SHELL rész). Sohasem próbáltam, de jó dolognak tűnik.. :)
- A hozzászóláshoz be kell jelentkezni
Viszont az rbash segítségével is tetszőleges fájlt ki tudsz olvasni, amit anélkül is tudnál. Például "ls /proc" helyett azt mondod, hogy "echo /proc/*", aztán mondjuk "cat /proc/1/stat" helyett meg azt, hogy "echo $(</proc/1/stat)". Máris semmi külső program, az rbash saját maga mutatja meg neked /proc alól amit csak akarsz. Innen kezdve tök ugyanazokhoz az információkhoz férsz hozzá, mint sima bash alól, maximum picit (sokkal) kényelmetlenebbül.
- A hozzászóláshoz be kell jelentkezni
Olvasd már el, amit fentebb írtam a restricted shellről. Ha nem állítod be jól a PATH-t, simán kijön belőle. Pl. normál PATH-t kapok: _csak_ annyi a dolgom, hogy azt mondjam: sh
és máris készen vagyok. Azaz kell csinálni restricted könyvtárakat, abba belerakni olyan parancsokat amiket kaphat, ezt beállítani a PATH-ba, de ehhez tudnod kell, hogy melyik engedélyezett parancsnak vannak az rsh szempontjából fölösleges funkciói. Ha adsz vi hozzáférést, akkor azt mondom a szerkesztőben, hogy
:!sh
és kint vagyok. Ha adsz perl/awk/tcl/stb hozzáférést, kb ugyanennyi erővel lehet sima shell-t indítani. Szóval én nem ezzel indulnék el, már ha ilyen marhaságot akarnék csinálni.
- A hozzászóláshoz be kell jelentkezni
Max azt a ronda gányolós modszert tudom javasolni, hogy nem adsz neki futtatási jogokat a /bin -ből (/usr/bin; /usr/local/bin, etc...) átrakod a cumókat a /sbin (/usr/sbin...) -be. /home; /tmp -re meg noexec. Meg nem mondom neked, hogy mennyire fogod ezzel elbarmolni az egész rendszert, de ennyit tudtam hozzászólni. Persze ez magával hozza azt is, hogy rootkent kell(ene) mindent csinálnod, ami ugye nem nyerő, vagy sudozni, mint állat.
De ha ennyire nem akarod, hogy lássák, mit csinálsz, akkor tényleg legegyszerűbb, ha nem is adsz nekik shellt.
- A hozzászóláshoz be kell jelentkezni
Osszegezve az itt elhangzottakat:
Nem a parancsot kell tiltani, hanem a kimenetet imho. grsec, pax, selinux, rsbac, stb. Sok minden elhangzott. Szerintem most menj es olvass alaposan utana, aztan gyere vissza ha mar valasztottal _megfelelo_ modszert.
--
Live Free or Die
UNIX
- A hozzászóláshoz be kell jelentkezni
En alapban azt nem ertem, hogy az egysegsugaru usernek miert kell shellt adni? Adsz neki egy scponlyc-t maximum, tud masolgatni, meg mindenfele ilyesmit csinalni, es ennyi. Nem megoldas?
- A hozzászóláshoz be kell jelentkezni
chpax, grsecurity + chroot, csak a szükséges programokkal, eszközfájlokkal; nem kell /proc, /sys...
- A hozzászóláshoz be kell jelentkezni
Lehet hülyeséget mondok, akkor sorry, de miért nem lehet ACL-lel megoldani, h név szerint kik futtathassák az adott parancsot?
Azoknak, akik futtathatják esetleg egy külön csoportot létrehozni.
A /home és a /tmp meg legyen _noexec_ _nosuid_.
- A hozzászóláshoz be kell jelentkezni
+ nodev
- A hozzászóláshoz be kell jelentkezni
1. Megfogadom azt a tanácsot, hogy most visszavonulok, választok egy megoldást és ha nem megy jövök.
Eddig nem volt senkinek joga bejelentkezni ssh-n, még a rootnak sem csak egyedül én tudtam, de most a putty port forwarding miatt kellett megendnem + 2 user-nek. de ha minden igaz ez ideiglenes állapot, mert nemsokára lesz új szerver és azon megcsinálom a VPN-t és slussz passz.
- A hozzászóláshoz be kell jelentkezni
Csak 1 dolog jutott eszembe: osh avagy Operator Shell, ez erre van kitalalva.
- A hozzászóláshoz be kell jelentkezni
ROTFL
- A hozzászóláshoz be kell jelentkezni