Qunsulka + iptables = :3

In 2010 shirkadda Dagaal-gelinta waxaa jiray 50 adeegayaal iyo qaab shabakadeed fudud: dhabarka dambe, hore iyo firewall. Tirada adeegayaasha ayaa koray, qaabku wuxuu noqday mid aad u adag: diyaarinta, VLAN-yada go'doonsan ee leh ACLs, ka dibna VPN-yada leh VRFs, VLANs leh ACLs L2, VRFs leh ACLs L3. Madaxu miyuu wareegayaa? Waxay noqon doontaa mid aad u xiiso badan hadhow.

Markii ay jireen 16 oo adeegayaal ah, waxa ay noqotay wax aan suurtagal ahayn in la shaqeeyo ilmo la'aan iyada oo leh qaybo badan oo kala duwan. Markaa xal kale ayaanu la nimid. Waxaan qaadnay xirmada Netfilter, ku darnay Qunsulka il xogeed ahaan, waxaana helnay dab-damis degdeg ah oo loo qaybiyay. Waxay ku beddeleen ACL-yada router-yada waxayna u isticmaaleen sidii dab-damis dibadda iyo gudaha ah. Si aan si firfircoon ugu maareyno aaladda, waxaan soo saarnay nidaamka BEFW, kaas oo meel walba loo adeegsan jiray: laga soo bilaabo maareynta marin u helka isticmaaleha shabakada badeecada ilaa laga sooco qaybaha shabakada midba midka kale.

Qunsulka + iptables = :3

Wuxuu kuu sheegi doonaa sida ay dhammaan u shaqeeyaan iyo sababta ay tahay inaad si dhow u eegto nidaamkan. Ivan Agarkov (annmuor) waa madaxa kooxda amniga kaabayaasha ee qaybta dayactirka ee xarunta horumarinta ee shirkadda Minsk. Ivan waa taageere SELinux, jecel Perl, oo qoraa kood. Maaddaama uu yahay madaxa kooxda amniga macluumaadka, wuxuu si joogto ah ula shaqeeyaa diiwaannada, kaydinta iyo R&D si uu uga ilaaliyo Wargaming-ka jabsadayaasha oo loo hubiyo hawlgalka dhammaan server-yada ciyaarta ee shirkadda.

Taariikhda Taariikhda

Kahor intaanan kuu sheegin sidaan u sameynay, waxaan kuu sheegi doonaa sida aan tan markii hore ku nimid iyo sababta loogu baahan yahay. Si tan loo sameeyo, aynu dib u noqono 9 sano: 2010, World of Haamaha hadda soo muuqday. Wargaming waxa uu lahaa ku dhawaad ​​50 adeegayaal.

Qunsulka + iptables = :3
Shaxda kobaca serverka shirkadda.

Waxaan haysanay qaab shabakadeed. Waqtigaas waxay ahayd mid aad u wanaagsan.

Qunsulka + iptables = :3
Qaabka shabakadda ee 2010.

Xagga hore waxaa jooga niman xun oo doonaya inay na jebiyaan, laakiin waxay leedahay dab-damis. Ma jiro wax dab-damis ah oo ku yaal dhabarka dambe, laakiin waxaa jira 50 server, waan ognahay dhammaantood. Wax walba si fiican ayey u shaqeeyaan.

Muddo 4 sano ah, kooxda server-ka ayaa koray 100 jeer, ilaa 5000. Shabakadihii ugu horreeyay ee go'doon ayaa soo muuqday - dejinta: ma aadi karin wax soo saarka, waxaana inta badan jiray waxyaabo halkaas ka socda oo khatar noqon kara.

Qunsulka + iptables = :3
Qaabka shabakadda ee 2014.

Inertia, waxaanu isticmaalnay qaybo isku mid ah oo qalab ah, shaqada oo dhanna waxaa lagu fuliyay VLANs go'doonsan: ACL-yada waxaa loo qoraa VLAN-yada, kuwaas oo u oggolaanaya ama diidaya nooc xiriir ah.

2016, tirada adeegayaashu waxay gaadheen 8000. Wargaming waxay nuugtay istuudiyoo kale, waxaana soo muuqday shabakado xidhiidhsan oo dheeraad ah. Waxay u muuqdaan inay naga yihiin, laakiin maahan: VLAN inta badan uma shaqeyso la-hawlgalayaasha, waa inaad isticmaashaa VPN leh VRF, go'doomintu waxay noqotaa mid aad u adag. Isku darka dahaadhka ACL ayaa koray.

Qunsulka + iptables = :3
Qaabka shabakadda ee 2016.

Bilowgii 2018-kii, raxannada mashiinnada ayaa koray ilaa 16. Waxaa jiray 000 qaybood, oo aan tirin inta kale, oo ay ku jiraan kuwa xiran oo lagu kaydiyo xogta maaliyadeed. Shabakadaha weelka (Kubernetes), DevOps, shabakadaha daruuriga ah ee ku xidhan VPN, tusaale ahaan, IVS, ayaa soo muuqday. Waxaa jiray xeerar badan - waxay ahayd xanuun.

Qunsulka + iptables = :3
Qaabka shabakadda iyo hababka go'doominta ee 2018.

