Kā ieslodzīt lietotājus, kas savieno, izmantojot SSH

Mūsu pasaulē ir daudz, daudz noslēpumu ... Es, godīgi sakot, nedomāju, ka varētu mācīties pietiekami, lai zinātu lielāko daļu no tiem, un to dod vienkāršais fakts, ka Linux ļauj mums izdarīt tik daudz, bet tik daudz lietu, ka mums ir grūti tās visas zināt.

Šoreiz es jums paskaidrošu, kā izdarīt kaut ko ārkārtīgi noderīgu, kas jādara daudziem tīkla vai sistēmas administratoriem, un ir bijis grūti vienkārši neatrast diezgan vienkāršu veidu, kā to sasniegt:

Kā ievietot būrī lietotājus, kas savieno, izmantojot SSH

būris? ... WTF!

Jā. Ja kāda iemesla dēļ mums ir jāpiešķir SSH piekļuve mūsu draugam mūsu datoram (vai serverim), mums vienmēr ir jārūpējas par sava datora vai servera drošību un stabilitāti.

Gadās, ka nesen mēs vēlējāmies piešķirt Perseus SSH piekļuvi savam serverim, taču mēs nevaram viņam piešķirt nekāda veida piekļuvi, jo mums tur ir patiešām jutīgas konfigurācijas (mēs esam apkopojuši daudzas lietas, pakotnes, kuras esam instalējuši atsevišķi utt. ...) Neatkarīgi no tā, vai es mēģinu veikt kaut mazākās izmaiņas serverī, pastāv iespēja, ka viss aizies uz atkritumiem hehe.

Tad, Kā izveidot lietotāju ar ārkārtīgi ierobežotām privilēģijām tik ļoti, ka viņš pat nevar izkļūt no sava būra (mājas)?

Sāksim ar lejupielādi cietuma komplekts, rīks, kas mums ļaus to izdarīt:

Visas šīs komandas tiek palaistas kā root

1. Vispirms mums ir jālejupielādē mūsu JailKit serveris.

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

2. Tad mums jāizsaiņo pakete un jāievada tikko parādītā mape:

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

3. Vēlāk mēs turpinājām apkopot un instalēt programmatūru (Es atstāju jums ekrānuzņēmumu):

./configure
make
make install

. / Konfigurēt

padarīt

padarīt instalēt

4. Gatavs, tas jau ir instalēts. Tagad mēs turpinām izveidot būru, kurā būs nākamie lietotāji, manā gadījumā es to izveidoju: / opt / un nosaucu to par "cietumu", tāpēc ceļš būtu šāds: / opt / cietums :

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

5. Būris jau ir izveidots, taču tam nav visu nepieciešamo rīku, lai nākamie lietotāji, kas tur atradīsies, varētu strādāt bez problēmām. Es domāju, līdz šim būris ir izveidots, bet tas ir tikai tukša kaste. Tagad mēs ievietosim būrī dažus rīkus, kas būs nepieciešami būrī ievietotajiem lietotājiem:

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. Gatavs, būris pastāv, un tam jau ir rīki, ko lietotājs var izmantot ... tagad mums vienkārši vajag ... lietotāju! Izveidosim lietotāju Kira un mēs to ievietosim būrī:

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

Piezīme. Izpildiet šādu komandu terminālā, un tam vajadzētu būt līdzīgam rezultātam, kā parādīts ekrānuzņēmumā:

cat /etc/passwd | grep jk_chroot

Ja pamanāt, ka nekas līdzīgs ekrānuzņēmumam neparādās, jums ir jābūt kaut ko nepareizam. Atstājiet komentāru šeit, un es ar prieku jums palīdzēs.

7. Un voila, lietotājs jau ir ievietots sprostā ... bet, viņš ir TIK būrī, ka nevar izveidot savienojumu ar SSH, jo, mēģinot izveidot savienojumu ar serveri, tas viņam neļauj:

8. Lai ļautu lietotājam izveidot savienojumu, mums ir jādara vēl viens solis.

Mums ir jārediģē būrī etc / passwd fails, tas ir, šajā gadījumā tas tā būtu / opt / jail / etc / passwd , tajā mēs komentējam izveidoto lietotāja līniju un pievienojam jaunu, piemēram:

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

Tas ir, mums būtu šāds fails passwd:

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

Labi ievērojiet pieturzīmju dublikātus un citus, ir svarīgi nevienu no tiem nemest

Pēc tam lietotājs var iekļūt bez problēmām 😀

Un tas arī viss.

