
Përshëndetje të gjithëve. Ky artikull është për ata që kanë shumë pajisje Mikrotik në parkun e tyre dhe duan të bëjnë një unifikim maksimal, në mënyrë që të mos lidhen me secilën pajisje veç e veç. Në këtë artikull do të përshkruaj një projekt, i cili, fatkeqësisht, nuk arriti në kushte operacionale për shkak të faktorëve njerëzorë. Në përmbledhje: më shumë se 200 ruterë, konfigurim i shpejtë dhe trajnimi i personelit, unifikimi sipas rajoneve, filtrimi i rrjeteve dhe hosteve të caktuar, mundësia për të shtuar lehtësisht rregulla në të gjitha pajisjet, regjistrimi dhe kontrolli i qasjes.
Ajo qĂ« Ă«shtĂ« pĂ«rshkruar mĂ« poshtĂ« nuk pretendon tĂ« jetĂ« njĂ« rast i gatshĂ«m, por shpresoj se do t'ju ndihmojĂ« nĂ« planifikimin e rrjeteve tuaja dhe minimizimin e gabimeve. Ndoshta disa pika dhe zgjidhje do t'ju duken jo krejtĂ«sisht tĂ« sakta â nĂ«se Ă«shtĂ« kĂ«shtu, shkruani nĂ« komente. KritikĂ«t nĂ« kĂ«tĂ« rast do tĂ« jenĂ« njĂ« pĂ«rvojĂ« pĂ«r tĂ« gjithĂ«. Pra, lexues, shiko nĂ« komente, ndoshta autori ka bĂ«rĂ« njĂ« gabim tĂ« rĂ«ndĂ« â komuniteti do tĂ« ndihmojĂ«.
Numri i ruterĂ«ve 200-300, tĂ« shpĂ«rndarĂ« nĂ« qytete tĂ« ndryshme me cilĂ«si tĂ« ndryshme lidhjeje interneti. ĂshtĂ« e nevojshme tĂ« bĂ«het gjithçka bukur dhe tĂ« kuptohet qartĂ« nga administratorĂ«t lokalĂ«, si do tĂ« funksionojĂ« gjithçka.
Pra, nga ku fillon çdo projekt. Sigurisht, nga Kërkesat.
- Organizimi i planit të rrjetit për të gjitha filialet sipas kërkesave të klientit, segmentimi i rrjeteve (nga 3 deri në 20 rrjete në filiale në varësi të numrit të pajisjeve).
- Konfigurimi i pajisjeve në çdo filial. Kontrolli i shpejtësisë së vërtetë të lidhjes së ofruesit në kushte të ndryshme pune.
- Organizimi i mbrojtjes së pajisjeve, menaxhimi me lista të bardha, autodetektaimi i sulmeve me shtim automatik në listat e zezë për një periudhë të caktuar kohore, minimizimi i përdorimit të mjeteve të ndryshme teknike që përdoren për kapjen e qasjes dhe heqja e shërbimit.
- Organizimi i lidhjeve VPN të sigurta me filtrimin sipas rrjeteve sipas kërkesave të klientit. Minimumnya 3 lidhje VPN nga çdo filial deri në qendër.
- Në bazë të pikave 1, 2. Zgjidhni rrugët optimale për ndërtimin e VPN-ve të qëndrueshme. Teknologjia e rrugëzimit dinamik, nëse justifikohet siç duhet, mund të zgjidhet nga ekzekutuesi.
- Organizimi i prioritizimit të trafikut sipas protokolleve, porteve, hosteve dhe shërbimeve të tjera specifike që përdor klienti. (VOIP, hoste me shërbime të rëndësishme)
- Organizimi i monitorimit dhe logimit të ngjarjeve të rrjetit për reagimin e stafit të mbështetjes teknike.
Siç e kuptojmë, në disa raste, dokumenti i kërkesave përgatitet nga kërkesat. Këto kërkesa i kam formuluar vetë, duke dëgjuar problemet kryesore. Kam parashikuar mundësinë që ekzekutimi i këtyre pikave mund të merret nga dikush tjetër.
Cilat mjete do të përdoren për të plotësuar këto kërkesa:
- Stoku ELK (pas një kohe, kuptuam se në vend të logstash do të përdoret fluentd).
- Ansible. Për lehtësinë e administratës dhe ndarjen e qasjeve do të përdorim AWX.
- GITLAB. Nuk ka nevojë për shpjegim. Si mund të shkojmë pa mbikëqyrjen e versioneve të konfigurimeve tona.
- PowerShell. Do të ketë një skenar të thjeshtë për gjenerimin fillestar të konfiguracionit.
- Dokumentacion wiki, për shkruarjen e dokumenteve dhe udhëzimeve. Në këtë rast, do të përdorim habr.com.
- Monitorimi do të realizohet përmes zabbix. Aty do të përpilohet një skemë lidhjesh për një kuptim të përgjithshëm.
Momentet e konfigurimit të EFK
Për pikën e parë do të përshkruaj vetëm ideologjinë, sipas së cilës do të ndërtohen indekset. Ka shumë
artikuj të shkëlqyeshëm për konfigurimin dhe pranimin e logëve nga pajisjet e menaxhuara nga mikrotik.
Do të ndalem në disa momente:
1. Sipas skemës, duhet të mendojmë për pranimin e logëve nga vende të ndryshme dhe për porta të ndryshme. Për këtë, do të përdorim një agregator logësh. Gjithashtu, dëshirojmë të krijojmë grafike universale për të gjithë routerat me mundësi ndarjeje qasjeje. Kështu që indekset do të ndërtohen si më poshtë:
kjo është një pjesë konfigurimi me fluentd type elasticsearch
logstash_format true
index_name mikrotiklogs.north
logstash_prefix mikrotiklogs.north
flush_interval 10s
hosts :9200
port 9200
Kështu ne mund të bashkojmë routerat dhe t'i segmentojmë sipas planit - mikrotiklogs.west, mikrotiklogs.south, mikrotiklogs.east. Pse ta komplikohemi kështu? E kuptojmë që do kemi 200 ose më shumë pajisje. Nuk mund ta mbajmë nën mbikëqyrje gjithçka. Me versionin 6.8 të elasticsearch, na janë bërë të disponueshme cilësimet e sigurisë (pa blerë licencë), kështu që mund të ndajmë të drejtat e shikimit midis stafit të mbështetjes teknike ose administratorëve të sistemit lokal.
Tabela, grafikĂ«t â kĂ«tu vetĂ«m duhet tĂ« bie dakord â ose tĂ« pĂ«rdorim tĂ« njĂ«jtat, ose secili e bĂ«n siç do tĂ« jetĂ« e pĂ«rshtatshme pĂ«r tĂ«.
2. PĂ«r regjistrimin. NĂ«se nĂ« rregullat e firewall aktivizojmĂ« log, emrat i bĂ«jmĂ« pa hapĂ«sira. ĂshtĂ« e dukshme se, duke pĂ«rdorur njĂ« konfigurim tĂ« thjeshtĂ« nĂ« fluentd, ne mund tĂ« filtrojmĂ« tĂ« dhĂ«nat dhe tĂ« krijojmĂ« panele tĂ« pĂ«rshtatshme. NĂ« figurĂ«n mĂ« poshtĂ« - routeri im i shtĂ«pisĂ«.