Go'doominta waxaan u isticmaalnay: VLAN oo leh ACL L2, VRF oo leh ACL L3, VPN iyo wax kaloo badan. Aad u badan.

Dhibaatooyinka

Qof kastaa wuxuu la nool yahay ACL iyo VLAN. Maxaa khaldan? Su'aashan waxaa ka jawaabi doona Harold, oo qarinaya xanuunka.

Qunsulka + iptables = :3

Waxaa jiray dhibaatooyin badan, laakiin waxaa jiray shan dhibaato.

  • Kor u kaca qiimaha joomatari ee sharciyada cusub. Xeer kasta oo cusub waxay qaadatay waqti ka dheer in lagu daro kii hore, sababtoo ah waxay ahayd lagama maarmaan in marka hore la eego haddii uu horey u jiray xeer sidan oo kale ah.
  • Ma jiro dab-damis gudaha qaybaha. Qaybaha ayaa si uun u kala go'ay midba midka kale, waxaana horeba u jiray agab ku filan oo gudaha ah.
  • Xeerarka ayaa la dabaqay muddo dheer. Hawl-wadeenadu waxay gacanta ku qori karaan hal xeer oo maxalli ah saacad gudaheed. Midka caalamiga ah wuxuu qaatay dhowr maalmood.
  • Dhibaatooyinka sharciyada xisaabinta. Si aad u saxan, ma ay suurtagelin. Xeerarkii ugu horreeyay waxaa dib loo qoray 2010, iyo inta badan qoraayaashooda uma shaqeynin shirkadda.
  • Heerka hoose ee xakamaynta kaabayaasha. Tani waa dhibaatada ugu weyn - si fiican uma aannaan ogeyn waxa ka socda waddankeena.

Tani waa waxa uu u ekaa injineer shabakadeed 2018 markii uu maqlay: "Waxay u baahan tahay xoogaa ACL dheeraad ah."

Qunsulka + iptables = :3

Xalka

Bilowgii 2018, waxaa la go'aamiyay in wax laga qabto.

Qiimaha isdhexgalka ayaa si joogto ah u koraya. Meesha laga bilaabay waxa ay ahayd in xarumaha xogta ee waaweyn ay joojiyeen taageeridda VLAN-yada go'doonsan iyo ACL-yada sababtoo ah qalabku waxa ka dhammaaday xusuusta.

Xalka: waxaan ka saarnay qodobka bini'aadamka oo aan si otomaatig ah u bixinay bixinta helitaanka ugu badnaan.

Xeerarka cusub waxay qaadanayaan waqti dheer in lagu dhaqmo. Xalka: dedejiya ku-dhaqanka xeerarka, ka dhig mid qaybsan oo barbar socda. Tani waxay u baahan tahay nidaam qaybsan si xeerarka loo bixiyo naftooda, iyada oo aan rsync ama SFTP ilaa kun nidaam.

Ma jiro dab-damis gudaha qaybaha Dab-damiska qaybo ka mid ah ayaa bilaabay inuu noo yimaado markii adeegyo kala duwan ay ka soo baxeen isla shabakad isku mid ah. Xalka: Isticmaal dab-damiska heerka martigeliyaha - dab-damiska ku salaysan martida loo yahay. Ku dhawaad ​​meel kasta oo aan ku leenahay Linux, iyo meel kasta oo aan ku leenahay iptables, tani dhib maaha.

Dhibaatooyinka sharciyada xisaabinta. Xalka: Ku hay dhammaan sharciyada hal meel si dib loogu eego loona maamulo, si aan wax walba u xisaabin karno.

Heerka hoose ee xakamaynta kaabayaasha. Xalka: qaado liistada dhammaan adeegyada oo geli inta u dhaxaysa.

Tani waa hab maamul oo ka badan mid farsamo. Mararka qaarkood waxaan helnaa 200-300 oo cusub todobaadkii, gaar ahaan xilliga xayeysiinta iyo fasaxyada. Intaa waxaa dheer, kani waxa kaliya oo loogu talagalay hal koox oo ka mid ah DevOps. Iyadoo la sii daayo badan, suurtagal maaha in la arko waxa dekedaha, IP-yada, iyo isdhexgalka loo baahan yahay. Sidaa darteed, waxaan u baahanahay maamulayaal si gaar ah u tababaran oo kooxihii weydiiyay: "Maxaa jira si kastaba ha ahaatee maxaad u keentay?"

Wax kasta oo aan bilownay ka dib, injineer shabakadeed 2019 wuxuu bilaabay inuu sidan u ekaado.

Qunsulka + iptables = :3

Qunsulka

Waxaan go'aansanay inaan wax walba oo aan helnay annagoo kaashanayna maareeyayaasha adeegga aan gelinno Qunsulka halkaasna aan ka qori doono xeerarka iptables.

Sideen ku go'aansanay inaan tan samayno?

  • Waxaan ururin doonaa dhammaan adeegyada, shabakadaha iyo isticmaalayaasha.
  • Aynu abuurno xeerarka iptables iyaga oo ku saleysan.
  • Waxaan si otomaatig ah u xakameynaa.
  • ....
  • FAA'IIDADA

