Uosto trankymas: geriausias saugumas, kurį galite turėti savo kompiuteryje ar serveryje (diegimas + konfigūracija)

Įspūdingi uostai (angliškai uosto beldimas), be abejo, yra praktika, kurią turėtume gerai žinoti visi mes, valdantys serverius, čia aš išsamiai paaiškinu, kas tai yra ir kaip tai įgyvendinti ir konfigūruoti 😉

Šiuo metu kai kurie iš mūsų, kurie valdome serverį, turi SSH prieigą prie to serverio keičiame numatytąjį SSH prievadą ir jis nebenaudoja 22 prievado, o kiti tiesiog palieka jį tokį (kažkas nerekomenduojama), tačiau serveris įgalino SSH prieigą per tam tikrą prievadą ir tai jau yra „pažeidžiamumas“.

su Uosto trankymas galime pasiekti:

1. SSH prieigos neįgalina joks prievadas. Jei SSH sukonfigūravome 9191 prievadą (pavyzdžiui), šis prievadas (9191) bus uždarytas visiems.
2. Jei kas nors nori prisijungti prie serverio naudodamasis SSH, akivaizdu, kad negalės, nes 9191 prievadas yra uždarytas ... bet, jei naudosime „stebuklingą“ ar slaptą derinį, tas prievadas bus atidarytas, pavyzdžiui:

1. Telnet į serverio 7000 prievadą
2. Aš dar vieną telnetą į serverio 8000 prievadą
3. Aš dar vieną telnetą į serverio 9000 prievadą
4. Serveris nustato, kad kažkas padarė slaptą derinį (palieskite 7000, 8000 ir 9000 prievadus tokia tvarka) ir atidarys 9191 prievadą, kad prisijungimo paprašytų SSH (jis atidarys jį tik tam IP, iš kurio buvo sukurtas derinys) patenkinama).
5. Dabar, norėdamas uždaryti SSH, aš tiesiog perkeliu į 3500 prievadą
6. Aš padarysiu kitą telnetą į 4500 prievadą
7. Ir galiausiai dar viena telnet į 5500 prievadą
8. Atlikus šį kitą slaptą serverio aptiktą derinį, vėl bus uždarytas 9191 prievadas.

Kitaip tariant, paaiškinti tai dar paprasčiau ...

su Uosto trankymas mūsų serveryje gali būti uždaryti tam tikri prievadai, bet kai serveris aptinka tai iš X IP buvo sukurtas teisingas prievado derinys (konfigūracija, anksčiau apibrėžta konfigūracijos faile) atliks tam tikrą komandą akivaizdžiai (komanda taip pat apibrėžta konfigūracijos faile).

Ar tai suprantama ne? 🙂

Kaip įdiegti „Port Knocking“ deemoną?

Aš tai darau su pakuote rizikuoti, kuris leis mums labai, labai paprastai ir greitai įdiegti ir sukonfigūruoti Uosto trankymas.

Įdiekite paketą: knockd

Kaip sukonfigūruoti „Port Knocking“ su „knockd“?

Įdiegę einame jį sukonfigūruoti, tam redaguojame (kaip šakninį) failą /etc/knockd.conf:

nano /etc/knockd.conf

Kaip matote tame faile, jau yra numatytoji konfigūracija:

 Numatytųjų nustatymų paaiškinimas yra tikrai paprastas.

- Pirmas, „UseSyslog“ reiškia, kad įrašysime veiklą (žurnalą), kurią naudosime / var / log / syslog.
- Antra, skyriuje [openSSH] Akivaizdu, kad eis instrukcijos atidaryti SSH, pirmiausia mes turime prievadų seką (slaptą derinį), kuri yra sukonfigūruota pagal numatytuosius nustatymus (prievadas 7000, prievadas 8000 ir galiausiai 9000 prievadas). Akivaizdu, kad uostus galima pakeisti (iš tikrųjų aš rekomenduoju), taip pat jie neturi būti 3, jie gali būti daugiau ar mažiau, tai priklauso nuo jūsų.
- Trečias, seq_timeout = 5 reiškia laiką laukti, kol vyks slaptas uosto derinys. Pagal numatytuosius nustatymus jis nustatytas į 5 sekundes, tai reiškia, kad kai mes pradėsime baksnoti uostą (tai yra, kai mes telnet į 7000 prievadą), mes turime ne daugiau kaip 5 sekundes, kad užbaigtume teisingą seką, jei praeina 5 sekundės ir mes nebaigėme uosto beldimo, tada bus tiesiog taip, lyg seka būtų neteisinga.
- Ketvirta, komanda to nereikia daug paaiškinti. Tai tiesiog bus komanda, kurią serveris vykdys aptikęs aukščiau apibrėžtą derinį. Komanda, kuri pagal numatytuosius nustatymus yra tai, ką ji daro, yra atviras 22 prievadas (pakeiskite šį prievadą savo SSH) tik į IP, kuris padarė teisingą uostų derinį.
- Penkta, tcpflags = sin Šioje eilutėje nurodome paketų tipus, kuriuos serveris atpažins kaip galiojančius beldimo prievadui.

