Pieskaršanās ostai: vislabākā drošība, kāda var būt jūsu datorā vai serverī (izvietošana + konfigurācija)

Pārsteidzošas ostas (angļu valodā ostas klauvēšana) Neapšaubāmi tā ir prakse, kas mums visiem, kas pārvalda serverus, būtu labi jāzina, šeit es detalizēti paskaidroju, kas tas ir un kā to ieviest un konfigurēt 😉

Patlaban tiem no mums, kas pārvalda serveri, ir SSH piekļuve šim serverim, dažiem mēs mainām SSH noklusējuma portu un tas vairs neizmanto 22. portu, un citi to vienkārši atstāj (kaut kas nav ieteicams), tomēr serverim ir iespējota SSH piekļuve, izmantojot kādu portu, un tā jau ir “ievainojamība”.

ar Ostas klauvēšana mēs varam sasniegt sekojošo:

1. SSH piekļuvi nav iespējojis neviens ports. Ja mums ir konfigurēts SSH portam 9191 (piemēram), šis ports (9191) būs slēgts visiem.
2. Ja kāds vēlas piekļūt serverim, izmantojot SSH, tas acīmredzot nevarēs, jo ports 9191 ir slēgts ... bet, ja mēs izmantojam “burvju” vai slepenu kombināciju, šī osta tiks atvērta, piemēram:

1. Es telnet uz servera 7000 portu
2. Es veicu vēl vienu telnet uz servera 8000 portu
3. Es veicu vēl vienu telnet uz servera 9000 portu
4. Serveris konstatē, ka kāds ir izveidojis slepeno kombināciju (šajā secībā pieskarieties pieslēgvietām 7000, 8000 un 9000) un atvērs 9191. portu, lai pieprasītu pieteikšanos, izmantojot SSH (tas tiks atvērts tikai tam IP, no kura kombinācija tika apmierināta) .
5. Tagad, lai aizvērtu SSH, es tikai telnet uz 3500 portu
6. Es izdarīšu vēl vienu telnet 4500. portam
7. Un visbeidzot vēl viens telnets uz 5500 portu
8. Veicot šo citu slepeno kombināciju, ko serveris atklāj, atkal tiks aizvērts ports 9191.

Citiem vārdiem sakot, izskaidrojot to vēl vienkāršāk ...

ar Ostas klauvēšana mūsu serverim var būt slēgtas noteiktas ostas, bet, kad serveris to konstatē no X IP tika izveidota pareizā porta kombinācija (konfigurācija, kas iepriekš definēta konfigurācijas failā) izpildīs noteiktu komandu sev acīmredzami (desantnieks definēts arī konfigurācijas failā).

Vai tas nav saprotams? 🙂

Kā instalēt dēmonu ostas klauvēšanai?

Es to daru kopā ar iepakojumu riskēt, kas ļaus mums ļoti, ļoti vienkārši un ātri ieviest un konfigurēt Ostas klauvēšana.

Instalējiet pakotni: knockd

Kā konfigurēt ostas klauvēšanu ar knockd?

Pēc instalēšanas mēs turpinām to konfigurēt, tāpēc mēs rediģējam (kā root) failu /etc/knockd.conf:

nano /etc/knockd.conf

Kā redzat šajā failā, jau ir noklusējuma konfigurācija:

 Noklusējuma iestatījumu izskaidrošana ir patiešām vienkārša.

- Pirmkārt, UseSyslog nozīmē, ka aktivitātes (žurnāla) reģistrēšanai mēs to izmantosim / var / log / syslog.
- Otrkārt, sadaļā [openSSH] Acīmredzot iet instrukcijas SSH atvēršanai, vispirms mums ir pēc noklusējuma konfigurēta ostu secība (slepenā kombinācija) (ports 7000, ports 8000 un visbeidzot ports 9000). Acīmredzot ostas var mainīt (faktiski es to iesaku), kā arī tām nav obligāti jābūt 3, tās var būt vairāk vai mazāk, tas ir atkarīgs no jums.
- Treškārt, seq_timeout = 5 nozīmē laiku, kad jāgaida, kamēr notiks slepenā ostas kombinācija. Pēc noklusējuma tā ir iestatīta 5 sekundes, tas nozīmē, ka, tiklīdz mēs sākam klauvēt pie porta (tas ir, kad mēs telnetam uz portu 7000), mums ir maksimums 5 sekundes, lai pabeigtu pareizo secību, ja paiet 5 sekundes neesat pabeidzis ostas klauvēšanu, tad vienkārši būs tā, it kā secība būtu nederīga.
- Ceturtkārt, komanda tam nav vajadzīgs daudz paskaidrojumu. Tā vienkārši būs komanda, kuru serveris izpildīs, atklājot iepriekš definēto kombināciju. Komanda, kas ir iestatīta pēc noklusējuma, ir tā, ka tā ir atvērta 22. ports (mainiet šo portu savam SSH portam) tikai uz IP, kas izveidoja pareizo ostu kombināciju.
- piektais, tcpflags = syn Ar šo rindiņu mēs norādām pakešu veidu, ko serveris atpazīs kā derīgu klauvēšanas portam.