Qunsulka ma aha API fog, wuxuu ku socon karaa noode kasta wuxuuna u qori karaa iptables. Waxa hadhay oo dhan waa in la la yimaado kontaroolo toos ah oo nadiifiya waxyaabaha aan loo baahnayn, inta badan dhibaatooyinka waa la xalin doonaa! Inta soo hartayna waan ka shaqayn doonaa marka aan tagno.

Waa maxay sababta Qunsulka?

Si fiican ayuu isu caddeeyay. 2014-15, waxa aanu u isticmaalnay dhabarka dambe ee Vault, kaas oo aanu ku kaydinayno furaha sirta ah.

Ma lumin xogta. Inta lagu jiro wakhtiga isticmaalka, Qunsulku ma lumin xogta inta lagu jiro shil keliya. Tani waa wax weyn oo lagu daray nidaamka maamulka dab-damiska.

Xidhiidhada P2P waxay dardargeliyaan fiditaanka isbeddelka. Marka la eego P2P, dhammaan isbeddelada ayaa si degdeg ah u yimaada, looma baahna in la sugo saacado.

Ku habboon REST API. Waxaan sidoo kale tixgelinnay Apache ZooKeeper, laakiin ma laha API REST, marka waa inaad rakibtaa biraha.

Waxay u shaqeysaa sidii Key Vault (KV) iyo Tusaha (Sahminta Adeegga). Waxaad hal mar ku kaydin kartaa adeegyada, buugaagta, iyo xarumaha xogta. Tani waa mid ku habboon annaga oo keliya, laakiin sidoo kale kooxaha deriska ah, sababtoo ah marka la dhisayo adeeg caalami ah, waxaan u maleyneynaa mid weyn.

Lagu qoray Go, taas oo qayb ka ah kaydka Wargaming. Waanu jecelnahay luuqadan, waxaanu haysanaa horumariyayaal badan oo Go.

Nidaamka ACL awood leh. Qunsulka, waxaad isticmaali kartaa ACLs si aad u xakameyso cidda qoraysa. Waxaan dammaanad qaadeynaa in xeerarka dab-damiska aysan wax kale isku dhejin doonin, dhibna nagama yeelan doono arrintan.

Laakin Qunsulku wuxuu kaloo leeyahay cilladihiisa.

  • Kuma qiyaasi karo gudaha xarunta xogta ilaa aad haysato nooc ganacsi. Waxa kaliya oo cabiri kara federaal.
  • Aad ugu xiran tahay tayada shabakada iyo culeyska server-ka. Qunsulka si sax ah uguma shaqayn doono server ahaan server mashquul ah haddii ay jiraan wax dib u dhac ah oo ka jira shabakada, tusaale ahaan, xawaaraha aan sinnayn. Tan waxa u sabab ah isku xidhka P2P iyo casriyaynta moodooyinka qaybinta.
  • Helitaanka la socodka dhibka. Xaaladda Qunsulka wuxuu dhihi karaa wax walba waa wanaagsan yihiin, laakiin wuxuu dhintay waqti dheer ka hor.

Waxaan xallinay inta badan dhibaatooyinkaas annagoo isticmaalnay Qunsulka, waana sababta aan u doorannay. Shirkaddu waxa ay haysaa qorshayaal dib-u-celin kale ah, laakiin waxa aan baranay in aan la tacaalno dhibaatooyinka oo aan hadda la noolnahay Qunsulka.

Sida Qunsulka u shaqeeyo

Waxaan ku rakibi doonaa saddex ilaa shan server xarun xog shuruudaysan. Hal ama laba server ma shaqayn doonaan: ma awoodi doonaan in ay abaabulaan kooram oo ay go'aansadaan cidda saxda ah iyo kan khaldan marka xogtu is weydo. In ka badan shan macno ma samaynayso, wax soo saarka ayaa hoos u dhacaya.

Qunsulka + iptables = :3

Macaamiishu waxay ku xidhmaan server-yada si kasta oo ay u kala horreeyaan: wakiillo isku mid ah, oo keliya oo wata calanka server = false.

Qunsulka + iptables = :3

Taas ka dib, macaamiishu waxay helayaan liiska isku xirka P2P waxayna dhisaan isku xirnaanta dhexdooda.

Qunsulka + iptables = :3

Heerka caalamiga ah, waxaan isku xirnaa dhowr xarumood oo xog ah. Waxay sidoo kale isku xiraan P2P oo ay wada xiriiraan.

Qunsulka + iptables = :3

Marka aan rabno inaan xogta ka soo saarno xarun kale oo xog ah, codsigu wuxuu ka imanayaa server-ka ilaa server-ka. Nidaamkan waxaa loo yaqaan Nidaamka Serf. Nidaamka Serf, sida Qunsulka, waxaa sameeyay HashiCorp.

Xaqiiqooyin muhiim ah oo ku saabsan Qunsulka

Qunsulka wuxuu hayaa dukumeenti qeexaya sida ay u shaqeyso. Waxaan bixin doonaa oo kaliya xaqiiqooyin la soo xulay oo mudan in la ogaado.

