Kaip įkalinti vartotojus, prisijungiančius per SSH

Mūsų pasaulyje yra daug, daug paslapčių ... Aš nuoširdžiai nemanau, kad galiu išmokti pakankamai daug, kad galėčiau jas pažinti, ir tai suteikia paprastas faktas, kad „Linux“ leidžia mums padaryti tiek daug, bet tiek daug dalykų, kad tai yra mums sunku juos visus pažinti.

Šį kartą paaiškinsiu, kaip padaryti ką nors nepaprastai naudingo, ką reikėjo padaryti daugeliui tinklo ar sistemos administratorių, ir mums buvo sunku paprasčiausiai nerasti gana paprasto būdo tai pasiekti:

Kaip laikyti narvą vartotojams, prisijungiantiems per SSH

narvas? ... WTF!

Taip. Jei dėl kokių nors priežasčių privalome suteikti SSH prieigą savo draugui prie savo kompiuterio (ar serverio), visada turime pasirūpinti savo kompiuterio ar serverio saugumu ir stabilumu.

Pasitaiko, kad neseniai norėjome suteikti „Perseus SSH“ prieigą prie savo serverio, tačiau negalime suteikti jam jokios prieigos, nes ten turime tikrai jautrias konfigūracijas (sukompiliavome daug dalykų, paketus, kuriuos įdiegėme atskirai ir pan.). .) ir jei kas nors to nepadaro Ar aš bandysiu padaryti nors menkiausius pakeitimus serveryje, yra tikimybė, kad viskas eis veltui.

Tada, Kaip sukurti vartotoją su labai ribotomis privilegijomis tiek, kad jis net negalėtų išeiti iš savo narvo (namų)?

Pradėkime nuo atsisiuntimo kalėjimo komplektas, įrankis, kuris leis mums tai padaryti:

Visos šios komandos vykdomos kaip root

1. Pirmiausia turime atsisiųsti savo „JailKit“ serverį.

wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz

2. Tada turime išpakuoti paketą ir įvesti ką tik pasirodžiusį aplanką:

tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14

3. Vėliau mes rinkome ir įdiegėme programinę įrangą (Aš palieku jums ekrano kopiją):

./configure
make
make install

. / Configure

padaryti

make install

4. Parengta, tai jau įdiegta. Dabar mes kuriame narvą, kuriame bus būsimi vartotojai, mano atveju aš jį sukūriau: / opt / ir pavadinau jį „kalėjimu“, taigi kelias būtų toks: / opt / jail :

mkdir /opt/jail
chown root:root /opt/jail

5. Narvas jau sukurtas, tačiau jame nėra visų reikiamų priemonių, kad būsimi vartotojai, kurie ten bus, galėtų dirbti be problemų. Turiu omenyje, kad iki šiol narvas buvo sukurtas, bet tai tik tuščia dėžutė. Dabar mes įdėsime į narvą keletą įrankių, kurių reikės narvuose esantiems vartotojams:

jk_init -v /opt/jail basicshell
jk_init -v /opt/jail editors
jk_init -v /opt/jail extendedshell
jk_init -v /opt/jail netutils
jk_init -v /opt/jail ssh
jk_init -v /opt/jail sftp
jk_init -v /opt/jail jk_lsh

6. Paruošta, narvas yra ir jis jau turi įrankius, kuriuos vartotojas gali naudoti ... dabar mums reikia tik ... vartotojo! Mes ketiname sukurti vartotoją Kira ir mes jį įdėsime į narvą:

adduser kira
jk_jailuser -m -j /opt/jail kira

Pastaba: Vykdykite šią komandą terminale ir jos rezultatas turėtų būti panašus į tą, kuris parodytas ekrano kopijoje:

cat /etc/passwd | grep jk_chroot

Jei pastebite, kad nieko panašaus į ekrano kopiją neatsiranda, turite padaryti kažką blogo. Palikite komentarą čia ir aš mielai jums padėsiu.