Tada yra skyrius, skirtas SSH uždaryti, kad numatytoji konfigūracija yra ne kas kita, kaip ta pati uostų seka aukščiau, bet priešinga tvarka.

Čia yra konfigūracija su kai kuriomis modifikacijomis:

 Kaip pradėti „knockd“ demoną?

Norėdami jį paleisti, pirmiausia turime pakeisti (kaip šakninį) failą / etc / default / knockd:

nano /etc/default/knockd

Ten pakeičiame eilutę 12, kurioje sakoma: «START_KNOCKD = 0»Ir pakeiskite tą 0 į 1, mes turėtume:«START_KNOCKD = 1«

Kai tai bus padaryta dabar, mes paprasčiausiai pradėsime:

service knockd start

O voila, jis sukonfigūruotas ir veikia.

Uosto trankymas pasibeldus ir paleistas!

Kaip matote ankstesnėje konfigūracijoje, jei bus atliktas prievado paspaudimas prie 1000 prievado, tada iki 2000 ir galiausiai iki 3000, tada bus atidarytas 2222 prievadas (mano SSH), čia yra kitas kompiuteris, vykdantis uosto kopimą:

Kai paspausiu [Enter] ant „Knock No.1“, „No.2“ ir galiausiai „No.3“, bus atidarytas prievadas, čia yra žurnalas:

Kaip matote, kai beldžiant 1000 prievadą buvo užregistruotas 1 etapas, 2000 m. Jis bus 2 etapas ir galiausiai 3 su 3000, kai tai daroma, komanda, kurią paskelbiau .conf, yra vykdoma ir viskas.

Tada uždaryti uostą tereikės trankyti 9000, 8000 ir galiausiai 7000, čia yra žurnalas:

Na ir čia vartojimo paaiškinimas baigiasi 😀

Kaip matote, „Port Knocking“ yra tikrai įdomus ir naudingas, nes nors mes nenorime paprasčiausiai atidaryti uosto po tam tikro uostų derinio, komanda ar įsakymas, kurį serveris vykdys, gali skirtis, t. Y. Vietoj to atidarę uostą galime paskelbti, kad užmušime procesą, sustabdysime tokią paslaugą kaip apache ar mysql ir pan. ... riba yra jūsų vaizduotė.

Uosto trankymas veikia tik tada, kai turite fizinį serverį arba kai virtualus serveris yra KVM technologija. Jei jūsų VPS (virtualus serveris) yra „OpenVZ“, tada „Port Knocking“ nemanau, kad tai jums tinka, nes negalite tiesiogiai manipuliuoti „iptables“

Na ir kol kas straipsnis ... Aš kol kas nesu ekspertas šiuo klausimu, bet norėjau pasidalinti su jumis šiuo labai įdomiu procesu.