Adeegayaasha qunsuliyada ayaa codbixiyaasha ka dhex dooranaya sayid. Qunsulku wuxuu ka doortaa sayid liiska server-yada xarun kasta oo xogeed, dhammaan codsiyadana waxay ku socdaan oo keliya, iyadoon loo eegin tirada server-yada. Qabow Master-ku ma horseedayso dib-u-doorasho. Haddii macalinka aan la dooran, codsiyada cidna uma adeegto.

Ma rabtay miisaan toosan? Sorry, maya.

Codsiga xarun kale oo xogta waxay ka socotaa sayid ilaa sayid, iyada oo aan loo eegin serverka ay ku timid. Sayidka la doortay wuxuu helayaa 100% culeyska, marka laga reebo culeyska codsiyada hore. Dhammaan server-yada ku jira xarunta xogta waxay hayaan nuqul cusub oo xogta ah, laakiin hal keliya ayaa ka jawaabaya.

Sida kaliya ee lagu qiyaasi karo waa in la suurtogeliyo habka gaboobay ee macmiilka.

Qaabka gaboobay, waxaad kaga jawaabi kartaa kooram la'aan. Tani waa qaab aan ka tanaasuleyno joogtaynta xogta, laakiin wax yar u akhri si ka dhakhso badan sidii caadiga ahayd, oo server kastaa wuu ka jawaabaa. Dabcan, duubista kaliya iyada oo loo marayo sayidkiisa.

Qunsulka ma koobiyo xogta u dhaxaysa xarumaha xogta. Marka federaal la ururiyo, server kastaa wuxuu lahaan doonaa oo keliya xogtiisa. Kuwa kale, wuxuu had iyo jeer u jeestaa qof kale.

Atomity-ga hawlgallada laguma dammaanad qaadayo wax ka baxsan macaamil ganacsi. Xusuusnow inaadan ahayn kaligaa wax bedeli kara. Haddii aad u rabto si ka duwan, ku samee macaamil ganacsi quful.

Hawlgallada xannibaadda ma dammaanad qaadayaan qufulka. Codsigu wuxuu ka socdaa sayid ilaa sayid, oo si toos ah uma aha, markaa ma jirto dammaanad qaadka in xannibidu shaqayn doonto marka aad xannibto, tusaale ahaan, xarun kale oo xog ah.

ACL sidoo kale ma dammaanad qaadayso gelitaanka (xaalado badan). ACL waxa laga yaabaa in aanay shaqayn sababtoo ah waxa lagu kaydiyaa hal xarun xogta federaalka - oo ku taal xarunta xogta ACL (Primary DC). Haddii DC-gu kuu jawaabi waayo, ACL ma shaqayn doono.

Hal macalin oo la qaboojiyey ayaa ka dhigi doona in xiriirka oo dhan uu baraf galo. Tusaale ahaan, waxaa jira 10 xarumood oo xog ah oo ku yaal federaalka, midna wuxuu leeyahay shabakad xun, iyo hal masters ayaa ku guuldareystay. Qof kasta oo la xidhiidha isaga ayaa ku dheggan goobada: codsi baa jira, wax jawaaba looma hayo, duntu way barafaysaa. Ma jirto qaab lagu ogaan karo goorta ay tani dhici doonto, kaliya hal saac ama laba saacadood gudahood ayaa xiriirka oo dhan uu dhici doonaa. Wax aad ka qaban kartaa ma jirto.

Xaaladda, kooramka iyo doorashooyinka waxa lagu maamulaa dun gaar ah. Dib-u-doorashadu ma dhacayso, maqaamku waxba ma muujin doono. Waxaad u malaynaysaa inaad leedahay qunsul nool, waxaad waydiisaa, waxna ma dhicin - ma jirto jawaab. Isla mar ahaantaana, xaaladdu waxay muujinaysaa in wax walba ay fiican yihiin.

Waxaan la kulannay dhibaatadan oo ay ahayd inaan dib u dhisno qaybo gaar ah oo xarumaha xogta ah si aan uga fogaano.

Nooca ganacsiga ee Consul Enterprise ma laha qaar ka mid ah faa'iido darrada sare. Waxay leedahay hawlo badan oo faa'iido leh: xulashada codbixiyayaasha, qaybinta, miisaan. Waxaa jira hal "laakin" - nidaamka shatiga ee nidaamka la qaybiyay waa mid aad qaali u ah.

Joogitaanka Nolosha: rm -rf /var/lib/consul - daawo dhammaan cudurrada wakiilka. Haddii ay wax kuu shaqayn waayaan, kaliya tirtir xogtaada oo ka soo deji xogta nuqul. Inta badan, Qunsulka ayaa shaqayn doona.

BEFW

Hadda aan ka hadalno waxa aan ku soo kordhinay Qunsulka.

BEFW waa la soo gaabiyay BACKEndFgalinWdhammaan. Waxay ahayd inaan si uun u magacaabo badeecada markii aan abuuray kaydka si aan u galo tijaabada ugu horeysa. Magacani waa hadhay.

Hababka qaanuunka

Xeerarka waxay ku qoran yihiin iptables syntax.

  • -N BEFW
  • -P INPUT DEVE
  • -A INPUT -m gobolka-gobolka LA XIDHIIDHA, LA SAMEEYAY -j AQBAL
  • -A INPUT -i lo -j AQBAL
  • -A INPUT -j BEFW

