Sziasztok!
Habár lehet nem jól fogalmaztam meg a Tárgy-ban a mondandóm, de itt mindenképpen kifejteném a dolgot.
A harci állás a következő:
- Van pár gép, ahol a usereknek adataik vannak, ezeket FTP-n keresztül érik el
- Természetesen van SQL szerver is (MySQL), ez is megtalálható a gépeken
- Egyre nagyobb igény lenne az SSH hozzáféréshez ezeken a "tárhelyeken" (nevezzük most ezeket annak)
- Nem szeretnék minden egyes gépre SSH szervert, hanem a következőre gondoltam:
- 1 központi SSH szerver, ahova felmountolom a userek adatait
- Itt természetesen szeretnék valamilyen védelmet kialakítani, hogy ne tudjanak kitörni a saját mappájukból (Chroot?)
- Továbbá nagyon fontos tényező lenne, hogy ne futhassanak állományokat SSH-n keresztül (Szintén biztonsági ok)
- Utolsó sorban pedig csak adott parancsokat használhassanak (Szintén)
Ahogy kicsit kutakodtam a neten, találtam ezt a Jailkit olivier.sessink.nl/jailkit/ nevű cuccot, de ahogy tudom ez mindenkinek létrehoz úgymond egy "belső rendszert" (saját bin, lib, stb.)
Ezt nem szeretném (helytakarékosságból, meg nem is olyan szép megoldás szerintem), esetleg ha valaki tud ennek egy másik megoldást, azt üdvözölném.
Továbbá bármilyen építő jellegű megoldást "meghallgatok" (ha félreérthetően, esetleg tévesen írtam valamit, nem szakmailag, azt is).
Elsősorban útmutatást, de ha kész megoldás létezik, akkor azt is szívesen fogadok.
- 5535 megtekintés
Hozzászólások
Pár perc guglizás a negyedik ponthoz:
http://binblog.info/2008/10/20/openssh-going-flexible-with-forced-comma…
- A hozzászóláshoz be kell jelentkezni
ne fut[tat]hassanak állományokat SSH-n keresztül
akkor miért SSH kell? aminek az elsõdleges feladata a parancsfuttatás!
ezt a kitételt szerintem egybevehetet az utolsóval, tehát hogy csak bizonyos programokat futtathassanak.
ha pedig csak biztonságos fájlelérés kell, akkor ftp-over-tls, vagy scp (azaz csak sftp-servert futtathassanak, amit scp-féle kliensekkel tudnak managelni elérve vele tárhelyük fájljait).
ha ügyelsz a unix jogok rendeltetésszerũ használatára a szerveren, felesleges a jail/chroot, mivel a user csak ahhoz férend hozzá, amire joga van.
Így saját (home) könyvtárát nem fogja törölni, mivel annak a szülõkönyvtárára (pl. /home) nincs +w joga.
a más könyvtárát nem fogja túrni, mivel azon nincs o+x jog. ha mégis valamiféle csoportalakításra van szükség, adhatsz g+rx jogot egy könyvtárra, melyet az egész csoportja böngészhet...
ha a felsoroltakon kívül más nem köt, ajánlom a legacy unix jogrendszert alkalmazni.
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
ne tudjanak kitörni a saját mappájukból
jah, úgy olvastam "ne tudják kitörölni" - mindegy erre is válasz az iménti hozzászólásom.
több, könnyebb-nehezebb lehetõség van attól függõen, miért kell nem kitörniük a hómlyukból...
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
Nem felesleges a jail/chroot! Ha például van feltelepítve python vagy perl akkor máris ki tud használni egy-két sebezhetőséget a felhasználó és akár root jogokhoz is juthat!
- A hozzászóláshoz be kell jelentkezni
nem, természetesen nem teljesen felesleges, csak egy darabig olcsóbb a kiváltása.
vannak sebezhetõségek is, melyek shell hozzáféréssel léptékekkel könnyebben kihasználhatóak, de ez még mindig nem kötelez implicit jailre.
különben miért pont szkript interpretereket hoztál fel mint potenciális exploitokat?
jail nélkül is sok lehetõség van a unix varázsló kamrájában egy biztonságos osztott shell kiszolgáló üzemeltetésére, de ha nem akarunk ezen irányba haladni, akkor már inkább ajánlok még egy lépést megtenni: virtuálisgép.
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
Első felvetésedre teljes mértékben bólogatok, rosszul is fogalmaztam meg a dolgokat.
Itt tényleg csak adott dolgok futtatásáról lenne szó ( mc, wget, tar, gzip, bzip2, mcedit, php, mysql, svn, git, mysqldump ). Ezeken kívül semmilyen script-et, programot, semmit ne indíthasson el, állíthasson le, stb stb.
Leginkább pedig azért nem szeretném hogy ne másszon ki a home mappájából, hogy ne tudja kik "laknak" vele egy gépen (kik használják még ezt a "szolgáltatást").
- A hozzászóláshoz be kell jelentkezni
szerintem bármilyen shared hosting esetében felelőtlenség shell-t adni a usereknek.
- A hozzászóláshoz be kell jelentkezni
gyakorlatilag igen, nagy a felelõsséged, a usernak túl sok a lehetõsége.
azért kérdem, biztosan shell kell? nem-e elég az egyes szerepköröket, szolgáltatásokat a saját módjukon elérni (ftp, svn-over-tls, webfelület)?
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
Itt tényleg csak adott dolgok futtatásáról lenne szó
rossz gondolat!
amikor mc-zel, svn-ezel nem csak annyit teszel, hogy beírod a shellnek, hogy ezt futtassa. azaz ezen a ponton nem lehet értelmesen elkapni a usertevékenységet.
a közvetlenül shellbõl futtatott parancsok megannyi más backend parancsot meghívnak, tipikusan a /bin-béli apró unix tool-okat, ezekre pedig ember legyen a talpán, aki listát készít, hogy mit szabadjon és mit nem.
kicsiny tapasztalatom alapján azt mondhatom, unix alatt nem a binárisok futtathatóságán alapul a rendszerbiztonság (kivéve a suid futtathatókat), hanem az erõforrások hozzáférhetõségein.
semmilyen script-et, programot, semmit ne indíthasson el, állíthasson le,
hogy úgy mondjam, ezt alapból tudja *nix.
ha nem a tiéd egy processz, nem küldhetsz neki szágnált, nem állíthatod le (normál mũködés mellett).
futtathatsz dpkg-t (debiános szoftver-csomagkezelõ, nem tudom, milyen alapú rendszerrõl van szó), de programot, szolgáltatást nem tudsz telepíteni, mert te és a teáltalad betöltött processz nem fér hozzá a rendszerkönyvtárakhoz.
a user szkriptek kategórikus tiltása - még ha meg is valósulna - nagy kár lenne, eltiltani õket az automatizálás hasznától... vagy nem tudom, mire gondolsz... ha már van egy shellje, pl. bash, már tud is szkriptelni.
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
ne tudja kik "laknak" vele egy gépen
ezt megoldani viszont egy érdekes feladat lenne.
obfuszkált usernevekhez mit szólsz?
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
Igen sajnos kell a shell.
Igen, Debian.
Erről a obfuszkált dologról most hallottam elsőnek (meg olvastam utána). Megvalósítását pedig még nem is láttam soha. Érdekes felvetés mindenképp :)
- A hozzászóláshoz be kell jelentkezni
obfuszkált név alatt csak arra gondoltam, hogy nem kisfalusijanos lenne a user login neve, hanem u1342.
akkor ezalapján nem tudnák, ki van még ottan...
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
Toljal be egy freeBSD gepet es tegyel ra Jailt... Ott aztan akar root is lehet a salyat kis jatszoteren. Vagy Solaris Zone
- A hozzászóláshoz be kell jelentkezni
Hmm a Solaris Zone érdekes, de nem egy erőműre raknám ezt az SSH-t. :)
A Jail-el pedig még mindig csak annyi a bajom (konkrétan amit én néztem), hogy mindenkinek a home mappájába létrehoz saját bin-t, lib-et, stb., nem pedig "központilag menedzselhető". Bár lehet lenne erre valami megoldás, csak még én nem találtam meg.
- A hozzászóláshoz be kell jelentkezni
Van erre több féle megoldás freebsd-n nullfs:
http://www.freebsd.org/doc/en/books/handbook/jails-application.html
De ha linux-ot használsz használj LXC-t (ez is egyfajta "jail" megoldás) és bind mount-ot.
- A hozzászóláshoz be kell jelentkezni
http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
Érdekes, bár alapvetően a felh/jelszó mellett teszik le az emberek a voksukat (plusz kulcs még? Minek a? - mondják ők).
Ennek kicsit majd részletesebben utánajárok, köszönöm. (errotan-nak is, ahogy belenéztem hirtelen a linkjébe, ő is ilyesmit küldött.)
- A hozzászóláshoz be kell jelentkezni
rssh, restricted shell
ezeket is megnézheted, lehet velük szigorítani a shell képességeit vagy mi, nem alkalmaztam még...
~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7
- A hozzászóláshoz be kell jelentkezni
Az ftp az ugye nem pőre ftp, hanem SSL? Amennyiben sima ftp, akkor felesleges biztonságról beszélgetni.
Ötletek:
- scponly
- mindenképpen megnéznék valamilyen teljes rendszert érintő biztonsági megoldást, akkor is ha jail-ben vannak a userek
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
apparmor + pam, nem probaltam, csak multkor lattam, hogy ilyet is tud.
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Egy kis értetlenség van bennem: miért van igény ssh-hozzáférésre az ftp-szerverekre?
Szerintem ettől függhet sok minden: ha pl. csak azért, hogyha egy 100 megás fájlt netről oda akarok tolni, de felesleges otthon letölteni és onnan fel az ftp-re (ssh-val: bejelentkezek a szerverre, ott kiadom a wget/curl/... parancsot, így az otthoni sávszélt nem "pazarlom"), akkor felesleges szerintem csak ezért ssh-t adni.
Vagy a szerveren levő programok segítségével akarnak valamit kezdeni a fájljaikkal, a szerver erőforrásait használva?
- A hozzászóláshoz be kell jelentkezni
Centrify DirectControl restricted shell (dzsh).
- A hozzászóláshoz be kell jelentkezni