Sveikinimai 😀


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.   erunamoJAZZ sakė

    Puikus straipsnis, gana įdomus ir aš nežinojau, kad jis egzistuoja ... būtų puiku, jei ir toliau išleistumėte straipsnius naujokų sistemoms ir kitiems dalykams

    Linkėjimai ir padėkos ^ _ ^

    1.    KZKG ^ Gaara sakė

      Ačiū už komentarą.
      Taip ... tai, kad su FICO DNS straipsniais nenoriu likti už LOL !!!

      Nieko rimto. Prieš kelis mėnesius girdėjau ką nors apie „Port Knocking“ ir tai iškart atkreipė mano dėmesį, bet kadangi maniau, kad tuo metu tai bus labai sudėtinga, aš nenusprendžiau į tai žiūrėti, tik vakar peržiūrėjęs keletą repo paketų radau „knockd“ ir nusprendžiau pabandyti, ir čia yra pamoka.

      Man visada patiko rašyti techninius straipsnius, kai kurie gali būti nepakankamai įdomūs, bet ... tikiuosi, kad kiti yra 😉

      saludos

    2.    mario sakė

      Sveiki, aš žinau, kad šis straipsnis buvo apie kurį laiką, bet aš pradedu savo užklausą, norėdamas sužinoti, ar kas nors gali tai išspręsti už mane.
      Faktas yra tas, kad aš įdiegiau uosto kopijavimą į mano avietę, norėdamas pagerinti saugumą, kai prisijungiu prie jo iš vietinio tinklo ribų. Kad tai veiktų, turėjau atidaryti 7000-9990 maršrutizatoriaus prievadų asortimentą, nukreipiantį į mašiną. Ar saugu atidaryti tuos maršrutizatoriaus prievadus, ar, priešingai, bandau labiau saugoti, ar aš elgiuosi priešingai?

      Sveikinimai ir ačiū.

  2.   VISADA sakė

    Puiku, aš jau daugelį metų esu sistemadminis ir jo nepažinojau.
    Vienas klausimas ... kaip jūs darote „pasibeldimus“?
    Ar telnet prieš tuos uostus? Ką telnet jums atsako? O gal yra kokia nors „beldimo“ bangos komanda?
    Labai šaunu yra straipsnis. Įspūdingas. Labai ačiū

    1.    KZKG ^ Gaara sakė

      Aš padariau testą naudodamasis telnet ir viskas padarė stebuklus ... bet, įdomu, yra „beldimo“ komanda, atlikite beldžiasi žmogus kad matytum 😉

      Telnetas iš tikrųjų nieko nereaguoja, „iptables“ su DROP politika priverčia jį visai nereaguoti, o telnet lieka laukti atsakymo (kuris niekada nepasieks), tačiau „knockd“ deemonas atpažins skambutį, net jei niekas neatsakys

      Labai ačiū už jūsų komentarą, malonu žinoti, kad mano straipsniai vis dar mėgsta ^ _ ^

  3.   st0rmt4il sakė

    Pridėta prie mėgstamiausių! : D!

    Ačiū!

    1.    KZKG ^ Gaara sakė

      Ačiū 😀

  4.   dunteris sakė

    Ahh saugumas, tas malonus jausmas, kai apsaugome kompiuterį nuo vandentiekio, o po kelių dienų / savaičių bandome prisijungti iš tam tikros atokios vietos, prie kurios negalime prisijungti, nes užkarda veikia „niekam niekam“ režimu. sysadmins. 😉

    Štai kodėl šis įrašas yra toks naudingas, nes „knockd“ galite pasiekti iš bet kurios vietos, kur galite siųsti paketą į jūsų vietinį tinklą, o užpuolikai praranda susidomėjimą, kai pamato, kad ssh prievadas uždarytas, nemanau, kad jie sukels grubią jėgą atidaryti uostą.

  5.   Manuel sakė

    Ei, straipsnis puikus.

    Vienas dalykas: ar jis naudojamas norint prisijungti iš vietinio tinklo ribų?

    Aš tai sakau, nes maršrutizatorius uždarytas prievadais atėmus tą, kuris atitinka ssh, kuris yra nukreiptas į serverį.

    Įsivaizduoju, kad norint, kad jis veiktų ne iš vietinio tinklo, reikės atidaryti maršrutizatoriaus prievadus, atitinkančius „Port Knocking“, ir priversti juos peradresuoti į serverį.

    Mmm ...

    Nežinau, kaip saugu tai padaryti.

    Ką tu manai?

    1.    KZKG ^ Gaara sakė

      Nesu labai tikras, neatlikau bandymo, bet manau, kad taip, turėtumėte atidaryti maršrutizatoriaus prievadus, kitaip negalėtumėte išjudinti serverio.

      Atlikite testą neatidarę maršrutizatoriaus prievadų, jei jis jums netinka, gaila, nes sutinku su jumis, nepatartina atidaryti šių maršrutizatoriaus prievadų.

      1.    Manuel sakė

        Iš tikrųjų turime atidaryti prievadus ir peradresuoti juos į kompiuterį, kuriam skambiname.

        Gaila.

  6.   rabba08 sakė

    Labai ačiū jums labai! Aš tik pradedu studijuoti tinklų kūrimą ir šios pamokos man labai tinka! ačiū, kad skyrėte laiko dalytis žiniomis

    1.    KZKG ^ Gaara sakė

      Per daugelį metų daug išmokau su pasauline „Linux“ bendruomene ... kelerius metus norėjau prisidėti ir aš, būtent todėl rašau 😀

  7.   sausio 981 d sakė

    Labai ačiū, jūs nežinote, kaip tai man padeda, aš ruošiuosi sukurti serverį ir tai man sekasi puikiai.

    saludos

    1.    KZKG ^ Gaara sakė

      Tam mes ir norime padėti 😉

  8.   Jeanas Ventura sakė

    Puikus straipsnis! Aš neturėjau apie tai žinių ir tai man labai padeda (aš naudoju „RackSpace“, kuri naudoja KVM, todėl man ji tinka kaip pirštinė!). Pridėta prie mėgstamiausių.

    1.    KZKG ^ Gaara sakė

      Ačiū už komentarus 🙂

  9.   Algabė sakė

    Kaip visada DesdeLinux atneša mums puikių žinučių su pamokomis, kurias tikrai naudinga panaudoti, ačiū, kad dalinatės!! 🙂

    1.    KZKG ^ Gaara sakė

      Ačiū už jūsų komentarą 🙂
      Taip, mes visada stengiamės patenkinti tą žinių troškulį, kurį turi mūsų skaitytojai 😀

  10.   Timbleckas sakė

    Įdomu, aš nežinojau varianto.
    Eikite tiesiai į mano kotletų bibliotekos penėjimą.
    Ačiū!

    1.    KZKG ^ Gaara sakė

      Malonumas man 😀
      saludos

  11.   Frederikas. A. Valdés Toujague sakė

    Linkėjimai KZKG ^ Gaara !!! Tu suspaudei. Nepaprastas straipsnis saugiems serveriams. Nėra @% * & ^ idėjos, kad toks dalykas egzistuoja. As pabandysiu tai. Ačiū

  12.   Baltas ^ karoliai sakė

    tai puiku ... ^ - ^

  13.   „LearnLinux“ sakė

    Sveiki, gal galėtumėte paaiškinti, kaip jį įdiegti „CentOS 5.x“?

    Atsisiunčiau apsukas:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Įdiegta:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Konfigūruokite konfigūracijos failą per 15 sekundžių laiko ir prievadą, kurį naudoju prisijungdamas ssh prie savo VPS

    Demonas prasideda:
    / usr / sbin / knockd &

    Aš telnet ir nieko uosto neuždaro, pagal nutylėjimą uostas yra atidarytas, bet jis neuždaromas.

    Ar aš ką nors darau ne taip?

  14.   Sveiki sakė

    Mmmm, telnet užklausas tiems uostams gali sužinoti mūsų vietinio tinklo administratorius arba mūsų paslaugų teikėjas, ne? Tai blokuotų išorinius žmones, bet ne juos, taigi, jei jie nori suaktyvinti mūsų uostą, jie galėtų tai padaryti, nes žr. mūsų pateiktus prašymus, tarkime, kad apsaugo, bet ne 100%

    1.    roberto sakė

      Gali būti, bet nemanau, kad jie ketina įsivaizduoti, kad tam tikras teletonas vykdo X veiksmą. Nebent jie mato, kad laikomasi tų pačių telnet modelių.

  15.   Pablo Andresas Diazas Aramburo sakė

    Įdomus straipsnis, turiu klausimą. Manau, kad konfigūracijos failo paveikslėlyje yra klaida, nes jei gerai analizuojate, abiejose komandos eilutėse „Iptables“ naudojate ACCEPT. Manau, kad vienas turėtų būti PRIIMTAS, o kitas - ATMETTI.

    Kitu atveju - puiki iniciatyva. Labai ačiū, kad skyrėte laiko paaiškinti savo žinias kitiems.

    saludos