Wax walba waxay galaan silsiladda BEFW, marka laga reebo ESTABLISHED, RELATED iyo localhost. Sambalku wuxuu noqon karaa wax kasta, tani waa tusaale uun.

Sidee BEFW waxtar u leedahay?

Adeegyada

Waxaan leenahay adeeg, had iyo jeer waxay leedahay deked, noode ay ku socoto. Laga soo bilaabo noodhkayaga, waxaan si hoose u weydiin karnaa wakiilka oo aan ogaan karnaa inaan haysano nooc adeeg ah. Waxa kale oo aad ku dhejin kartaa calaamado.

Qunsulka + iptables = :3

Adeeg kasta oo socda oo ka diiwaan gashan Qunsulka wuxuu isu beddelaa xeer iptables ah. Waxaan haynaa SSH - dekedda furan 22. Qoraalka Bash waa mid fudud: curl iyo iptables, wax kale looma baahna.

Macaamiisha

Sida loo furo gelitaanka ma aha qof kasta, laakiin xulashada? Ku dar liisaska IP-ga kaydinta KV adoo adeegsanaya magaca adeegga.

Qunsulka + iptables = :3

Tusaale ahaan, waxaan rabnaa qof walba oo ku jira shabakada tobnaad inuu awoodo inuu galo adeega SSH_TCP_22. Ku dar hal garoon TTL yar? oo hadda waxaan haysanaa sharciyo ku meel gaar ah, tusaale ahaan, hal maalin.

Helitaanka

Waxaan isku xireynaa adeegyada iyo macaamiisha: waxaan haynaa adeeg, kaydinta KV ayaa diyaar u ah mid kasta. Hadda ma siinno qof walba, laakiin si doorasho ah.

Qunsulka + iptables = :3

Kooxo

Haddi aan qorno kumanyaal IPs si aan mar walba u helno, waan daali doonnaa. Aynu la nimaadno kooxaysi - qayb hoosaad gooni ah oo KV ah. Aynu u yeedho Alias ​​(ama kooxaha) oo aan ku kaydino kooxaha halkaas sida waafaqsan mabda'a isku mid ah.

Qunsulka + iptables = :3

Aan isku xirno: hadda waxaan u furi karnaa SSH gaar ahaan P2P, laakiin koox dhan ama dhowr kooxood. Si la mid ah, waxaa jira TTL - waxaad ku dari kartaa koox oo ka saari kartaa kooxda si ku meel gaar ah.

Qunsulka + iptables = :3

Is-dhexgalka

Dhibaatadeenu waa qodobka bani-aadmiga iyo automation-ka. Ilaa hadda waxaan ku xallinay habkan.

Qunsulka + iptables = :3

Waxaan la shaqeynaa Puppet, waxaana ku wareejineynaa wax kasta oo la xiriira nidaamka (code code) iyaga. Puppetdb (PostgreSQL joogto ah) waxay kaydisaa liiska adeegyada halkaas ka socda, waxaa laga heli karaa nooca kheyraadka. Halkaa waxaad ka ogaan kartaa cidda codsanaysa meesha. Waxa kale oo aanu leenahay codsiga jiidista iyo nidaamka codsiga midaynta.

Waxaan qornay befw-sync, xal fudud oo ka caawiya wareejinta xogta. Marka hore, cookies-ka isku-darka ah waxaa gelaya puppetdb. HTTP API ayaa lagu habeeyay halkaas: waxaan codsaneynaa adeegyada aan hayno, waxa loo baahan yahay in la sameeyo. Kadibna waxay codsi u gudbiyeen Qunsulka.

Ma jiraan is dhexgal? Haa: waxay qoreen sharciyada waxayna ogolaadeen in la aqbalo Codsiyada Jiidista. Ma u baahan tahay deked gaar ah ama ma ku dartay koox koox qaarkeed martigeliyaha? Codsiga Jiid, dib u eegis - mar dambe ma jirto "Raadi 200 oo ACL oo kale oo isku day inaad wax ka qabato."

Kala-xulashada

Pinging localhost oo leh silsilad qaanuuneed madhan waxay qaadataa 0,075 ms.

Qunsulka + iptables = :3

Aan ku darno 10 ciwaan iptables silsiladan. Natiijo ahaan, ping-ku wuxuu kordhi doonaa 000 jeer: iptables waa gebi ahaanba toosan, ka shaqeynta ciwaan kasta waxay qaadataa waqti.

Qunsulka + iptables = :3

Dab-damiska halkaas oo aan u haajiro kumanaan ACLs, waxaan leenahay sharciyo badan, tanina waxay soo bandhigaysaa daahitaanka. Tani waxay u xun tahay borotokoolka ciyaaraha

Laakiin haddaan dhigno 10 ciwaan oo ku jira ipset Pining-ku wuu yaraan doonaa.

Qunsulka + iptables = :3

Ujeedadu waa "O" (kakanaanta algorithm) ee ipset had iyo jeer waxay la mid tahay 1, iyada oo aan loo eegin inta xeer ee jira. Run, waxaa jira xaddidaad - ma jiri karto wax ka badan xeerarka 65535. Hadda waxaan ku nool nahay tan: waad isku dari kartaa, ballaarin kartaa, samee laba ipset hal mid.