Tad ir sadaļa SSH aizvēršanai, ka noklusējuma konfigurācija ir nekas cits kā tā pati ostu secība iepriekš, bet pretējā secībā.

Šeit ir konfigurācija ar dažām modifikācijām:

 Kā sākt knockd dēmonu?

Lai to sāktu, vispirms ir jāpārveido (kā root) fails / etc / default / knockd:

nano /etc/default/knockd

Tur mēs mainām 12. rindiņu, kurā teikts: «START_KNOCKD = 0»Un mainiet 0 uz 1, mums būtu:START_KNOCKD = 1«

Kad tas ir izdarīts tagad, mēs to vienkārši sākam:

service knockd start

Un voila, tas ir konfigurēts un darbojas.

Ostas pieklauvēšana ar sasistu un skriešanu!

Kā redzat iepriekšējā konfigurācijā, ja tiek veikts porta pieskāriens portam 1000, tad līdz 2000 un visbeidzot līdz 3000, tad tiks atvērts ports 2222 (mans SSH), labi, šeit ir vēl viens dators, kas izpilda porta klauvēšanu:

Kad es nospiedīšu [Enter] uz Knock Nr.1, uz Nr.2 un visbeidzot uz Nr.3, tiks atvērta osta, šeit ir žurnāls:

Kā redzat, kad pieklauvējot 1000 portu, tika reģistrēts 1. posms, tad 2000. gads būs 2. un visbeidzot 3. posms ar 3000, to darot, tiek izpildīta komanda, kuru es paziņoju .conf, un viss.

Tad, lai aizvērtu ostu, būtu tikai pieklauvēt 9000, 8000 un visbeidzot 7000, šeit ir žurnāls:

Un nu šeit beidzas lietošanas skaidrojums 😀

Kā redzat, pieskaršanās ostai ir patiesi interesanta un noderīga, jo, lai arī mēs nevēlamies vienkārši atvērt portu pēc noteiktas ostu kombinācijas, komanda vai rīkojums, ko serveris izpildīs, var atšķirties, tas ir, nevis ... atverot portu, mēs varam paziņot, ka nogalinām procesu, apturam pakalpojumu, piemēram, apache vai mysql, utt. ... ierobežojums ir jūsu iztēle.

Pieskaršanās ostai darbojas tikai tad, ja jums ir fizisks serveris vai virtuālais serveris ir KVM tehnoloģija. Ja jūsu VPS (virtuālais serveris) ir OpenVZ, tad Port Knocking, es nedomāju, ka tas jums darbojas, jo jūs nevarat tieši manipulēt ar iptables

Nu un līdz šim raksts ... Es vēl neesmu eksperts šajā jautājumā, bet es gribēju dalīties ar jums šajā ļoti interesantajā procesā.

