Hozzászólások
Akinek tavoli userei vannak abban biztosan felmerult mar az az eshetoseg hogy a juzer talan olyan dolgokat nez meg amit nemkene. Ezeknek egyreszet meglehet oldani megfelelo permissionok beallitasaval masokat nem, de egy komplett megoldas talan ugy nezne ki, hogy:
ProFTPd-vel ugye a DefaultRoot ~ -el megoldhato, hogy a delikvens ugy lassa ftp-n, hogy az o konyvtara a gyoker es azon kivul semmi sem letezik. Utananeztem shellen ez hogy lenne megoldhato, legtobb helyen chrootot irjak. Nos ezzel az a baj, hogy minden usernek bekene masolni a konyvtaraba a /bin -t meg libeket meg minden faxsagot ami kenyelmetlen, maceras, helyfoglalos megoldas (meg quotakat is at kene allitani meg minden)....
Az kene hogy ezen a celon kivul semmi mas korlatozast ne adjon a juzernek, szoval amire gyakorlatilag is joga van arra ne szoljunk bele.
En azt eszeltem ki, hogy esetleg irni kene erre egy virtualis shell-t ami ellenorzi hogy a delikvens milyen konyvtarba van es annak fuggvenyeben viselkedik. Ha minden oke akkor tovabbkuldi a parancsot a shellnek... Na de mivan ha a juzer belep pl. mc-be? Ezt is megkene oldani.
Valamint olyasmi kene, hogy a root altal jovahagyott symlinkek kovethetok legyenek....
Szerintem ennyibol mindenki megertette a feladatot.
Nos az az igazsag, hogy nem vagyok programozo zseni, es ezen otlet megvalositasahoz keresek lelkes programozokat aki lat fantizat az otletben. Ki csatlakozna?
- A hozzászóláshoz be kell jelentkezni
Hi!
Nem probaltam ki, de mi van akkor, ha pl. az adott konyvtarakra egyszeruen nem adsz az adott konyvtarakra exec jogot?
By(t)e
TBS::Antiemes
- A hozzászóláshoz be kell jelentkezni
Mielott nekialsz sajas tshell irni nezz utana a restricted shell funkcioknak. Pl a bash -r kapcsoloval.
masreszt ha bezarod valamilyen modon a konyvtaraba, akkor a binarsokat ne masolgasd, hanem csinalj hardlinkeket.
- A hozzászóláshoz be kell jelentkezni
Hi!
Ha adott esetben a binarisok nem ugyanazon a filerendszeren vannak, mint a home, akkor nem lehet hardlinkelni. Viszonylag biztonsagosabb servereken altalaban nem szokott ugyanazon a filerendszeren lenni a ketto.
By(t)e
TBS::Antiemes
- A hozzászóláshoz be kell jelentkezni
[quote:83b68abb22="antiemes"]Hi!
Ha adott esetben a binarisok nem ugyanazon a filerendszeren vannak, mint a home, akkor nem lehet hardlinkelni. Viszonylag biztonsagosabb servereken altalaban nem szokott ugyanazon a filerendszeren lenni a ketto.
By(t)e
TBS::Antiemes
Ez igaz, de akkor is erdemes egy /home/bin, es azt linkelni minden /home/usernev/bin -be, meghozza scriptel. Frissitesekkor jol jon.
- A hozzászóláshoz be kell jelentkezni
[quote:9d1844307e="antiemes"]Hi!
Ha adott esetben a binarisok nem ugyanazon a filerendszeren vannak, mint a home, akkor nem lehet hardlinkelni. Viszonylag biztonsagosabb servereken altalaban nem szokott ugyanazon a filerendszeren lenni a ketto.
Use Linux 2.4+ (de valoszinuleg BSDk is tudnak hasonlot), es csinalsz egy konyvtarat azon a particion, ahol a binarisok vannak, amelyik tartalmazza a hardlinkeket a megfelelo binarisokra. Utana mount -t none --bind /safe-bin /home/$USER/bin
Vagy valami hasonlo. Usert meg szepen bechrootolja az ember a homjaba.
Ha meg elvetemultebb akar lenni a rendszergazda, akkor meg user-mode-linux -al is lehet szorakozni jokat.
Az eredeti kerdesre valaszolva: halal felesleges uj shellt irni, sokkal rugalmasabb es kiprobaltabb modok vannak mar megirva >;)
- A hozzászóláshoz be kell jelentkezni
[quote:e2c0c5f4c0="Anonymous"]
Use Linux 2.4+ (de valoszinuleg BSDk is tudnak hasonlot), es csinalsz egy konyvtarat azon a particion, ahol a binarisok vannak, amelyik tartalmazza a hardlinkeket a megfelelo binarisokra. Utana mount -t none --bind /safe-bin /home/$USER/bin
Meg a /safe-lib, meg a /safe-etc, meg a /safe-tattara. apt-get upgrade
uten meg csak nezunk. Ez az ut szerintem jarhatatlan. Inkabb
erdemesebb chmod-olni meg setfacl-ezni. Vagy grsecurity-val hide-olni.
Vagy tenni a gepre egy lk trojan-t es hagyni hogy az hide-oljon :)
- A hozzászóláshoz be kell jelentkezni
Hi!
Meg a /safe-lib, meg a /safe-etc, meg a /safe-tattara. apt-get upgrade
uten meg csak nezunk. Ez az ut szerintem jarhatatlan.
Ossze kell irni egy scriptben, hogy miket masoljon hova, es minden apt-get upgrade utan azt is futtatni.
By(t)e
TBS::Antiemes
- A hozzászóláshoz be kell jelentkezni
Shell-t irni tenyleg badarsag. Egyreszt, mert nem konnyu. Masreszt, mert evek kellenek hozza, hogy bash, tchs, vagy esetleg zsh szintu shell-t irjatok. Harmadreszt, a fent emlitett shellekkel kompatibilisnek kellene lennie, hogy a user ne sirjon hogy ez/az maskepp mukodik, es nem futnak a scriptjei. Szoval eleg gaz...
Level 1-es megoldas: A konyvatarjogosultsagok allitgatasa chmod o+r-wx
Persze, ha a user ismeri a /etc szerkezetet, akkor igy is megtalalja a konfigokat :) Erre jo a kovetkezo lepcso:
Level 2-es megoldas: grsec vagy RSBAC. Aztan csak nez ki a fejebol, hogy "jee, ezen a Linuxon nincsen /etc" :)
- A hozzászóláshoz be kell jelentkezni
[quote:b0a0ff04f1="borso"][quote:b0a0ff04f1="Anonymous"]
Use Linux 2.4+ (de valoszinuleg BSDk is tudnak hasonlot), es csinalsz egy konyvtarat azon a particion, ahol a binarisok vannak, amelyik tartalmazza a hardlinkeket a megfelelo binarisokra. Utana mount -t none --bind /safe-bin /home/$USER/bin
Meg a /safe-lib, meg a /safe-etc, meg a /safe-tattara. apt-get upgrade
uten meg csak nezunk. Ez az ut szerintem jarhatatlan. Inkabb
erdemesebb chmod-olni meg setfacl-ezni. Vagy grsecurity-val hide-olni.
Vagy tenni a gepre egy lk trojan-t es hagyni hogy az hide-oljon :)
Szerinted ezt az egeszet nem lehet scriptelni, hogy updatelje a /safe-* -ot is? :)
Mondjuk szerintem UML-es megoldas jobbabb, vagy egy full chroot /safe/ ala, vagy hasonlo, az tenyleg egyszerubb.
- A hozzászóláshoz be kell jelentkezni
Nem egy teljesen uj shellre gondoltam, hanem egy bash-ra epulo valamivel ami csak az adodt dolgot csinálja tehat ellenorzi a permissionokat és továbbitja a bashnak
Tehát ez csak szimulálna egy környezetet a jusernek
- A hozzászóláshoz be kell jelentkezni
Najo akkor ezt a megoldast feladjuk..
Lassuk a B tervet
legyen a /home a juzerek szamara lathato gyoker
bemountoltam oda amit kell (proc, dev, bin meg libek szal minden):
/bin on /home/bin type none (rw,bind)
/lib on /home/lib type none (rw,bind)
/usr/bin on /home/usr/bin type none (rw,bind)
/usr/local/bin on /home/usr/local/bin type none (rw,bind)
/usr/local/lib on /home/usr/local/lib type none (rw,bind)
/usr/lib on /home/usr/lib type none (rw,bind)
/dev on /home/dev type none (rw,bind)
/home/proc on /home/proc type proc (rw)
/etc/sudoers -be beraktam
user ALL=NOPASSWD:/usr/sbin/chroot
a shell amit a juzer kap az:
#!/bin/bash
sudo /usr/sbin/chroot /home /bin/bash
de itt valami nagyonnemoké
szal:
bash-2.05b# ls
bin dev etc ftp user lib proc usr
bash-2.05b# whoami
whoami: cannot find username for UID 0
itt több ponton is gond van
1. miért bash-2.05b -t írki mikor user@debian:~# kéne
2. miért nem lép be a saját könyvtárába
3. miért uid 0 ami ugye root?
- A hozzászóláshoz be kell jelentkezni
[quote:eedf7591f0="onyx"]
Amire meg erdemes figyelni, hogy a full learning nem fog letrehozni az uj policy fileba admin role-t. Ezt erdemes a regi, eredeti policy filebol kimasolni, es bevagni az uj policy fileba, hogy legyen admin roleod. Ez utan, ha mar mindent belottel, es fut a grsec rendesen, igy tudsz superuser modba valtani:
gradm -a admin, es azt a jelszot kell ugye megadnod, amit az admin role-nak megadtal.
onyx
Megcsináltam, de most meg az a baja hogy 2 "subject /" van:
Duplicate subject found for "/" in role default, on line 257 of /etc/grsec/policy.
"/" references the same object as "/" specified on an earlier line.
The RBAC system will not load until this error is fixed.
Meg ezekre is "haragszik":
CAP_SYS_ADMIN is not removed in role default. This would allow an attacker to mount filesystems to bypass your policies
CAP_NET_ADMIN is not removed for role default. This would allow an attacker to modify your firewall configuration or redirect private information
CAP_NET_BIND_SERVICE is not removed for role default. This would allow an attacker (if he can kill a network daemon) to launch a trojaned daemon that could steal privileged information
- A hozzászóláshoz be kell jelentkezni
/etct is mountolni kéne
abban van a profile, az csinálja meg a promptodat
abban van a passwd, onnan olvassa ki a whoami
ha nem akarod mountolni, akkor a passwdt, meg a profile+profile.d-t symlinkeld
- A hozzászóláshoz be kell jelentkezni
[Level 2-es megoldas:[/b] grsec vagy RSBAC. Aztan csak nez ki a fejebol, hogy "jee, ezen a Linuxon nincsen /etc" :)
Ezt pontosan hogyan is kell???
- A hozzászóláshoz be kell jelentkezni
[quote:d20562f2d1="Anonymous"]
/etc/sudoers -be beraktam
user ALL=NOPASSWD:/usr/sbin/chroot
Ezzel olyan szépen jelszó nélküli rootot adtál minden usernek, hogy azt öröm nézni. Javaslom man sudoers parancsot.
Ha azt akarod, hogy a user bechrootolódjon valahova, és utána root jogokat a cucc eldobja, akkor nézd meg pl a Debianos dchroot nevű csomagot. Az egy aranyos kis C program ami pont ezt csinálja.
[quote:d20562f2d1="Anonymous"]
3. miért uid 0 ami ugye root?
Mert sudo setuid root, és sehol nem mondtad meg neki, hogy chroot után azt dobja el.
- A hozzászóláshoz be kell jelentkezni
[quote:f2e01aabeb="algernon"]
Ezzel olyan szépen jelszó nélküli rootot adtál minden usernek, hogy azt öröm nézni. Javaslom man sudoers parancsot.
Persze decsak a chroot-hoz...
- A hozzászóláshoz be kell jelentkezni
Ezt a dchrootot hogy kell használni?
- A hozzászóláshoz be kell jelentkezni
Mármint arra gondoltam hogy grsec-kel hogyan is lehet ezt megcsinálni.
- A hozzászóláshoz be kell jelentkezni
[quote:4b1d728c05="Anonymous"][quote:4b1d728c05="algernon"]
Ezzel olyan szépen jelszó nélküli rootot adtál minden usernek, hogy azt öröm nézni. Javaslom man sudoers parancsot.
Persze decsak a chroot-hoz...
Az bőven elég. Próbáld ki ezt, userként:
$ sudo /usr/sbin/chroot / /bin/bash
- A hozzászóláshoz be kell jelentkezni
[quote:4aeed42cdc="algernon"]
Az bőven elég. Próbáld ki ezt, userként:
$ sudo /usr/sbin/chroot / /bin/bash
Amugy akkoe már csak /home -on belül tud variálni chroot-al
Akkor írd le szépen, részletesen hogy te hogy csinálnád
- A hozzászóláshoz be kell jelentkezni
Sőt ugye ebben a virtuális gyökérbe nemis kell ugye chroot tehát hogyha megoldjuk hogy mondjon le belépés után a jogokról akkor minden megvan oldva...
- A hozzászóláshoz be kell jelentkezni
Jun 12 23:15:59 debian sshd[24501]: PAM adding faulty module: /lib/security/pam_limists.so
Jun 12 23:16:00 debian sshd[24501]: Accepted keyboard-interactive/pam for user from 127.0.0.1 port 7156 ssh2
Jun 12 23:16:00 debian login[13713]: PAM unable to dlopen(/lib/security/pam_limists.so)
Jun 12 23:16:00 debian login[13713]: PAM [dlerror: /lib/security/pam_limists.so: nem lehet megnyitni megosztott objektum fájlt: Nincs ilyen fájl vagy könyvtár]
Jun 12 23:16:00 debian login[13713]: PAM adding faulty module: /lib/security/pam_limists.so
Jun 12 23:16:00 debian login[13713]: (pam_unix) session opened for user user by (uid=0)
Jun 12 23:16:00 debian login[13713]: unable to change tty `/dev/pts/138' for user `user'
Jun 12 23:16:00 debian sshd[24501]: syslogin_perform_logout: logout() returned an error
- A hozzászóláshoz be kell jelentkezni
[quote:5a8e984c17="Anonymous"][quote:5a8e984c17="algernon"]
Az bőven elég. Próbáld ki ezt, userként:
$ sudo /usr/sbin/chroot / /bin/bash
Amugy akkoe már csak /home -on belül tud variálni chroot-al
Jah, lehet, feltéve hogy besshzott. De ha sudoers marad olyan, amilyen, és teszemazt CGIt tud futtatni, akkor secperc alatt rootot szerez magának, /home-on kívülre is.
De ha chrooton belül rootot szerez, akkor onnan is olyan simán jön ki, ahogy nemakar. (Kivéve, ha nem tud device filet csinálni, akkor trükkösebb.)
[quote:5a8e984c17="Anonymous"]
Akkor írd le szépen, részletesen hogy te hogy csinálnád
Nem fogom leírni részletesen, mert kegyetlen egyszerű a dolog, és az összes hozzá kellő dolgot itt megemlítették már, jómagam is hozzátettem 1-2 ötletet.
A magam részéről én debootstrap-al csinálnék egy chrootot, pam_mount és pam_chroot segítségével meg szépen bele lehet pakolni a juzereket.
Ha meg kevesebbet akarok szívni, akkor debootstrap egy chrootot, és belövok egy user mode linuxot.
Mindent elmondtak már itt a fórumon, ami kell neked. Csak a doksikat kéne átnézned, gondolkodni a dolgon egy keveset, és utána pillanatok alatt be is tudnád lőni, nem egy nagy ördőngősség (ha az lenne, ezeregy howto lenne róla).
- A hozzászóláshoz be kell jelentkezni
volt itt egy olyan otlet, hogy grsec-el kene megoldani a problemat. Az illeto egy bizonyos "hide" dolgot emlitett. Valaki ki tudna fejteni bovebben, hogy miket is kene beallitani a grec-ben, hogy ilyen hide letrejojjon?
Elore is kosz!
- A hozzászóláshoz be kell jelentkezni
Ezért kéne úgy ahogy énmondtam
- A hozzászóláshoz be kell jelentkezni
Bővebben?
- A hozzászóláshoz be kell jelentkezni
Nemrég én is próbálgattam.
Bekell forgatni a grsec-be a sysctl supportot, telepíted a gradm-et, azzal tudod állítgatni.
- A hozzászóláshoz be kell jelentkezni
[quote:7dd49efb6b="Anonymous"]Jun 12 23:15:59 debian sshd[24501]: PAM adding faulty module: /lib/security/pam_limists.so
Jun 12 23:16:00 debian sshd[24501]: Accepted keyboard-interactive/pam for user from 127.0.0.1 port 7156 ssh2
Jun 12 23:16:00 debian login[13713]: PAM unable to dlopen(/lib/security/pam_limists.so)
Jun 12 23:16:00 debian login[13713]: PAM [dlerror: /lib/security/pam_limists.so: nem lehet megnyitni megosztott objektum fájlt: Nincs ilyen fájl vagy könyvtár]
Jun 12 23:16:00 debian login[13713]: PAM adding faulty module: /lib/security/pam_limists.so
Jun 12 23:16:00 debian login[13713]: (pam_unix) session opened for user user by (uid=0)
Jun 12 23:16:00 debian login[13713]: unable to change tty `/dev/pts/138' for user `user'
Jun 12 23:16:00 debian sshd[24501]: syslogin_perform_logout: logout() returned an error
Na rajottem ha jobban megnezitek limists volt írva (ááá)!!
Azonban hiaba harult el ez az akadaly van meg:
Jun 13 01:08:57 debian sshd[27352]: Accepted keyboard-interactive/pam for user from 127.0.0.1 port 9307 ssh2
jún 13 01:08:57 debian login[14172]: (pam_unix) session opened for user user by (uid=0)
Jun 13 01:08:57 debian login[14172]: unable to change tty `/dev/pts/150' for user `user'
Jun 13 01:08:57 debian sshd[27352]: syslogin_perform_logout: logout() returned an error
es most bejelentkezeskor eszodnja:
Unable to change tty /dev/pts/152: Operation not permitted
Connection to localhost closed.
- A hozzászóláshoz be kell jelentkezni
Ha lazan bemountolom /dev -et /home/dev -be akkor eszondja /var/log/auth.log:
Jun 13 01:55:36 debian sshd[28114]: Accepted keyboard-interactive/pam for user from 127.0.0.1 port 55121 ssh2
jún 13 01:55:36 debian login[28780]: (pam_unix) session opened for user user by (uid=0)
Jun 13 01:55:36 debian login[28780]: unable to determine TTY name, got /dev/pts/6
Jun 13 01:55:36 debian sshd[28114]: syslogin_perform_logout: logout() returned an error
Bejelentkezeskor pedig:
Connection to localhost closed.
(nincs Operation not permitted)
- A hozzászóláshoz be kell jelentkezni
Jajjvazz
- A hozzászóláshoz be kell jelentkezni
[quote:0a03f6db43="jaci"]Nemrég én is próbálgattam.
Bekell forgatni a grsec-be a sysctl supportot, telepíted a gradm-et, azzal tudod állítgatni.
Ezt megcsinaltam.
De amikor el akarnam inditani a gradm-et (gradm -E) ezt keri allitsak be jelszot, de miutan beallitom, ujra azt keri allitsam be.
Ha jol gondolom az /etc/grsec/policy-t kell piszkalgatni.. Nem nagyon talaltam leirasokat hogy mit hogy kene. peldaul ezt a hide dolgot hogyan lehet megcsinalni? nem tudnal adni egy pelda configot?
- A hozzászóláshoz be kell jelentkezni
Nekem sem volt tökéletes, és akkor elég finoman fogalmaztam:)
A pass-t nekem is többször kellett beállítani mire elfogadta. /nem tom miért/
A default configot variáltam, de az volt a gondom, hogy ha hiddenre tettem a /etc-t akor sok alkalmazás behalt... Próbáltam tanítani is így már jobb volt az eredmény, de pl a samba meg a postfix akkor sem ment rendesen. Úgy hogy feladtam:)
- A hozzászóláshoz be kell jelentkezni
Van olyan, akinek ezt mar sikerult belonie rendesen?
- A hozzászóláshoz be kell jelentkezni
Valóban a PAM a legszebb megoldás, de anélkül is egyszerűen meg lehet csinálni.
Pl: a user shellje (/etc/passwd) egy bash szkript legyen, valahogy így
[code:1:fcb5b8b454]
#!/bin/sh
USER=`basename ~`
sudo /usr/sbin/chroot ~ /bin/su - $USER
[/code:1:fcb5b8b454]
az /etc/sudoers fájlba meg kell egy ilyen:
[code:1:fcb5b8b454]
juzernév ALL:NOPASSWD: /usr/sbin/chroot, /bin/su
[/code:1:fcb5b8b454]
no meg érdemes a home könyvtárába bemásolni a szükséges binárisokat, konfig fájlokat, stb. és már megy is.
- A hozzászóláshoz be kell jelentkezni
Tovabbi problema hogy a kozos eroforrasokat azert valahogy
elerhetove kell tenni chroot-on belul is: levelezes, man cache,
syslog, nscd (ha van), ...
- A hozzászóláshoz be kell jelentkezni
Ezt próbálgasd:
# To use full system learning, enable the system like:
# gradm -F -L /etc/grsec/learning.logs
# and then generate the rules after disabling the system after the
# learning phase with:
# gradm -F -L /etc/grsec/learning.logs -O /etc/grsec/policy
Elindítod hogy loggoljon. Akkor minden olyan alkalmazást amit szeretnél használni elindítasz, és használod, majd ebből készíted a policy-t.
Csak a samba-t és a postfixet nem tanulta meg rendesen, lehet kézzel kellett volna neki kicsit besegíteni.
- A hozzászóláshoz be kell jelentkezni
A grsecurity rbac funkcioja eleg maceras... viszont ha egyszer belotted, eleg jol mukodik. Mindenkepp a full learning modot hasznald, ahogy azt az elozoekben mar leirtak. A trukk az, hogy hagyni kell futni jopar napig (~1 hetig). Ne ijedj meg, 1-2 gigas logfileot fog generalni. Fontos, hogy a rendszert ilyenkor csak ugy hasznald, ahogy altalaban fogod. Ha kulonleges dolgokat akarsz vegezni, amit alapesetben nem akarod, hogy a root user is tudjon (egesz rbac lenyege az, hogy a root usert degradalja egy sima userre, akinek semmivel sincs tobb joga), akkor erdemes leallitani a tanulast, megcsinalni, amit akarsz, es visszakapcsolni utana. Azon se lepodj meg, hogy amikor a logokbol a gradm segitsegevel (gradm -F -L path/to/logfile -O path/to/new/policy/file) policyt gyartasz, az is jo sokaig el fog tartani. (Nalam multkor masfel napig futott.) Ezutan kesz egy policy fileod, mostmar csak az van hatra, hogy kezzel kiegyengesd. Ehhez kell a tapasztalat, de egy ido utan bele lehet jonni. En ugy szoktam, hogy gradm -E, aztan rogton kapcsold is ki:)) Logfilet csekkold (syslogot), es nezd, hogy mik irnak hibat. Keresd meg, hogy mi nem oke a policy fileban, es modositsd, aztan gradm -E ujra, stb. Hosszadalmas, de erdemes vele vacakolni sztem.
Ami meg felmerult, hogy miert ker tobb jelszot: alapesetben a gradm felrakasaval egy alap policy file fog telepitesre kerulni /etc/grsec ala. Ebben van egy admin role, ami arra valo, hogy rootkent erre tudsz authentikalni, es igy leszel mezei rootbol superuser. Tehat ennek valo az egyik jelszo (gradm -P admin). A masik jelszo pedig a grsec rbacjanak ki/be kapcsolasara valo (gradm -P).
Amire meg erdemes figyelni, hogy a full learning nem fog letrehozni az uj policy fileba admin role-t. Ezt erdemes a regi, eredeti policy filebol kimasolni, es bevagni az uj policy fileba, hogy legyen admin roleod. Ez utan, ha mar mindent belottel, es fut a grsec rendesen, igy tudsz superuser modba valtani:
gradm -a admin, es azt a jelszot kell ugye megadnod, amit az admin role-nak megadtal.
Nah ez jo hosszura sikeredett, es nem tudom mennyire ertheto, ha vmi nem stimmel, kerdezz. Amugy grsec nagy baja, hogy nem igazan dokumentalt, pedig ez az rbac az egyik legfontosabb resze (szerintem), megsem sokan hasznaljak, pont mert ennyire nincs dokumentalva.
Sok sikert!
onyx
- A hozzászóláshoz be kell jelentkezni
ezért kéne egy olyan shellt írni ami semmibe se nyul bele csak azt szimulálja a juzernek hogy az ő könyvtára a gyökér és ha megpróbál kilépni akkor csak dob egy permission denied üzenetet
- A hozzászóláshoz be kell jelentkezni
[quote:aecca1a49c="willothewisp"]no meg érdemes a home könyvtárába bemásolni a szükséges binárisokat, konfig fájlokat, stb. és már megy is.
Na pont itt a probléma... ha 6000 usered van, és a home könyvtárak nem igy egy file-rendszeren vannak (hanem mondjuk 20 -on), akor másolgatni elég macera, a helyfoglalás miatt is.
Ennél már csak az macerább, ha a "másolt" konfigállományokat módosítani kell, vagy mondjuk ha egy biztonsági-lyuk miatt frissíteni kell a binárisokat...
- A hozzászóláshoz be kell jelentkezni
Szerintem nem baj hogy ilyen hosszúra sikerült. Lehet újra megjön a kedvem hozzá:)
Azt hiszem ott is hibáztam hogy az admin role-t nem másoltam be neki, ezért párszor kizártam magam: :D Mindenesetre azért azt ajánlom hogy minednki csak olyan gépen próbálgassa ami elég közel van, ha esetleg még sem úgy sülne el a dolog mint ahogy várná...
- A hozzászóláshoz be kell jelentkezni
Kosz az infokat, majd probalkozom...
Viszont azt meg nem teljesen ertem, hogy a sima usereknek hogyan lesznek beallitva a jogaik. Csinalok egy proba-usert, bekapcsolom a learning-et, belepek a userrel, amit engedni akarok neki a kesobbiekben azt megcsinalom vele, vagy hogy? Es ha kesz a userre vonatkozo policy akkor atirhatom hogy egy csoportra vonatkozzon?
- A hozzászóláshoz be kell jelentkezni
na miaz?
senkit nem erdekel a project? ehh
pedig gondoltam ez tobb szerveruzemeltetot erdekelhetne
- A hozzászóláshoz be kell jelentkezni
[quote:eb7517ee4e="dszabo"]Kosz az infokat, majd probalkozom...
Viszont azt meg nem teljesen ertem, hogy a sima usereknek hogyan lesznek beallitva a jogaik. Csinalok egy proba-usert, bekapcsolom a learning-et, belepek a userrel, amit engedni akarok neki a kesobbiekben azt megcsinalom vele, vagy hogy? Es ha kesz a userre vonatkozo policy akkor atirhatom hogy egy csoportra vonatkozzon?
Amikor megy a full learning, akkor csinalsz minden olyat, amit amugy akarsz csinalni a geppel. Tehat pl ha van egy juzered, akkor azzal belepegetsz, es minden olyan programot futtatgatsz, amit kesobb majd hasznalni akarsz azzal a felhasznaloval. Amikor a grlearnnel megcsinaltatod vele a teljes policyt, ez a juzer benne lesz egy kulon user role-kent, benne minden programra vonatkozo subjecttel, amiket hasznaltal. (pl bash, mc, ping, etc.)
Persze akkor sincs semmi, ha mar kesz a policyd, es utana akarsz pl uj felhasznalot megadni. Van a full learningen kivul masikfajta learn is. A mar kesz policyban is lehet megadni tanulo modot, roleokra is (pl beleirod, hogy uj_juzer_neve ul), es kulon subjectekre is:
[code:1:eb7517ee4e]
role valamiuser
[...]
subject path/to/app ol {
/ h
-CAP_ALL
bind disabled
connect disabled
}
[/code:1:eb7517ee4e]
Ez utan a -F kapcsolo nelkul inditod az rbacot, (-F a full learningre valo), tehat gradm -E -L /path/to/logfile. Mindaddig igy kell inditani a rendszert, amig egy tanulasra allitott subject/role van a policy fileban. (az uj, tanult subjectek/roleok megadasa: gradm -L /path/to/logfile -O /etc/grsec/policy-learned, aztan ebbol a filebol kell atmigralni az uj subjecteket/roleokat)
Amugy erdemes megnezni a meglevo doksikat:
http://www.grsecurity.net/papers.php - itt van a regi 1.9.x sorozat dokumentacioja, egy resze meg mindig ervenyes.
http://www.gentoo.org/proj/en/hardened/grsecurity.xml
nameg a grsecurity forumja: http://forums.grsecurity.net
Remelem sikerult valamennyire erthetoen leirni.
- A hozzászóláshoz be kell jelentkezni
engem érdekelne, főleg ez a grsec dolog..
- A hozzászóláshoz be kell jelentkezni
C terv:
libpam-chroot segitsegevel
Felhasznalt irodalom: http://www.chains.ch/chroothun.php
Szoval ott tartottunk hogy ki van alakitva a kornyezet a /home -ban
bin dev etc ftp user lib proc tmp usr
/bin on /home/bin type none (rw,bind)
/lib on /home/lib type none (rw,bind)
/usr/bin on /home/usr/bin type none (rw,bind)
/usr/lib on /home/usr/lib type none (rw,bind)
/usr/local/bin on /home/usr/local/bin type none (rw,bind)
/usr/local/lib on /home/usr/local/lib type none (rw,bind)
/home/proc on /home/proc type proc (rw)
devpts on /home/dev/pts type devpts (rw)
(gondolom ezeket majd fel lehet mountolni ro kapcsoloval is a biztonsag kedveert)
a normal rendzserben az /etc/passwd a juzerrol:
user:x:1000:100:Juzer,,,:/home/user:/bin/bash
a chrootolt konyvtarban (azaz /home/etc/passwd)
user:x:1000:100:Juzer,,,:/user:/bin/bash
/etc/security/chroot.conf -ba bekerult ez:
user /home
/etc/pam.d -be beraktam a fileok vegere hogy
session required pam_chroot.so
Az SSHd confjaban az "UsePrivilegeSeparation" no -ra tettem...
Ezeknek ellenre nemtok ssh-val belepni
debian:~# ssh -l user localhost
Password:
...
Unable to change tty /dev/pts/89: Permission denied
Connection to localhost closed.
- A hozzászóláshoz be kell jelentkezni
a devpts nálam még a gid=5 és a mode=620 opciókkal mountolódik :wink:
- A hozzászóláshoz be kell jelentkezni
A pam_chroot nevű csodáról hallotak már, uraim?Igen hasznos, pontosan ez kell önöknek.
üdv,
Ago
- A hozzászóláshoz be kell jelentkezni
devpts on /home/dev/pts type devpts (rw,gid=5,mode=620)
Es a szitu ugyanaz
- A hozzászóláshoz be kell jelentkezni