Kaydinta

Sii wadida macquulka ah ee habka soo noqnoqoshada ayaa ah kaydinta macluumaadka ku saabsan macaamiisha adeega ipset.

Qunsulka + iptables = :3

Hadda waxaan haysanaa SSH isku mid ah, mana qorinno 100 IP hal mar, laakiin deji magaca ipset-ka aan u baahanahay inaan la xiriirno, iyo qaanuunka soo socda DROP. Waxaa loo rogi karaa hal sharci "Yaa halkan joogin, DROP", laakiin way caddahay.

Hadda waxaan leenahay xeerar iyo jaangooyo. Hawsha ugu weyn waa in la sameeyo go'an ka hor inta aan la qorin xeerka, sababtoo ah haddii kale iptables ma qori doono xeerka.

Nidaamka guud

Qaab jaantus ahaan, wax kasta oo aan idhi waxay u eg yihiin sidan.

Qunsulka + iptables = :3

Waxaan ballan qaadeynaa Puppet, wax walba waxaa loo diraa martigeliyaha, adeegyada halkan, ipset halkaas, iyo qof kasta oo aan halkaas ka diiwaan gashaneyn lama oggola.

Oggolow oo diid

Si aad si dhakhso ah u badbaadiso aduunka ama aad si dhakhso ah u curyaamiso qof, bilawga dhammaan silsiladaha waxaan samaynay laba ipset: rules_allow ΠΈ rules_deny. Sidee u shaqeysaa?

Tusaale ahaan, qof ayaa culays ku abuuraya Shabakaddayada oo leh bots. Markii hore, waa inaad ka heshaa IP-ga diiwaanka, u gee injineerada shabakada, si ay u helaan isha taraafikada oo ay mamnuucaan. Hadda way ka duwan tahay.

Qunsulka + iptables = :3

Waxaan u dirnaa Qunsulka, sug 2,5 ilbiriqsi, wayna dhammaatay. Maadaama Qunsulka uu si dhakhso ah ugu qaybiyo P2P, wuxuu ka shaqeeyaa meel kasta, meel kasta oo adduunka ah.

Mar aan si uun u joojiyay WOT khalad ka dhacay dabka. rules_allow - Kani waa caymisyadayada kiisaska noocaas ah. Haddii aan meel qalad ah ka samayno dab-damiska, wax baa meel ku xanniban, had iyo jeer waxaan soo diri karnaa shuruudo 0.0/0si degdeg ah wax walba u soo qaado. Hadhow wax walba gacanta ayaan ku hagaajin doonaa.

Qaybaha kale

Waxaad ku dari kartaa wax kasta oo kale oo meel bannaan ah $IPSETS$.

Qunsulka + iptables = :3

Maxay? Mararka qaarkood qof wuxuu u baahan yahay ipset, tusaale ahaan, si uu ugu daydo xidhitaanka qayb ka mid ah kooxda. Qof kastaa wuu keeni karaa wax kasta, magacow, waxaana laga soo qaadi karaa Qunsulka. Isla mar ahaantaana, sets waxay ka qayb qaadan karaan xeerarka iptables ama waxay u dhaqmi karaan sidii koox ahaan NOOPJoogitaanka waxaa ilaalin doona daemon-ka.

Isticmaalayaasha

Markii hore, waxay ahayd sidan oo kale: isticmaaluhu wuxuu ku xiran yahay shabakadda wuxuuna helay cabbirro iyada oo loo marayo domainka. Kahor imaanshaha jiilka cusub ee dab-damiska, Cisco ma garanayn sida loo fahmo meesha isticmaaluhu joogo iyo meesha IP-gu joogo. Sidaa darteed, gelitaanka waxaa lagu oggolaaday oo keliya magaca martida loo yahay ee mashiinka.

Maxaan samaynay? Waxaan ku xayiran nahay xilligan oo aan helnay cinwaanka. Caadi ahaan tani waa dot1x, Wi-Fi ama VPN - wax walbaa waxay maraan RADIUS. Isticmaale kasta, waxaan u abuurnaa koox magac isticmaale ah oo aan dhigno IP-ga oo leh TTL oo u dhiganta dhcp.lease- isla marka uu dhaco, sharcigu wuu baaba'ayaa.

Qunsulka + iptables = :3

Hadda waxaan furi karnaa gelitaanka adeegyada, sida kooxaha kale, magaca isticmaalaha. Waxaan xanuunka ka saarnay magacyada martida loo yahay marka ay isbedelaan, waxaanan ka saarnay culeyska injineerada shabakada sababtoo ah uma baahna Cisco. Hadda injineerada laftoodu waxay diiwaangeliyaan gelitaanka server-kooda.

Dahaarka

Isla markaana, waxaan bilownay inaan kala furfurno dahaadhka. Maamulayaasha adeegyadu waxay qaadeen alaab, waxaanan falanqaynay dhammaan shabakadahayada. Aynu u kala qaybinno kooxo isku mid ah, iyo server-yada lagama maarmaanka ah kooxaha ayaa lagu daray, tusaale ahaan, in la diido. Hadda go'doomin isku mid ah ayaa ku dhamaanaya xeerarka_diidmada wax soo saarka, laakiin maaha wax soo saarka laftiisa.