Sveiciens 😀


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.   erunamoJAZZ teica

    Izcils raksts, tas ir diezgan interesants, un es nezināju, ka tas pastāv ... būtu lieliski, ja turpinātu izlikt rakstus iesācēju sysadmin un citām lietām 😀

    Sveiciens un paldies ^ _ ^

    1.    KZKG ^ Gaara teica

      Paldies par komentāru.
      Jā ... ir tā, ka ar rakstiem par Fico DNS es negribu palikt aiz LOL !!!

      Nekas nopietni. Pirms vairākiem mēnešiem es dzirdēju kaut ko par ostas klauvēšanu, un tas uzreiz piesaistīja manu uzmanību, bet, tā kā es domāju, ka tajā laikā tas būs ļoti sarežģīti, es neizlēmu iet iekšā, tikai vakar pārskatot dažus repo paketes, ko es atklāju nolēmu pamēģināt, un šeit ir apmācība.

      Man vienmēr ir paticis likt tehniskus rakstus, daži varbūt nav pietiekami interesanti, bet ... es ceru, ka citi ir 😉

      Sveicieni

    2.    Mario teica

      Labdien, es zinu, ka šis raksts ir izveidots jau kādu laiku, bet es sāku vaicājumu, lai uzzinātu, vai kāds to var atrisināt manā vietā.
      Fakts ir tāds, ka es esmu ieviesis ostas pieskārienu savai avenei, lai mēģinātu uzlabot drošību, kad es izveidoju savienojumu ar to no ārējā vietējā tīkla. Lai tas darbotos, man bija jāatver portu diapazons maršrutētājā 7000-9990, kas novirza uz mašīnu. Vai ir droši atvērt šīs ostas maršrutētājā, vai, gluži pretēji, mēģinot iegūt lielāku drošību, es rīkojos tieši pretēji?

      Sveiciens un paldies.

  2.   EVER teica

    Lieliski, es gadiem esmu bijis sistadminieks un nepazinu viņu.
    Viens jautājums ... kā jūs veicat "klauvējienus"?
    Vai jūs veicat telnet pret šīm ostām? Ko telnet jums atbild? Vai arī ir kāda "klauvēšanas" viļņu komanda?
    Lieliski foršs ir raksts. Brīnišķīgi. Liels paldies

    1.    KZKG ^ Gaara teica

      Es veicu testu ar telnet, un viss darīja brīnumus ... bet, interesanti, ir komanda "klauvēt", veiciet cilvēks klauvē lai jūs varētu redzēt 😉

      Telnet man īsti vispār nereaģē, iptables ar DROP politiku liek tam vispār nereaģēt, un telnet paliek tur gaidot atbildi (kas nekad nenonāks), bet knockd dēmons atpazīs klauvējumu pat tad, ja nē viens atbild 😀

      Liels paldies par komentāru, prieks zināt, ka maniem rakstiem joprojām patīk ^ _ ^

  3.   str0rmt4il teica

    Pievienots izlasei! : D!

    Paldies!

    1.    KZKG ^ Gaara teica

      Paldies 😀

  4.   dunter teica

    Ahh drošība, tā patīkamā sajūta, kad mēs nodrošinām datoru pie santehnikas, un pēc dienām / nedēļām mēģinām izveidot savienojumu no kādas attālās vietas, kurai mēs nevaram piekļūt, jo ugunsmūris ir režīmā "nevienam nevienam", to sauc par palikšanu ārpus pils sysadminu ziņā. 😉

    Tāpēc šī ziņa ir tik noderīga, ka ar knockd jūs varat piekļūt no jebkuras vietas, kur vietējam tīklam var nosūtīt pakešu, un uzbrucēji zaudē interesi, redzot, ka ssh ports ir slēgts, es nedomāju, ka viņi klauvēs brutālu spēku lai atvērtu ostu.

  5.   Manuel teica

    Hei, raksts ir lielisks.

    Viena lieta: vai tas kalpo, lai izveidotu savienojumu no vietējā tīkla?

    Es to saku tāpēc, ka man ir maršrutētājs ar slēgtiem portiem, atņemot to, kas atbilst ssh, kas tiek novirzīts uz serveri.

    Es iedomājos, ka, lai tas darbotos ārpus lokālā tīkla, būs jāatver maršrutētāja porti, kas atbilst portu klauvēšanai, un arī tie jāpāradresē uz serveri.

    Mmm ...

    Es nezinu, cik droši to izdarīt.

    Ko tu domā?

    1.    KZKG ^ Gaara teica

      Es neesmu īsti pārliecināts, es neesmu veicis testu, bet es domāju, ka jā, jums vajadzētu atvērt maršrutētājā esošās ostas, pretējā gadījumā jūs nevarēsiet izsist serveri.

      Veiciet pārbaudi, neatverot maršrutētāja porti, ja tas jums nedarbojas, ir kauns, jo es jums piekrītu, nav ieteicams atvērt šīs maršrutētāja porti.

      1.    Manuel teica

        Patiešām, mums jāatver porti un jānovirza tie uz datoru, uz kuru zvanām.

        Žēl.

  6.   rabba08 teica

    Liels liels paldies! Es tikko sāku mācīties tīkla karjerā, un šīs apmācības man ir lieliski piemērotas! paldies, ka veltījāt laiku zināšanu dalīšanai

    1.    KZKG ^ Gaara teica

      Gadu gaitā esmu daudz iemācījies kopā ar globālo Linux kopienu ... dažus gadus esmu vēlējies dot savu ieguldījumu, tieši tāpēc es rakstu 😀

  7.   janus981 teica

    Liels paldies, jūs nezināt, kā tas man palīdz, es gatavojos izveidot serveri, un tas man klājas lieliski.

    Sveicieni

    1.    KZKG ^ Gaara teica

      Tam mēs esam, lai palīdzētu 😉

  8.   Žans Ventura teica

    Izcils raksts! Man par to nebija ne zināšanu, un tas man ļoti palīdz (es izmantoju RackSpace, kas izmanto KVM, tāpēc man tas der kā cimds!). Pievienots izlasei.

    1.    KZKG ^ Gaara teica

      Paldies par komentāriem 🙂

  9.   Aļģes teica

    Kā parasti DesdeLinux piedāvā mums lieliskas ziņas ar pamācībām, kuras ir patiešām noderīgas darbībā, paldies par kopīgošanu! 🙂

    1.    KZKG ^ Gaara teica

      Paldies par komentāru 🙂
      Jā, mēs vienmēr cenšamies apmierināt to slāpes pēc zināšanām, kādas ir mūsu lasītājiem 😀

  10.   Timbleks teica

    Interesanti, es nezināju variantu.
    Dodieties tieši pie manas karbonādes bibliotēkas nobarošanas.
    Paldies!

    1.    KZKG ^ Gaara teica

      Man prieks 😀
      Sveicieni

  11.   Frederiks. A. Valdés Toujague teica

    Sveiciens KZKG ^ Gaara !!! Jūs saspiedāt. Milzīgs raksts serveru drošībai. Nav @% * & ^ idejas, ka šāda lieta pastāv. Es to izmēģināšu. Paldies

  12.   Balta ^ kaklarota teica

    tas ir lieliski…. ^ - ^

  13.   LearnLinux teica

    Labdien, vai jūs varētu paskaidrot, kā to instalēt CentOS 5.x?

    Esmu lejupielādējis apgriezienus minūtē:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Instalēts:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Konfigurējiet konfigurācijas failu ar 15 sekundēm laika un portu, kuru izmantoju, lai ar ssh izveidotu savienojumu ar saviem vps

    Dēmons sākas:
    / usr / sbin / knockd &

    Es telnet un nekas ports netiek aizvērts, pēc noklusējuma ports ir atvērts, bet tas netiek aizvērts.

    Vai es daru kaut ko nepareizi?

  14.   sveiki teica

    Mmmm, telnet pieprasījumus šīm ostām varēja uzzināt mūsu vietējā tīkla administrators vai mūsu pakalpojumu sniedzējs. Nē? Tas bloķētu ārējos cilvēkus, bet ne viņus, tāpēc, ja viņi vēlas aktivizēt mūsu portu, viņi to varēja izdarīt, jo skatiet mēs iesniedzam pieprasījumus, teiksim, ka tas aizsargā, bet ne 100%

    1.    roberto teica

      Tas varētu būt, bet es nedomāju, ka viņi gatavojas iedomāties, ka noteikts telnets izpilda X darbību. Ja vien viņi neredz, ka tiek ievēroti tie paši telnet modeļi.

  15.   Pablo Andress Diazs Aramburo teica

    Interesants raksts, man ir jautājums. Es domāju, ka konfigurācijas faila attēlā ir kļūda, jo, ja jūs labi analizējat, abās komandas rindās Iptables izmantojat ACCEPT. Es domāju, ka vienam vajadzētu būt PIEŅEMTAM, bet citam - noraidīt.

    Pretējā gadījumā lieliska iniciatīva. Liels paldies, ka veltījāt laiku, lai izskaidrotu savas zināšanas citiem.

    Sveicieni