7. O voila, vartotojas jau uždarytas į narvą ... bet, jis yra taip narve, kad negali prisijungti naudodamasis SSH, nes bandydamas prisijungti prie serverio neleidžia:

8. Norėdami leisti vartotojui prisijungti, turime atlikti dar vieną veiksmą.

Turime redaguoti narvo failą etc / passwd, tai yra šiuo atveju taip būtų / opt / jail / etc / passwd , joje komentuojame sukurtą vartotojo eilutę ir pridedame naują, pvz .:

kira: x: 1003: 1003 :: / home / kira: / bin / bash

Tai yra, mes turėtume tokį failą passwd:

root: x: 0: 0: root: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / kalėjimas /./ home / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash

Gerai atkreipkite dėmesį į skyrybos ženklų dublikatus ir kitus, svarbu jų nė nemesti 🙂

Tai padaręs vartotojas gali įeiti be jokių problemų 😀

Ir viskas.

Įrankis, kurį naudojame tam tikslui (kalėjimo komplektas) naudojimas vidinėje dalyje chroot, kurį iš tikrųjų naudoja beveik visos mokymo programos. Tačiau naudojant „JailKit“ narve tampa paprasčiau 😉

Svarbu!: Tai buvo išbandyta „Debian Squeeze“ (6) y šimtai ir tai pasiteisino iki 100%, išbandytas „Debian Wheezy“ (7), taip pat, nors ir su smulkmena, taip pat pavyko, kad vartotojo slapyvardis nerodomas ssh, tačiau jis nepraranda jokio funkcionalumo.