Qunsulka + iptables = :3

Nidaamku si dhakhso leh oo fudud ayuu u shaqeeyaa: waxaanu ka saarna dhammaan ACL-yada serfarada, ka soo dejina qalabka, waxaanu yaraynaa tirada VLAN-yada go'doonsan.

Ilaalinta daacadnimada

Markii hore, waxaanu haysanay kiciye gaar ah oo la soo sheegay markii uu qof bedelay xeerka dab-damiska. Waxa aan qorayay warqad aad u weyn oo lagu hubinayo sharciyada firewall-ka, way adagtahay. Daacadnimada hadda waxaa gacanta ku haysa BEFW. Waxa uu si xamaasad leh u hubiyaa in xeerarka uu dejiyo aanay isbeddelin. Haddii uu qof beddelo xeerarka firewall, wax walba dib bay u beddeli doontaa. "Si degdeg ah ayaan u sameeyay wakiil si aan guriga uga shaqeeyo" ma jiraan doorashooyin noocaas ah.

BEFW waxay maamushaa ipset-ka adeegyada iyo liiska befw.conf, xeerarka adeegyada silsiladda BEFW. Laakin ma la socoto silsilado kale iyo qawaaniin iyo ipset kale.

Ilaalinta shilalka

BEFW had iyo jeer waxay si toos ah ugu kaydisaa gobolka wanaagsan ee ugu dambeeyay ee loo yaqaan qaab dhismeedka binary. Haddii ay wax qaldamaan, had iyo jeer waxay ku soo noqdaan gobolkan.bin.

Qunsulka + iptables = :3

Kani waa caymis ka dhan ah hawlgalka Qunsulka ee aan degganayn, marka aanay soo dirin xogta ama qof uu khalad sameeyay oo uu isticmaalo xeerar aan la adeegsan karin. Si loo hubiyo inaan nalooga tagin dab-damis la'aan, BEFW waxay dib ugu laaban doontaa gobolka ugu dambeeyay haddii uu khalad dhaco marxalad kasta.

Xaaladaha halista ah, tani waa dammaanad inaan kaga tagi doono dab-damis shaqaynaya. Waxaan furnaa dhammaan shabakadaha cawl annagoo rajaynayna in maamulku yimaado oo uu hagaajiyo. Maalin maalmaha ka mid ah ayaan tan gelin doonaa qaabeynta, laakiin hadda waxaan haynaa saddex shabakadood oo cawlan: 10/8, 172/12 iyo 192.168/16. Qunsulkayaga dhexdiisa, tani waa sifo muhiim ah oo naga caawinaysa inaan sii horumarino.

Demo: inta lagu guda jiro warbixinta, Ivan wuxuu muujinayaa qaabka demo ee BEFW. Way fududahay in la daawado mudaaharaadka Π²ΠΈΠ΄Π΅ΠΎ. Koodhka isha demo waa la heli karaa ku yaal GitHub.

-dhacyada

Waxaan kuu sheegi doonaa wax ku saabsan dhiqlaha aan la kulannay.

ipset ku dar set 0.0.0.0/0. Maxaa dhacaya haddii aad ku darto 0.0.0.0/0 ipset? Dhammaan IP-yada ma lagu dari doonaa? Ma la heli karaa marin internet?

Maya, waxaan heli doonaa bug nagu kacaya laba saacadood oo waqti-dhimis ah. Intaa waxaa dheer, cayayaanka ma shaqeyn tan iyo 2016, waxay ku taal RedHat Bugzilla lambarka #1297092, waxaana ku helnay shil - laga soo xigtay warbixinta horumarinta.

Hadda waa sharci adag BEFW taas 0.0.0.0/0 waxay isu beddeshaa laba ciwaan: 0.0.0.0/1 ΠΈ 128.0.0.0/1.

ipset soo celinta set < file. Muxuu sameeyaa ipset markaad u sheegto restore? Ma kula tahay inay la mid tahay iptables-yada? Ma soo kaban doontaa xogta?

Ma jiraan wax la mid ah - waxay sameysaa isku-darka, ciwaanadii horena ma tagaan meel kasta, ma xannibi kartid gelitaanka.

Waxaan helnay cillad markii aan tijaabinnay go'doominta. Hadda waxaa jira nidaam aad u adag - halkii restore qabtay create temp, Markaa restore flush temp ΠΈ restore temp. Dhamaadka isweydaarsiga: atomity, sababtoo ah haddii aad marka hore sameyso flush wakhtigan xaadirka ah baakidh yar ayaa yimaada, waa la tuurayaa oo wax baa khaldami doona. Markaa waxaa jira xoogaa sixir madow ah.

qunsulka kv get -datacenter=kale. Sidaan sheegay, waxaan u maleyneynaa inaan weydiineyno xoogaa xog ah, laakiin waxaan heli doonnaa xog ama qalad. Tan waxaan ku samayn karnaa Qunsulka gudaha, laakiin kiiskan labaduba way barafayaan.