Rīks, ko mēs šim nolūkam izmantojam (cietuma komplekts) izmantošana aizmugurē chroot, kas faktiski tiek izmantots gandrīz visās apmācībās. Tomēr, izmantojot JailKit, ir vienkāršāk ievietot būrī 😉

Svarīgi!: Tas ir pārbaudīts Debian Squeeze (6) y CentOS un tas nostrādāja pie 100%, pārbaudīts Debian Wheezy (7), un tas arī ir darbojies, kaut arī ar nelielu detaļu, ka lietotāja segvārds netiek parādīts ssh, taču tas nezaudē nekādu funkcionalitāti.

Ja kādam ir problēmas vai kaut kas nav labi, atstājiet pēc iespējas vairāk detaļu, es neuzskatu sevi par ekspertu, bet es jums palīdzēšu pēc iespējas vairāk.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   v3on teica

    Tātad tas būtu kaut kas līdzīgs FTP atļaujām? interesanti

    jūs vienmēr izdomājat visu, par kura pastāvēšanu jūs pat nezināt, piemēram, mysql xD lietotāji

    1.    KZKG ^ Gaara teica

      Ne gluži, jo SSH nav tas pats, kas FTP. SSH ir čaula, tas ir, terminālis ... jūs atrastos cita datora vai servera terminālā, jūs varētu izpildīt komandas, sākt procesus utt ... jūs darītu tik daudz, cik jums atļauj servera administrators 😉

      hahahahaha nah nāk, notiek tas, ka es publicēju tehniskākas lietas ... tas ir, man patīk publicēt sīkumus, kas nav tik populāri un interesanti. Piemēram, es personīgi neplānoju kaut ko publicēt dienā, kad iznāks jaunais Ubuntu, jo es uzskatu, ka daudzi par to jau runās ... tomēr tas, ko jūs lasījāt šeit ierakstā, vai tas nav kaut kas, kas tiek lasīts katru reizi diena vai nē? 😀

      1.    Damians Rivera teica

        Ļoti labs ieguldījums paldies

        ir arī protokols sftp, kas ir ftp un Secure Shell kopā, lai gan tas nav tas pats, kas FTP palaist SSH: \

        Sveicieni

        1.    KZKG ^ Gaara teica

          Jā, jā, tiešām, bet, ievietojot būrī SSH, es automātiski ievietoju būrī to, kurš savieno, izmantojot SFTP, jo, kā jūs sakāt, SFTP faktiski ir SSH + FTP 😀

          Sveicieni

  2.   Giskards teica

    Attēlus nevar redzēt !!! 🙁

    1.    KZKG ^ Gaara teica

      Neliela mana kļūda hehe, pasaki man tagad 😀

      1.    Giskards teica

        Gatavs. Paldies 😀

  3.   87 teica

    ļoti labi, es to norādu uz saviem favorītiem, lai tas būtu pieejams, kad man to vajag lol

    1.    KZKG ^ Gaara teica

      Paldies, kādi jautājumi vai problēmas, mēs esam šeit, lai jums palīdzētu 🙂

  4.   Manuels de la Fuente teica

    Viņiem būrī ir Persejs. http://i.imgur.com/YjVv9.png

    1.    pienācīgs teica

      LOL
      xD

  5.   jorgemanjarrezlerma teica

    Kā tev iet.

    Jūs zināt, tā ir tēma, kas man nav ļoti pazīstama un kuru es biju pārbaudījis BSD (PC-BSD un Ghost BSD), un es uzskatu, ka tā ir ļoti interesanta un ar funkcionalitāti, kas var būt ļoti noderīga.

    Es to paturēšu atsaucei un pārbaudīšu to, salīdzinot ar BSD dokumentu. Paldies par informāciju.

    1.    KZKG ^ Gaara teica

      Man arī tas nebija pazīstams, jo es nekad nedomāju kādam piešķirt SSH piekļuvi kādam no saviem serveriem haha, bet, kad es atklāju nepieciešamību to darīt, es gribēju piešķirt piekļuvi, bet bez iespējas, ka kāds varētu kļūdīties kaut ko darīt tam nevajadzēja būt 😀

      Es nekad to neesmu izmēģinājis BSD sistēmās, tāpēc es nevaru pateikt, ka tas darbosies, bet, ja jūs meklējat, kā izmantot BSD, kaut kam vajadzētu iznākt 😉

      Paldies par komentāru draugu 🙂

      1.    Damians Rivera teica

        Sveiki, es izmantoju FreeBSD, un, protams, jailkit faktiski darbojas ostās

        Jūs to instalējat ar šo komandu

        cd / usr / ports / shells / jailkit / && padara instalēšanu tīru

        Vai ar ftp paketi

        pkg_add -r jailkit

        Tikai konfigurācijā (kira: x: 1003: 1003 :: / home / kira: / bin / bash)

        Jums jāpievieno tcsh vai sh, ja vien neesat instalējis bash un nepievieno šo ceļu

        / usr / local / bin / bash

        Un vēl dažas detaļas. Ghost BSD līdzīgam procesam jābūt vēl vienkāršākam, jo ​​tas ir balstīts uz FreeBSD

        Sveicieni

  6.   adiazc87 teica

    Lieliski, es to meklēju; zini vai tas darbojas Centos ?? Paldies.

    1.    KZKG ^ Gaara teica

      Es to neesmu testējis Centos, bet jā, tam vajadzētu darboties :)
      Patiesībā es domāju, ka atceros, ka vairāki ir izmantojuši šo pašu rīku Centos un Red Hat serveros 😉

  7.   kiberalejo17 teica

    Liels paldies. Tas iet tieši uz grāmatzīmēm.

    1.    KZKG ^ Gaara teica

      Paldies jums par komentāriem 🙂

  8.   MV Altamirano teica

    Ļoti labs "triks", super noderīgs sys administratoriem. Bet vēl labāk, izcili labi uzrakstīts. Ko vairāk jūs varētu vēlēties.
    Liels paldies par ieguldījumu.

    1.    KZKG ^ Gaara teica

      Paldies, liels paldies par komentāru 😀
      Sveicieni

  9.   LiGNUxer teica

    Slavēt SSH haha
    Reiz es mēģināju izveidot būru ssh, bet tradicionālā stilā, un patiesība ir tāda, ka tas nekad neiznāca pareizi. Ja būris darbojās, tam pat nebija bash, tas ir, tas savienojās un nekas cits neatlika haha, ja čaula darbojās, tā varēja iet uz augšu direktoriju hierarhijā un daudz vairāk quilombos haha, bet šis jailkits ir vāle, tas automatizē visas šīs lietas ... Ļoti ieteicams

    1.    KZKG ^ Gaara teica

      haha paldies.
      Jā, patiesībā SSH ir brīnišķīgs par to, ko tas mums ļauj, kas patiesībā nav nekas vairāk kā tas, ko sistēma tā atļauj ... urrā Linux! ... haha.

  10.   nwt_lazaro teica

    Labdien, jautājums!
    kāpēc mainīt māju no (1) / opt / jail /./ home / kira uz (2) / home / kira

    Mums ir jārediģē būra fails etc / passwd, tas ir, šajā gadījumā tas būtu / opt / jail / etc / passwd, tajā mēs komentējam izveidoto lietotāja līniju un pievienojam jaunu, piemēram:

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

    Citiem vārdiem sakot, passwd fails izskatīsies šādi:

    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 teica

      Labdien 🙂
      Ja tas nav iestatīts, SSH piekļuve nedarbojas, lietotājs mēģina izveidot savienojumu, bet tiek automātiski izraidīts ... šķiet, ka tā ir kļūda vai problēma ar tulku, ko JailKit nes, jo, veicot šīs izmaiņas, liekot lietot parastā bash sistēma, viss darbojas.

      1.    Omārs Ramiress teica

        Es joprojām aizveru ssh sesiju: ​​C
        Izmantojiet 10.1 x64

  11.   Aleksitu teica

    Sveiki, es to esmu instalējis, un tas centos = D darbojas ļoti labi

    bet mans dua ir kā pirms tam, lai pievienotu vairāk komandu, piemēram, cietuma lietotājam
    nevar palaist svn co komandu http://pagina.com/carpeta

    Es domāju, ka šī komanda cietuma lietotājiem nepastāv šajā gadījumā, piemēram, pirms tam, lai pievienotu šīs komandas cietumam, un man ir vēl daudz, kas man jāpievieno.

    1.    KZKG ^ Gaara teica

      Sveiks kā tev iet?
      Ja cietumā vēlaties iespējot komandu «svn», jums ir komanda jk_cp
      Tas ir:
      jk_cp / opt / jail / / bin / svn

      Pieņemot, ka svn binārā vai izpildāmā versija ir: / bin / svn
      Lai būris / cietums būtu: / opt / jail /

      Jūs atradīsit komandas, kas ir atkarīgas no citiem, tas ir, pievienojot komandu «pepe», redzēsit, ka jums jāpievieno arī «federico», jo «pepe» ir atkarīgs no izpildāmā «federico».

      1.    Aleksitu teica

        Tas ir lieliski, es to šobrīd testēju un saku, ka tas notika, liels paldies = D

        1.    KZKG ^ Gaara teica

          Veiksme 😀

  12.   Aleksitu teica

    Man ir izdevies paveikt to, ko jūs man teicāt, taču šādā veidā un automātiski tas mani ir atklājis bez problēmām. Šī bija komanda, kuru es mēdzu izmantot apakškopā.

    jk_cp -j / home / jaul svn

    nu es izmantoju centos xP un varbūt tas ir savādāk, bet labi
    tagad es gribētu uzzināt, kuras ir tādas bibliotēkas kā svn, bet tagad es gribētu apkopot, jo pieņemsim, ka man jāizmanto šāda komanda

    ./konfigurēt un atzīmēt kļūdu

    ./configure.lineno: 434. rindiņa: komanda nav atrasta

    Es nezinātu, kuras ir tās bibliotēkas, kuras jau esmu instalējis, kas ir mysql un citas, ja tas tiek apkopots ārpus cietuma, bet ne jaui iekšpusē.

    Atvainojamies par sagādātajām neērtībām.

    ps: jums vajadzētu ievietot rokasgrāmatā to, ko es jums teicu par komandu, kas izmantota centos =) apsveikumos.

    1.    KZKG ^ Gaara teica

      Lūk, kad es jums saku, ka tā nevar atrast komandu (piemēram, šeit), vispirms jāatrod komanda:

      whereis expr

      Kad tas ir atrasts (/ usr / bin / expr un / usr / bin / X11 / expr), mēs to kopējam cietumā ar jk_cp 😉
      Izmēģiniet to, lai redzētu.

      Jā, es jau rediģēju ziņu un piebildu, ka tas darbojas Centos 😀

  13.   adiazc87 teica

    Liels liels paldies (:

  14.   Jēzus teica

    Paldies par ieguldījumu ...

  15.   karma teica

    Sveiks, kā tev iet?

  16.   djfenixchile teica

    Jāšanās, puisīt! No Čīles mani sveicieni. Tu esi tikpat fart kā es! LOL !. Apskāvieni. Jūsu ziņa man ir bijusi liela palīdzība!

    1.    KZKG ^ Gaara teica

      Paldies par komentāru 😀

  17.   Daniels PZ teica

    Liels paldies par ierakstu, tas man ļoti palīdzēja, bet diemžēl

    ////////////////////////////////////////////////////// // ////////////////////////////////////////////////// //// //////////////////////
    Mums ir jārediģē būra fails etc / passwd, tas ir, šajā gadījumā tas būtu / opt / jail / etc / passwd, tajā mēs komentējam izveidoto lietotāja līniju un pievienojam jaunu, piemēram:

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

    Citiem vārdiem sakot, passwd fails izskatīsies šādi:

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

    Tas man rada to pašu kļūdu, es domāju, ka es to atstāju tādu, kāds tas ir, un tas mani ieslēdz no termināla, pieslēdzoties ,,, .., es komentēju līniju un pievienoju vēl vienu, modificējot to, kā jūs norādāt, un tas arī zābaki mani ...

    Instalējiet jaunāko versiju "jailkit-2.16.tar", lai ietaupītu laiku, izveidojiet pat skriptu, šeit ir zemāk:

    ////////////////////////////////////////////////////// // //////////////////////////////////////////////////
    #! / bin / bash
    wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
    darva -zxvf jailkit-2.16.tar.gz
    cd jailkit-2.16
    . / Konfigurēt
    padarīt
    padarīt instalēt
    izeja
    ////////////////////////////////////////////////////// // /////////////////////////////

    Acīmredzot vispirms viņi piesakās kā "root" ...

    Kā es varētu atrisināt kļūdas draugu ????

    1.    Daniels PZ teica

      Atvainojiet, es to jau saņēmu, biju kļūdījies attiecībā uz mapi Sākums, bet man ir lielas šaubas, kā es varu panākt, lai tas man ļautu izpildīt komandu "ekrāns", es mēģinu to izmantot (ievietotajā sprostā) , bet tas nedarbojas ... Cita lieta ir tā, kā es varu panākt, lai šis sprostā esošais lietotājs vīndara programmu palaistu exe, kuru viņš tikko ievietoja savās mājās, kā tas būtu?

  18.   Leonel teica

    labdien, ļoti labs tuto! Es esmu jauns šajās vidēs, man ir jautājums ...
    Kas attiecas uz drošību, es redzu, ka saknē tam ir daudz mapju, vai tās ir vajadzīgas? Es tikai vēlos, lai viņam būtu piekļuve savai mapei (ftp-upload un ssh-execute), lai palaistu lietojumprogrammu. Kādas mapes viņš varēja izdzēst no saknes? vai tas man nerada briesmas? Es jau iepriekš novērtēju jūsu palīdzību, sveicieni!

  19.   KubaRed teica

    @ KZKG ^ Gaara, paldies dievam, jūs ievietojāt sēkšanas kļūdu, bet ar jailkit-2.16.tar.gz versiju, kuru jūs ieteicāt, ka viņi to izlaboja

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

  20.   Aļģes teica

    Es domāju, ka es to nodošu PDF failam, jojo .. būrim un paldies wn 😀

  21.   Samuel teica

    Sveiciens draugs, man ir jautājums:

    Pieņemsim, ka mums ir lietotājs ar nosaukumu "tests".

    Jautājums ir tāds, ka fails /home/test/.ssh/known_hosts, kas atrodas šī lietotāja mājās, vai tas ir tas pats fails, vai lietotājs nav ievietots sprostā?

  22.   Ričarts teica

    Izmēģiniet to. Ar šo metodi ir iespējams ierobežot navigāciju uz citu lietotāju mājām.

  23.   TZBKR teica

    Pirmkārt, paldies par ierakstu! Tas man ir ļoti noderīgi; bet man ir divas šaubas, un tās izriet no manis scenārija:

    Man ir jāizveido N lietotāji ar neatkarīgu un privātu piekļuvi savai mājai, katrs lietotājs var piekļūt savai mājai tikai, lai noguldītu, modificētu un izdzēstu tur esošos failus, nepārvietojoties pie citiem (man šis punkts jau ir). Tam nav nepieciešama piekļuve, izmantojot ssh.

    1. Vai katram lietotājam ir jāizveido būris, vai arī ir veids, kā dažādus lietotājus ievietot vienā būrī, bet katram ir savs "privātais" katalogs?

    2. Vai, piekļūstot (izmantojot FTP klientu), tiek parādīti visi direktorija izveidotie direktoriji, vai ir veids, kā parādīt mapi tīru? Vai arī es pa ceļam izdarīju kaut ko nepareizi?

  24.   eduardlh teica

    Izcila apmācība! Tas man ir bijis liels palīgs, es to testēju ar versiju 2.17 Ubuntu 14.04, un tas darbojas ļoti labi. Tagad man ir šāds izaicinājums. Kad lietotājs ir ievietots sprostā, lai viņš nevarētu pāriet uz jebkuru ceļu, es vēlos, lai viņš varētu redzēt tikai faila saturu, kas atrodas citā ceļā. Es mēģināju ar simbolisku saiti, bet, mēģinot izveidot asti vai kaķi šim failam, tas man saka, ka tas nepastāv, lai gan, piekļūstot lietotājam, es varu uzskaitīt šo failu būra mājās.

    Ja jūs varētu man palīdzēt, es būtu ļoti pateicīgs, paldies jau iepriekš

  25.   yas teica

    Sveiki, es esmu ievērojis visu rokasgrāmatu, un, piesakoties ar ssh, tas automātiski aizveras, izseko:

    4. decembris 19:20:09 sshd [27701]: Akceptēta parole testēšanai no 172.16.60.22 porta 62009 ssh2
    4. decembris 19:20:09 sshd [27701]: pam_unix (sshd: session): sesija atvērta lietotāja testam līdz (uid = 0)
    4. decembris 19:20:09 to jk_chrootsh [27864]: tagad ievadot cietumu / opt / cietumu lietotāja testam (1004) ar argumentiem
    4. decembris 19:20:09 sshd [27701]: pam_unix (sshd: session): sesija slēgta lietotāja testam

    Gracias

  26.   Omārs Ramiress teica

    Ne tad, kad veicu pēdējo ssh piekļuves piešķiršanu lietotājam, tas joprojām aizver savienojumu 🙁

  27.   Benj teica

    Vai no šī izveidotā lietotāja var mainīt root? tavs-sakne? tas man neļauj. Kā tas būtu? Paldies par palīdzību

  28.   Slevin teica

    Liels paldies par apmācību, man tā bija nepieciešama, lai izveidotu lietotāju, kurš varētu izmantot klonezilu, lai izveidotu attēlu un kopētu to uz trešās puses serveri, bet kurš nevarēja tecēt, kur vien vēlas

  29.   mauro teica

    Labi! Man būtu kaut kas jāzina.

    Vai ir iespējams ievadīt kā ROOT, izmantojot FTP un kam ir šīs atļaujas, pārvaldīt to ar FTP, nevis ar SSH? Teiksim, piemēram, savienojuma izveide, tuneļa stils vai kaut kas tamlīdzīgs. Kā tas tiek darīts? Vai iestatāt VSFTPD failu?

    Liels tev paldies!