3. Për hapësirën e zënë dhe log-et. Në mesatare, me 1000 mesazhe në orë, log-et zënë rreth 2-3 mb në ditë, që, pranohet, nuk është kaq shumë. Versioni i elasticsearch është 7.5.
ANSIBLE.AWX
Për fatin tonë, kemi një modul të gatshëm për routeros.
E kam pĂ«rmendur AWX-nĂ«, por komandat mĂ« poshtĂ« janĂ« vetĂ«m pĂ«r ansible nĂ« formĂ« tĂ« pastĂ«r â mendoj se pĂ«r ata qĂ« kanĂ« punuar me ansible, nuk do tĂ« ketĂ« probleme me pĂ«rdorimin pĂ«rmes gui awx.
Të jem i sinqertë, deri tani kam parë udhëzime të tjera, ku përdorej ssh, dhe të gjithë kishin probleme të ndryshme me kohën e përgjigjes dhe një mori problemash të tjera. E përsëris, nuk arritëm në luftë :) , merrni këtë informacion si një eksperiment, që nuk arriti më tej se stenda e 20 routerëve.
Na nevojitet tĂ« pĂ«rdorim njĂ« certifikatĂ« ose njĂ« llogari. KĂ«tu ju vendosni, unĂ« jam pĂ«r certifikatat. NjĂ« moment i hollĂ« pĂ«r tĂ« drejtat. Jap tĂ« drejtat pĂ«r write â tĂ« paktĂ«n nuk do tĂ« arrijmĂ« tĂ« bĂ«jmĂ« "reset config".
Për gjenerimin, kopjimin e certifikatës dhe importin nuk duhet të ketë probleme:
Me shkurt, lista e komandaveNë PC-në tuaj
ssh-keygen -t RSA, përgjigjeni pyetjeve, ruani çelësin.
Kopjojmë në mikrotik:
user ssh-keys import public-key-file=id_mtx.pub user=ansible
Përpara duhet të krijoni një llogari dhe t'i jepni asaj të drejtat.
Verifikojmë lidhjen përmes certifikatës
ssh -p 49475 -i /keys/mtx ansible@192.168.0.120
Shkruajmë vi /etc/ansible/hosts
MT01 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible
MT02 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible
MT03 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible
MT04 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible
Dhe njĂ« shembull playbook: â name: add_work_sites
hosts: testmt
serial: 1
connection: network_cli
remote_user: mikrotik.west
gather_facts: yes
tasks:
â name: add Work_sites
routeros_command:
commands:
â /ip firewall address-list add address=gov.ru list=work_sites comment=Ticket665436_Ochen_nado
â /ip firewall address-list add address=habr.com list=work_sites comment=for_habr
Siç shihet nga konfigurimi i mësipërm, përgatitja e playbook-eve të tua nuk është një punë e vështirë. Mjafton të zotërosh mirë cli mikrotik. Supozoni një situatë, kur në të gjithë routerët duhet të hiqni address list me të dhëna të caktuara, atëherë:
Gjeni dhe fshini/ip firewal address-list remove [find where list=«gov.ru»]
Unë qëllimisht nuk e kam vendosur këtu të gjithë listën e firewall-it pasi do të jetë e veçantë për çdo projekt. Por mund të them një gjë të sigurt, përdorni vetëm listën e adresave.
Për GITLAB, gjithçka është e qartë. Nuk do të ndalem në këtë aspekt. Gjithçka duket bukur sipas detyrave, template-ve, dhe handlers.
Powershell
Këtu do të jenë 3 skedarë. Pse powershell? Mjeti për gjenerimin e konfiguracioneve mund të zgjidhet çfarëdo, në varësi të asaj që është më e përshtatshme. Në këtë rast, të gjithë kanë Windows në PC-të e tyre, prandaj pse ta bëjmë në bash, kur është më e lehtë powershell. Në varësi të asaj që është më e përshtatshme.
Pikërisht skripti vetë (i thjeshtë dhe i kuptueshëm):[cmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[string]$EXTERNALIPADDRESS,
[Parameter(Mandatory=$true)]
[string]$EXTERNALIPROUTE,
[Parameter(Mandatory=$true)]
[string]$BWorknets,
[Parameter(Mandatory=$true)]
[string]$CWorknets,
[Parameter(Mandatory=$true)]
[string]$BVoipNets,
[Parameter(Mandatory=$true)]
[string]$CVoipNets,
[Parameter(Mandatory=$true)]
[string]$CClientss,
[Parameter(Mandatory=$true)]
[string]$BVPNWORKs,
[Parameter(Mandatory=$true)]
[string]$CVPNWORKs,
[Parameter(Mandatory=$true)]
[string]$BVPNCLIENTSs,
[Parameter(Mandatory=$true)]
[string]$cVPNCLIENTSs,
[Parameter(Mandatory=$true)]
[string]$NAMEROUTER,
[Parameter(Mandatory=$true)]
[string]$ServerCertificates,
[Parameter(Mandatory=$true)]
[string]$infile,
[Parameter(Mandatory=$true)]
[string]$outfile
)
Get-Content $infile | Foreach-Object {$_.Replace(«EXTERNIP», $EXTERNALIPADDRESS)} |
Foreach-Object {$_.Replace(«EXTROUTE», $EXTERNALIPROUTE)} |
Foreach-Object {$_.Replace(«BWorknet», $BWorknets)} |
Foreach-Object {$_.Replace(«CWorknet», $CWorknets)} |
Foreach-Object {$_.Replace(«BVoipNet», $BVoipNets)} |
Foreach-Object {$_.Replace(«CVoipNet», $CVoipNets)} |
Foreach-Object {$_.Replace(«CClients», $CClientss)} |
Foreach-Object {$_.Replace(«BVPNWORK», $BVPNWORKs)} |
Foreach-Object {$_.Replace(«CVPNWORK», $CVPNWORKs)} |
Foreach-Object {$_.Replace(«BVPNCLIENTS», $BVPNCLIENTSs)} |
Foreach-Object {$_.Replace(«CVPNCLIENTS», $cVPNCLIENTSs)} |
Foreach-Object {$_.Replace(«MYNAMERROUTER», $NAMEROUTER)} |
Foreach-Object {$_.Replace(«ServerCertificate», $ServerCertificates)} | Set-Content $outfile
Ju lutem më falni, nuk mund të ndaj të gjitha rregullat pasi do të ishte jo shumë e bukur. Rregullat mund t'i krijoni vetë, duke u drejtuar nga praktikat më të mira.
Për shembull, ja lista e lidhjeve për të cilat jam udhëhequr::Securing_Your_Router
:IP/Firewall/Filter
:OSPF-examples
:Winbox
:Upgrading_RouterOS
:IP/Fasttrack â kĂ«tu duhet tĂ« dini se kur aktivizohet fasttrack, rregullat e prioritetit dhe shpejtĂ«simit tĂ« trafikut nuk do tĂ« funksionojnĂ« â e dobishme pĂ«r pajisje tĂ« dobĂ«ta.
Simbolet për variablat:Janë marrë si shembuj rrjetet e mëposhtme:
192.168.0.0/24 rrjeti punues
172.22.4.0/24 rrjeti VOIP
10.0.0.0/24 rrjeti për klientët pa akses në rrjetin lokal
192.168.255.0/24 rrjeti VPN për filialet e mëdha
172.19.255.0/24 rrjeti VPN për të vogla
Adresa e rrjetit përbëhet nga 4 numra dhjetorë, përkatësisht A.B.C.D, sipas të njëjtit parim funkcioni zëvendësimi, nëse gjatë ekzekutimit kërkon B, atëherë duhet të futni për rrjetin 192.168.0.0/24 numrin 0, dhe për C = 0.
$EXTERNALIPADDRESS â adresa e dhĂ«nĂ« nga ofruesi.
$EXTERNALIPROUTE â rruga default pĂ«r rrjetin 0.0.0.0/0
$BWorknets â rrjeti punues, nĂ« shembullin tonĂ« kĂ«tu do tĂ« jetĂ« 168
$CWorknets â rrjeti punues, nĂ« shembullin tonĂ« kĂ«tu do tĂ« jetĂ« 0
$BVoipNets â rrjeti VOIP nĂ« shembullin tonĂ« kĂ«tu 22
$CVoipNets â rrjeti VOIP nĂ« shembullin tonĂ« kĂ«tu 4
$CClientss â Rrjeti pĂ«r klientĂ«t â qasje vetĂ«m nĂ« internet, nĂ« rastin tonĂ« kĂ«tu 0
$BVPNWORKs â rrjeti VPN pĂ«r degĂ«t e mĂ«dha, nĂ« shembullin tonĂ« 20
$CVPNWORKs â rrjeti VPN pĂ«r degĂ«t e mĂ«dha, nĂ« shembullin tonĂ« 255
$BVPNCLIENTS â rrjeti VPN pĂ«r degĂ«t e vogla, pra 19
$CVPNCLIENTS â rrjeti VPN pĂ«r degĂ«t e vogla, pra 255
$NAMEROUTER â emri i routerit
$ServerCertificate â emri i certifikatĂ«s, e cila importohet paraprakisht
$infile â Tregoni rrugĂ«n pĂ«r skedarin nga i cili do tĂ« lexojmĂ« konfigurimin, pĂ«r shembull D:config.txt (mĂ« mirĂ« rruga nĂ« anglisht pa citate dhe hapĂ«sira)
$outfile â tregoni rrugĂ«n ku do tĂ« ruhet, pĂ«r shembull D:MT-test.txt
Unë e kam ndërruar qëllimisht adresat në shembuj për arsye të qarta.
Kam lĂ«nĂ« pa u pĂ«rmendur pikĂ«n mbi identifikimin e sulmeve dhe sjelljes anormale â kjo meriton njĂ« artikull tĂ« veçantĂ«. Por Ă«shtĂ« e rĂ«ndĂ«sishme tĂ« theksohet se nĂ« kĂ«tĂ« kategori mund tĂ« pĂ«rdoren tĂ« dhĂ«nat e monitorimit nga Zabbix + tĂ« dhĂ«nat e pĂ«rpunuara curl nga elasticsearch.
ĂfarĂ« pikash duhet tĂ« theksohet:
- Plani i rrjeteve. MĂ« mirĂ« tĂ« hartohet menjĂ«herĂ« nĂ« njĂ« format tĂ« lexueshĂ«m. Mjafton njĂ« excel. FatkeqĂ«sisht, shumĂ« shpesh shoh qĂ« rrjetet hartohen sipas parimit "Pati njĂ« degĂ« tĂ« re, ja pra ju /24". Askush nuk e heton se sa pajisje pritet tĂ« ketĂ« nĂ« atĂ« vend dhe a do tĂ« ketĂ« rritje tĂ« mĂ«tejshme. PĂ«r shembull, njĂ« dyqan i vogĂ«l u hap, ku nĂ« fillim Ă«shtĂ« e qartĂ« se pajisjet nuk do tĂ« kalojnĂ« 10, pse tĂ« ndahen /24? NĂ« degĂ«t e mĂ«dha â pĂ«rkundrazi, ndahen /24, e pajisjet bĂ«hen 500 â mund tĂ« shtohet rrjeti, por dĂ«shirohet tĂ« mendohet gjithçka menjĂ«herĂ«.
- Rregullat e filtrimit. Nëse projekti parashikon ndarjen e rrjeteve dhe segmentimin maksimal. Praktikat më të mira ndryshojnë me kalimin e kohës. Më parë ndaheshin rrjeti i PC-ve dhe rrjeti i printerëve, tani është plotësisht normale të mos ndahen këto rrjete. Duhet të përdoret shëndeti i arsyes dhe të mos krijohet një numër i madh nënrrjetesh aty ku nuk janë të nevojshme dhe të mos bashkohen në një rrjet të gjitha pajisjet.
- CilĂ«sitĂ« âe artaâ pĂ«r tĂ« gjithĂ« routerat. Pra, nĂ«se jeni vendosur me planin. Duhet tĂ« pĂ«rgatiteni gjithçka menjĂ«herĂ« dhe tĂ« pĂ«rpiqeni qĂ« tĂ« gjitha cilĂ«simet tĂ« jenĂ« identike - tĂ« jenĂ« vetĂ«m lista tĂ« ndryshme tĂ« adresave dhe adresa IP. NĂ« rast se ndodhin probleme, koha pĂ«r ndihmĂ« do tĂ« jetĂ« mĂ« e vogĂ«l.
- Momentet organizative janë po aq të rëndësishme sa ato teknike. Shpesh punonjësit e lenë ekzekutojnë rekomandimet e dhëna "manualisht", pa përdorur konfiguracionet dhe skriptet e gatshme, gjë që përfundimisht çon në probleme të panevojshme.
Në lidhje me ruterin dinamik. U përdor OSPF me ndarjen zonale. Por kjo është një stendë testimi, në kushte reale është më interesante të konfiguroni gjëra të tilla.
Shpresoj që askush të mos jetë ofenduar sepse nuk kam publikuar konfiguracionet e ruterave. Mendoj se lidhjet janë mjaft, dhe më pas gjithçka varet nga kërkesat. Dhe sigurisht, testet, nevojiten më shumë teste.
Ju uroj të gjithëve që në vitin e ri të realizoni projektet tuaja. Qoftë me ju 'access granted'!!!
Burimi: habr.com