Macmiilka Qunsulka maxalliga ah ayaa ku duuban HTTP API. Laakin way xidhan tahay oo kama jawaabto Ctrl+C, ama Ctrl+Z, ama wax kasta, kaliya kill -9 Console soo socda. Waxaan la kulannay tan markii aan dhisnay koox weyn. Laakiin weli ma hayno xal; waxaan isku diyaarineynaa inaan saxno qaladkan Qunsulka.

Hogaamiyaha qunsulka ayaan ka jawaabin. Sayidkayaga ku jira xarunta xogta kama jawaabayo, waxaan u maleyneynaa: "laga yaabaa in algorithm dib u doorashadu uu hadda shaqeyn doono?"

Maya, ma shaqeyn doonto, kormeerkuna waxba ma muujin doono: Qunsulka ayaa sheegi doona in uu jiro tusmaynta ballanqaadka, hoggaamiye ayaa la helay, wax walbaa waa fiican yihiin.

Sideen ula macaamilnaa tan? service consul restart in cron saacad kasta. Haddii aad leedahay 50 server, wax weyn maaha. Marka ay jiraan 16 oo iyaga ka mid ah, waxaad fahmi doontaa sida ay u shaqeyso.

gunaanad

Natiijo ahaan, waxaan helnay faa'iidooyinka soo socda:

  • 100% daboolida dhammaan mishiinnada Linux.
  • Xawaaraha
  • Automation
  • Waxaan ka xoraynay adoonsiga qalabkii iyo injineeradii shabakada.
  • Suurtagalnimada is-dhexgalka ayaa soo muuqday kuwa aan xadidneyn: xitaa Kubernetes, xitaa kuwa macquul ah, xitaa Python.

Minusa: Qunsulka, oo aan hadda la nool nahay, iyo qiimaha aadka u sarreeya ee qaladka. Tusaale ahaan, hal mar 6 pm (waqtiga ugu horreeya ee Ruushka) waxaan wax ka tafatiray liisaska shabakadaha. Waxa aanu markaas ka dhisaynay dahaarka BEFW. Meel baan ku qaldamay, waxay u muuqataa inaan tilmaamay maaskaro khaldan, laakiin wax walba waxay ku dhaceen laba ilbiriqsi gudahood. Korjoogteynta ayaa ifaysa, qofka taageerada ah ee shaqada ku jira ayaa soo ordaya: "Wax walba waan haynaa!" Madaxii waaxdu markii uu meheradda u sharraxay sababta ay arrintani u dhacday ayuu cirro isu rogay.

Kharashka khaladku aad buu u sarreeyaa oo waxaan la nimid habraac ka hortag oo adag. Haddii aad tan ka hirgeliso goob wax-soo-saar ballaaran, uma baahnid inaad siiso calaamad sare oo qunsulka qof walba ah. Tani waxay ku dhamaan doontaa si xun.

Kharashka Waxaan qoray koodka 400 saacadood oo keliya. Kooxdayda oo ka kooban 4 qof ayaa 10 saacadood bishii ku bixiya taageerada qof walba. Marka la barbardhigo qiimaha dab-damiska jiilka cusub, waa bilaash.

Qorshayaasha. Qorshaha mustaqbalka fog waa in la helo gaadiid kale oo lagu beddelo ama lagu kabo Qunsulka. Waxaa laga yaabaa inay noqon doonto Kafka ama wax la mid ah. Laakiin sanadaha soo socda waxaan ku noolaan doonnaa Qunsulka.

Qorshayaasha degdega ah: is dhexgalka Fail2ban, la socodka, la nftables, suurto gal ah qaybinta kale, cabbirada, korjoogteynta sare, hagaajinta. Taageerada Kubernetes waxay sidoo kale ku jirtaa qorshaha, sababtoo ah hadda waxaan haysanaa dhowr kooxood iyo rabitaanka.

Wax badan oo ka mid ah qorshayaasha:

  • ka raadi cilladaha taraafikada;
  • maamulka khariidadda shabakada;
  • Taageerada Kubernetes;
  • isu-ururinta baakadaha dhammaan nidaamyada;
  • Shabakadda-UI.

Waxaan si joogto ah uga shaqeyneynaa ballaarinta qaabeynta, kordhinta cabbirada iyo hagaajinta.

Ku biir mashruuca. Mashruucu wuxuu noqday mid qabow, laakiin, nasiib darro, weli waa mashruuc hal qof ah. u kaalay GitHub iskuna day inaad wax sameyso: go'aanso, tijaabi, wax soo jeediso, bixi qiimayntaada.

Dhanka kale waxaan isu diyaarineynaa Saint HighLoad++, kaas oo ka dhici doona Abriil 6 iyo 7 ee St. codso warbixin. Dadka khibradda u leh kuhadlayaashu waxay hore u garanayeen waxa la samaynayo, laakiin kuwa ku cusub hadalka waxaanu kula talinaynaa ugu yaraan in la isku dayo. Ka-qaybgalka shirka af-hayeen ahaan waxay leedahay faa'iidooyin dhowr ah. Waad akhrin kartaa kuwa, tusaale ahaan, dhamaadka maqaalkan.

Source: www.habr.com

Add a comment