Jei kas nors turi problemų ar kažkas negerai, palikite kuo daugiau detalių, nelaikau savęs ekspertu, bet aš jums padėsiu kiek galiu.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   v3 sakė

    tai būtų kažkas panašaus į FTP leidimus? įdomus

    jūs visada pasirenkate viską, ko net nežinojote, kaip apie „mysql xD“ vartotojus

    1.    KZKG ^ Gaara sakė

      Ne tiksliai, nes SSH nėra tas pats, kas FTP. SSH yra apvalkalas, tai yra terminalas ... būtumėte kito kompiuterio ar serverio terminale, galėtumėte vykdyti komandas, paleisti procesus ir tt ... padarytumėte tiek, kiek leidžia serverio administratorius 😉

      hahahahaha nah ateik, nutinka taip, kad aš skelbiu daugiau techninių dalykų ... tai yra, man patinka publikuoti smulkmenas, kurios nėra tokios populiarios ir įdomios. Pavyzdžiui, aš asmeniškai neketinu kažko skelbti tą dieną, kai pasirodys naujasis „Ubuntu“, nes manau, kad daugelis apie tai jau kalbės ... tačiau tai, ką jūs skaitėte čia įraše, ar ne tai, kas skaitoma kas diena ar ne? 😀

      1.    Damianas Rivera sakė

        Labai geri indėliai ačiū

        taip pat yra protokolas, vadinamas sftp, kuris yra ftp ir „Secure Shell“ kartu, nors tai nėra tas pats, kas paleisti FTP per SSH: \

        saludos

        1.    KZKG ^ Gaara sakė

          Taip taip, bet, naudojant SSH narvą, aš automatiškai uždarau narvą tiems, kurie prisijungia naudodami SFTP, nes, kaip jūs sakote, SFTP iš tikrųjų yra SSH + FTP 😀

          saludos

  2.   Giskardas sakė

    Vaizdai negali būti matomi !!! 🙁

    1.    KZKG ^ Gaara sakė

      Nedidelė mano klaida hehe, pasakyk man dabar 😀

      1.    Giskardas sakė

        Paruošta. Ačiū 😀

  3.   Puvimas87 sakė

    labai gerai, atkreipiu dėmesį į savo mėgstamiausius, kad jis būtų prieinamas, kai man to reikia, lol

    1.    KZKG ^ Gaara sakė

      Ačiū, turite klausimų ar problemų, mes norime jums padėti 🙂

  4.   Manuelis de la Fuente sakė

    Narve jie turi Persėją. http://i.imgur.com/YjVv9.png

    1.    tinkamas sakė

      LOL
      xD

  5.   jorgemanjarrezlerma sakė

    Kaip laikaisi.

    Žinote, tai yra tema, kuri man nėra labai gerai pažįstama ir kurią tikrinau BSD (PC-BSD ir Ghost BSD), ir man ji labai įdomi ir su funkcijomis, kurios gali būti labai naudingos.

    Aš ketinu pasilikti jį nuoroda ir patikrinti, ar jis yra BSD dokumente. Ačiū už informaciją.

    1.    KZKG ^ Gaara sakė

      Aš irgi nebuvau su tuo susipažinęs, nes niekada negalvojau suteikti kažkam SSH prieigos prie bet kurio iš savo serverių haha, bet kai radau poreikį tai padaryti, norėjau suteikti prieigą, tačiau neturėdamas galimybės, kad kažkas per klaidą gali ką nors padaryti kad neprivalėjo 😀

      Niekada to nebandžiau BSD sistemose, todėl negaliu pasakyti, kad tai veiks, bet jei ieškote, kaip naudotis BSD, kažkas turėtų pasirodyti come

      Ačiū už komentaro draugą 🙂

      1.    Damianas Rivera sakė

        Sveiki, aš naudoju „FreeBSD“ ir, žinoma, „jailkit“ iš tikrųjų veikia uostuose

        Jį įdiegiate naudodami šią komandą

        cd / usr / ports / shells / jailkit / && padarykite švarų

        Arba ftp paketu

        pkg_add -r jailkit

        Tik konfigūracijoje (kira: x: 1003: 1003 :: / home / kira: / bin / bash)

        Turite pridėti tcsh arba sh, nebent jūs įdiegėte bash ir pridėkite šį kelią

        / usr / local / bin / bash

        Dar kelios detalės, „Ghost BSD“ turėtų būti dar paprastesnis procesas, nes jis pagrįstas „FreeBSD“

        saludos

  6.   adiazc87 sakė

    Puiku, aš jo ieškojau; ar zinai ar veikia Centose ?? dėkoju.

    1.    KZKG ^ Gaara sakė

      Nebandžiau jo „Centos“, bet taip, jis turėtų veikti :)
      Tiesą sakant, manau, kad prisimenu, jog keli naudojo tą patį įrankį „Centos“ ir „Red Hat“ serveriuose 😉

  7.   kiberalejo17 sakė

    Labai ačiū. Jis eina tiesiai į žymes.

    1.    KZKG ^ Gaara sakė

      Ačiū jums už komentarus 🙂

  8.   MV Altamirano sakė

    Labai geras „triukas“, labai naudingas sys administratoriams. Bet dar geriau, puikiai parašyta. Ko daugiau gali norėti.
    Labai ačiū už indėlį.

    1.    KZKG ^ Gaara sakė

      Ačiū, labai ačiū už jūsų komentarą 😀
      saludos

  9.   „LiGNUxero“ sakė

    Pagirkite SSH haha
    Kartą bandžiau padaryti narvelį ssh, bet tradiciniu stiliumi ir tiesa ta, kad jis niekada neišėjo teisingai. Jei narvas veikė, jis net neturėjo bash, tai yra, jis prisijungė ir nieko neliko haha, jei apvalkalas veikė, jis galėjo pakilti katalogų hierarchijoje ir dar daug daugiau quilombos haha, bet šis jailkitas yra burtas, jis automatizuoja visus tuos dalykus ... Labai rekomenduojama

    1.    KZKG ^ Gaara sakė

      haha aciu.
      Taip, iš tikrųjų SSH yra nuostabu dėl to, ką jis mums leidžia, o tai iš tikrųjų yra ne kas kita, o tai, ką sistema leidžia taip ... valio „Linux“! ... haha.

  10.   nwt_lazaro sakė

    Sveiki, klausimas!
    kodėl pakeisti namus iš (1) / opt / jail /./ home / kira į (2) / home / kira

    Turime redaguoti narvo failą etc / passwd, tai yra, šiuo atveju tai būtų / opt / jail / etc / passwd, jame komentuojame sukurtą vartotojo eilutę ir įtraukiame naują, pvz .:

    kira: x: 1003: 1003 :: / home / kira: / bin / bash

    Kitaip tariant, „passwd“ failas atrodys taip:

    root: x: 0: 0: root: / root: / bin / bash
    (1) #kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
    (2) kira: x: 1003: 1003 :: / home / kira: / bin / bash

    1.    KZKG ^ Gaara sakė

      Sveiki 🙂
      Jei tai nenustatyta, SSH prieiga neveikia, vartotojas bando prisijungti, bet automatiškai pašalinamas ... atrodo, kad tai yra „JailKit“ pateikiamo vertėjo klaida ar problema, nes atlikdamas šį pakeitimą liepia naudoti normalus sistemos bash, viskas veikia.

      1.    Omaras Ramirezas sakė

        Aš vis dar uždarau ssh sesiją: C
        „Suse“ 10.1 x64

  11.   Aleksitu sakė

    Sveiki, aš tai įdiegiau ir tai puikiai veikia mintimis centais = D

    bet mano „Dua“ yra kaip ir anksčiau, kad pridėčiau daugiau komandų, pavyzdžiui, kalėjimo vartotojui
    negali paleisti svn co komandos http://pagina.com/carpeta

    Aš turiu omenyje, kad tokia komanda kalėjimo vartotojams neegzistuoja šiuo atveju, kaip ir anksčiau, kad būtų galima pridėti šias komandas prie kalėjimo, ir man reikia daug daugiau.

    1.    KZKG ^ Gaara sakė

      Labas, kaip tau sekasi?
      Jei kalėjime norite įgalinti komandą «svn», turite komandą jk_cp
      Tai yra:
      jk_cp / opt / jail / / bin / svn

      Darant prielaidą, kad svn dvejetainis arba vykdomasis failas yra: / bin / svn
      Tegu narvas / kalėjimas būna: / opt / jail /

      Rasite komandas, kurios priklauso nuo kitų, todėl pridėję komandą «pepe» pamatysite, kad turite pridėti ir «federico», nes «pepe» priklauso nuo vykdomos «federico», jei tai rasite, pridėkite būtinos komandos jau 😉

      1.    Aleksitu sakė

        Puiku, tuo pačiu metu testuoju ir sakau, kas nutiko, labai ačiū = D

        1.    KZKG ^ Gaara sakė

          Sėkmė 😀

  12.   Aleksitu sakė

    Man pavyko padaryti tai, ką tu man liepei, bet tokiu būdu ir automatiškai jis aptiko mane be jokių problemų. Tai buvo komanda, kurią aš galėjau naudoti subversion.

    jk_cp -j / home / jaul svn

    Na, aš naudoju centos xP ir galbūt jis yra kitoks, bet geras
    dabar norėčiau sužinoti, kurios yra tokios bibliotekos kaip svn, bet dabar norėčiau sudaryti, nes tarkime, kad man reikia naudoti tokią komandą

    ./konfigūruoti ir pažymėti klaidą

    ./configure.lineno: eilutė 434: expr: komanda nerasta

    Aš nežinočiau, kurios yra bibliotekos, kurias jau įdiegiau, kas yra „mysql“ ir kitos, jei jis sudaromas už kalėjimo ribų, bet ne jaui viduje.

    atsiprašau už nepatogumus.

    ps: turėtumėte į vadovą įtraukti tai, ką jums pasakiau apie komandą, naudojamą centuose =) sveikinimuose.

    1.    KZKG ^ Gaara sakė

      Pažvelk, kai sakau, kad jis negali rasti komandos (kaip čia), pirmiausia reikia rasti komandą:

      whereis expr

      Suradę (/ usr / bin / expr ir / usr / bin / X11 / expr), mes nukopijuojame jį į kalėjimą su jk_cp 😉
      Pabandykite tai pamatyti.

      Taip, aš jau redaguoju įrašą ir priduriu, kad jis veikia „Centos“ 😀

  13.   adiazc87 sakė

    Labai ačiū jums labai (:

  14.   Jėzus sakė

    Dėkojame už indėlį ...

  15.   karma sakė

    Labas kaip sekasi?

  16.   djfenixchile sakė

    Fuck dude! Iš Čilės mano sveikinimai. Tu esi toks pat beprotis kaip aš! DAUG JUOKO!. Apsikabinimai. Jūsų pranešimas man labai padėjo!

    1.    KZKG ^ Gaara sakė

      Ačiū už jūsų komentarą 😀

  17.   Daniel PZ sakė

    Labai ačiū už įrašą, jis man labai padėjo, bet, deja,

    //////////////////////////////////////////////////// // ////////////////////////////////////////////////// //// //////////////////////
    Turime redaguoti narvo failą etc / passwd, tai yra, šiuo atveju tai būtų / opt / jail / etc / passwd, jame komentuojame sukurtą vartotojo eilutę ir įtraukiame naują, pvz .:

    kira: x: 1003: 1003 :: / home / kira: / bin / bash

    Kitaip tariant, „passwd“ failas atrodys taip:

    root: x: 0: 0: root: / root: / bin / bash
    #kira: x: 1003: 1003: ,,,: / opt / kalėjimas /./ home / kira: / usr / sbin / jk_lsh
    kira: x: 1003: 1003 :: / home / kira: / bin / bash
    //////////////////////////////////////////////////// // ////////////////////////////////////////////

    Tai sukelia tą pačią klaidą, turiu omenyje, kad palieku ją tokią, kokia yra, ir prisijungdama mane paleidžia iš terminalo ,,, .., pakomentuoju eilutę ir dar vieną ją modifikuoju, kaip jūs nurodote, taip pat batai mane ....

    Įdiekite naujausią „jailkit-2.16.tar“ versiją, net sutaupydami laiko sukurkite scenarijų, čia yra žemiau:

    //////////////////////////////////////////////////// // ////////////////////////////////////////////////
    #! / bin / bash
    wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
    degutas -zxvf jailkit-2.16.tar.gz
    cd jailkit-2.16
    . / Configure
    padaryti
    make install
    išeiti
    //////////////////////////////////////////////////// //// /////////////////////////////

    Akivaizdu, kad pirmiausia jie prisijungia kaip „root“ ...

    Kaip galėčiau išspręsti klaidos draugą ????

    1.    Daniel PZ sakė

      Atsiprašau, aš jį jau gavau, padariau klaidą dėl „Home“ aplanko, bet labai abejoju, kaip man tai leisti leisti vykdyti komandą „ekranas“, bandau ja naudotis (narvelyje esančiame vartotojui) , bet neveikia ... Kitas dalykas yra tai, kaip aš priversiu šį narvą turintį vartotoją vykdyti vyno programą exe, kurią jis ką tik įdėjo į savo namus, kaip būtų?

  18.   leonelis sakė

    labas, labai geras tuto! Šioje aplinkoje aš esu naujas, man kyla klausimas ...
    Kalbant apie saugumą, matau, kad šaknyje yra daug aplankų, ar jie reikalingi? Aš tik noriu, kad jis turėtų prieigą prie savo aplanko („ftp-upload“ ir „ssh-execute“), kad paleistų programą. Kokius aplankus jis galėtų ištrinti iš šaknies? ar tai man kelia pavojų? Iš anksto vertinu jūsų pagalbą, sveikinimai!

  19.   KubaRaudona sakė

    @ KZKG ^ Gaara, ačiū Dievui, kad įdėjai švokštimo klaidą, bet naudodamas jailkit-2.16.tar.gz versiją, kurią pasiūlei jiems ištaisyti

    http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz

  20.   Algabė sakė

    Manau, kad perduosiu jį PDF, jojo .. narvui ir ačiū wn 😀

  21.   Samuelis sakė

    Sveikinimai drauge, turiu klausimą:

    Tarkime, kad turime vartotoją pavadinimu „testas“.

    Kyla klausimas, ar failas /home/test/.ssh/known_hosts, kuris yra to vartotojo namuose, yra tas pats failas, ar jis nėra narve?

  22.   Ričartas sakė

    Išbandyti šį. Taikant šį metodą galima apriboti naršymą kituose vartotojų namuose.

  23.   TZBKR sakė

    Visų pirma, ačiū už įrašą! Tai man labai naudinga; bet man kyla dvi abejonės, kurios kyla iš mano turimo scenarijaus:

    Man reikia sukurti N vartotojus, turintiems nepriklausomą ir privačią prieigą prie savo namų, kiekvienas vartotojas gali patekti į savo namus tik norėdamas deponuoti, modifikuoti ir ištrinti ten esančius failus, neprivalėdamas pereiti prie kitų (aš jau turiu šį punktą). Tam nereikia prieigos per ssh.

    1. Ar turite sukurti narvą kiekvienam vartotojui, ar yra būdas, kad skirtingi vartotojai būtų viename narve, bet kiekvienas turi savo „privatų“ katalogą?

    2. Kai pasiekiate (per FTP klientą), rodomi visi įrankio sukurti katalogai, ar yra būdas parodyti aplanką švariu būdu? Arba kelyje padariau kažką ne taip?

  24.   eduardlh sakė

    Puiki pamoka! Tai man labai padėjo, testuoju jį su 2.17 versija „Ubuntu 14.04“ ir jis veikia labai gerai. Dabar turiu tokį iššūkį, kai vartotojas yra uždarytas į aplinką, kad jis negalėtų pereiti į jokį kelią, noriu, kad jis matytų tik kitame kelyje esančio failo turinį. Aš bandžiau su simboline nuoroda, bet bandydamas padaryti uodegą ar katę prie šio failo, jis man sako, kad jos nėra, nors prisijungdamas prie vartotojo galiu išvardyti tą failą narvo namuose.

    Jei galėtumėte man padėti, būčiau labai dėkingas, ačiū iš anksto

  25.   amžiaus sakė

    Sveiki, aš laikiausi viso vadovo ir prisijungdamas naudodamas ssh jis automatiškai užsidaro, atseka:

    Gruodžio 4 d. 19:20:09, pateikė sshd [27701]: Priimtas slaptažodis, skirtas bandymui iš 172.16.60.22 prievado 62009 ssh2
    Gruodžio 4 d. 19:20:09 sshd [27701]: pam_unix (sshd: session): sesija atidaryta naudotojo bandymui iki (uid = 0)
    Gruodžio 4 d. 19:20:09 jk_chrootsh [27864]: dabar su argumentais įvedamas kalėjimas / opt / kalėjimas vartotojo testui (1004)
    Gruodžio 4 d. 19:20:09 sshd [27701]: pam_unix (sshd: session): sesija uždaryta vartotojo bandymui

    Ačiū

  26.   Omaras Ramirezas sakė

    Ne tada, kai padarau paskutinį ssh prieigos suteikimo vartotojui žingsnį, jis vis tiek uždaro ryšį 🙁

  27.   Benj sakė

    Ar galima iš šio sukurto vartotojo pakeisti į root? tavo šaknis? tai man neleidžia. Kaip būtų? Ačiū už pagalbą

  28.   Slevin sakė

    Labai ačiū už pamoką, man jos reikėjo norint sukurti vartotoją, kuris galėtų naudoti klonezilą, kad padarytų vaizdą ir nukopijuotų jį į trečiosios šalies serverį, bet kuris negalėjo spietti kur tik norėjo

  29.   Mauro sakė

    Gerai! Man reiktų ką nors žinoti.

    Ar galima įvesti kaip ROOT naudojant FTP ir turint šiuos leidimus, valdyti jį naudojant FTP, o ne naudojant SSH? Tarkime, kaip sukurti ryšį, tunelio stilių ar pan. Kaip tai daroma? Konfigūruojate VSFTPD failą?

    Labai ačiū!