Proyék kuring anu teu acan réngsé. Jaringan 200 router MikroTik

Proyék kuring anu teu acan réngsé. Jaringan 200 router MikroTik

Halo sadayana. Tulisan ieu ditujukeun pikeun anu gaduh seueur alat Mikrotik di taman, sareng anu hoyong ngahijikeun maksimal supados henteu nyambung ka unggal alat nyalira. Dina tulisan ieu, kuring bakal ngajelaskeun proyék anu, hanjakalna, henteu ngahontal kaayaan tempur kusabab faktor manusa. Pondokna: leuwih ti 200 routers, setelan gancang jeung latihan staf, ngahijikeun kana wewengkon, nyaring jaringan jeung host husus, kamampuhan pikeun gampang nambahkeun aturan ka sadaya alat, logging jeung kontrol aksés.

Naon anu dijelaskeun di handap henteu nyamar janten kasus anu siap, tapi kuring ngarepkeun éta bakal mangpaat pikeun anjeun nalika ngarencanakeun jaringan anjeun sareng ngaminimalkeun kasalahan. Panginten sababaraha titik sareng kaputusan sigana henteu leres pikeun anjeun - upami kitu, nyerat dina koméntar. Kritik dina hal ieu bakal pangalaman dina piggy bank umum. Ku alatan éta, pamaca, tingali dina koméntar, panginten panulis ngalakukeun kasalahan anu parah - masarakat bakal ngabantosan.

Jumlah routers nyaéta 200-300, sumebar di kota béda jeung kualitas béda tina sambungan Internet. Ieu diperlukeun sangkan sagalana geulis tur ngajelaskeun ka admins lokal dina cara diaksés kumaha sagalana bakal jalan.

Janten dimana unggal proyék ngamimitian? Tangtu, kalawan TK.

  1. Organisasi rencana jaringan pikeun sadaya cabang numutkeun sarat palanggan, pamisahan jaringan (tina 3 dugi ka 20 jaringan dina cabang, gumantung kana jumlah alat).
  2. Nyetél alat dina unggal cabang. Mariksa bandwidth nyata panyadia dina kaayaan kerja anu béda.
  3. Organisasi panyalindungan alat, kontrol whitelist, deteksi otomatis serangan kalawan otomatis-blacklisting pikeun kurun waktu nu tangtu, minimization tina pamakéan rupa-rupa sarana teknis dipaké pikeun intercept kontrol aksés jeung panolakan tina jasa.
  4. Organisasi sambungan vpn aman sareng panyaring jaringan numutkeun syarat palanggan. Sahenteuna 3 sambungan vpn ti unggal cabang ka pusat.
  5. Dumasar poin 1, 2. Pilih cara anu pangsaéna pikeun ngawangun vpn anu teu toleran. Téknologi routing dinamis, kalayan leresan anu leres, tiasa dipilih ku kontraktor.
  6. Organisasi prioritas lalu lintas ku protokol, palabuhan, host sareng jasa khusus sanés anu dianggo ku nasabah. (VOIP, host sareng jasa penting)
  7. Organisasi ngawaskeun sareng logging acara router pikeun réspon staf dukungan téknis.

Sakumaha urang ngartos, dina sababaraha kasus spésifikasi téknis disusun dumasar kana sarat. Kuring ngarumuskeun syarat ieu sorangan, saatos ngadangukeun masalah utama. Anjeunna ngaku kamungkinan yén batur tiasa ngurus poin ieu.

Alat naon anu bakal dianggo pikeun minuhan sarat ieu:

  1. ELK tumpukan (sanggeus sababaraha waktu, ieu dipikaharti yén fluentd bakal dipaké tinimbang logstash).
  2. Ansible. Pikeun betah administrasi sareng ngabagi aksés, kami bakal nganggo AWX.
  3. GITLAB. Teu perlu ngajelaskeun di dieu. Dimana tanpa kadali versi configs kami.
  4. PowerShell. Bakal aya naskah basajan pikeun generasi awal config nu.
  5. Doku wiki, pikeun nulis dokuméntasi jeung manual. Dina hal ieu, kami nganggo habr.com.
  6. Ngawaskeun bakal dilakukeun ngaliwatan zabbix. Aya ogé diagram sambungan pikeun pamahaman umum.

titik setelan EFK

Dina titik anu munggaran, kuring ngan ukur ngajelaskeun ideologi dimana indéks bakal diwangun. Aya seueur
artikel unggulan ngeunaan nyetel jeung narima log ti alat ngajalankeun mikrotik.

Abdi badé ngémutan sababaraha titik:

1. Numutkeun skéma, éta patut mertimbangkeun narima log ti tempat béda jeung dina palabuhan béda. Jang ngalampahkeun ieu, urang bakal ngagunakeun log agrégator. Simkuring oge hoyong ngadamel grafik universal pikeun sakabéh routers kalawan kamampuhan pikeun babagi aksés. Teras urang ngawangun indéks sapertos kieu:

Ieu sapotong config kalawan fluentd elasticsearch
logstash_format leres
index_name mikrotiklogs.north
logstash_prefix mikrotiklogs.north
flush_interval 10s
sarwa élastis: 9200
port 9200

Ku kituna, urang bisa ngagabungkeun routers jeung bagean nurutkeun rencana - mikrotiklogs.west, mikrotiklogs.south, mikrotiklogs.east. Naha nyieun jadi hésé? Urang ngarti yén urang bakal boga 200 atawa leuwih alat. Ulah nuturkeun sagalana. Kusabab vérsi 6.8 elasticsearch, setélan kaamanan sayogi pikeun urang (tanpa mésér lisénsi), ku kituna, urang tiasa ngadistribusikaeun hak ningali antara karyawan dukungan téknis atanapi pangurus sistem lokal.
Tabél, grafik - di dieu anjeun ngan ukur kedah satuju - boh nganggo anu sami, atanapi sadayana ngalakukeun éta sabab bakal pikaresepeun pikeun anjeunna.

2. Ku logging. Upami urang ngaktipkeun log in aturan firewall, teras urang ngadamel nami tanpa spasi. Ieu bisa ditempo yén ngagunakeun config basajan dina fluentd, urang tiasa nyaring data sarta nyieun panels merenah. Gambar di handap ieu mangrupikeun router bumi kuring.

Proyék kuring anu teu acan réngsé. Jaringan 200 router MikroTik

3. Nurutkeun kana spasi nempatan jeung log. Rata-rata, kalayan 1000 pesen per jam, log nyandak 2-3 MB per poé, nu, nu katingali, teu jadi loba. elasticsearch Vérsi 7.5.

ANSIBLE.AWX

Untungna, urang boga modul siap-dijieun pikeun routeros
Kuring nunjuk kaluar ngeunaan AWX, tapi Paréntah handap ngan ngeunaan ansible dina formulir purest na - Jigana pikeun maranéhanana anu geus digarap kalawan ansible, moal aya masalah ngagunakeun awx ngaliwatan gui.

Jujur, sateuacan éta kuring ningali pituduh sanés dimana aranjeunna nganggo ssh, sareng sadayana ngagaduhan masalah anu béda sareng waktos réspon sareng seueur masalah anu sanés. Kuring ngulang, éta teu meunang perangna , nyandak informasi ieu salaku percobaan nu teu balik saluareun stand 20 routers.

Urang kedah nganggo sertipikat atanapi akun. Terserah anjeun mutuskeun, kuring keur sertipikat. Sababaraha titik halus dina hak. Kuring masihan hak nulis - sahenteuna "reset config" moal jalan.

Henteu aya masalah sareng ngahasilkeun, nyalin sertipikat sareng ngimpor:

Daptar ringkes paréntahDina PC Anjeun
ssh-keygen -t RSA, ngajawab patarosan, simpen konci.
Salin kana mikrotik:
pamaké ssh-konci impor publik-konci-file = id_mtx.pub pamaké = ansible
Kahiji maneh kudu nyieun hiji akun tur allocate hak kana eta.
Mariksa sambungan sareng sertipikat
ssh -p 49475 -i / konci / mtx [email dijaga]

Tulis 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

Muhun, conto playbook: ngaran: add_work_sites
host: testmt
séri: 1
sambungan: network_cli
remote_user: mikrotik.west
gather_facts: nuhun
tugas:
ngaran: nambahkeun Work_sites
routeros_command:
paréntah:
- / ip firewall address-list add address=gov.ru list=work_sites comment=Ticket665436_Ochen_nado
- / ip firewall alamat-daftar nambahkeun alamat = habr.com daptar = work_sites comment = for_habr

Sakumaha anjeun tiasa tingali tina konfigurasi di luhur, nyusun playbooks anjeun nyalira mangrupikeun masalah anu saderhana. Ieu cukup alus pikeun master cli mikrotik. Bayangkeun kaayaan dimana anjeun kedah ngahapus daptar alamat kalayan data anu tangtu dina sadaya router, teras:

Panggihan tur cabut/ ip firewal alamat-daptar dipiceun [manggihan mana daptar = "gov.ru"]

Kuring ngahaja henteu ngalebetkeun sadaya daptar firewall di dieu. eta bakal individual pikeun tiap proyék. Tapi kuring bisa nyebutkeun hiji hal pasti, make ngan daptar alamat.

Numutkeun kana GITLAB, sadayana jelas. Kuring moal Huni on moment ieu. Sagalana geulis dina watesan tugas individu, template, pawang.

PowerShell

Bakal aya 3 file. Naha powershell? Alat pikeun ngahasilkeun konfigurasi tiasa dipilih ku saha waé anu langkung nyaman. Dina hal ieu, sadaya jelema boga windows on PC maranéhanana, jadi naha ngalakukeun eta on bash lamun Powershell leuwih merenah. Saha nu leuwih nyaman.

Skrip sorangan (basajan tur kaharti):[cmdletBinding()] Param(
[Parameter(Wajib=$true)] [string]$EXTERNALIPADDRESS,
[Parameter(Wajib=$true)] [string]$EXTERNALIPROUTE,
[Parameter(Wajib=$true)] [string]$BWorknets,
[Parameter(Wajib=$true)] [string]$CWorknets,
[Parameter(Wajib=$true)] [string]$BVoipNets,
[Parameter(Wajib=$true)] [string]$CVoipNets,
[Parameter(Wajib=$true)] [string]$CClientss,
[Parameter(Wajib=$true)] [string]$BVPNWORKs,
[Parameter(Wajib=$true)] [string]$CVPNWORKs,
[Parameter(Wajib=$true)] [string]$BVPNCLIENTSs,
[Parameter(Wajib=$true)] [string]$cVPNCLIENTSs,
[Parameter(Wajib=$true)] [string]$NAMEROUTER,
[Parameter(Wajib=$true)] [string]$ServerCertificates,
[Parameter(Wajib=$true)] [string]$infile,
[Parameter(Wajib=$true)] [string]$outfile
)

Meunang-Eusi $infile | Foreach-Objék {$ _. Ganti ("EXTERNIP", $ EXTERNALIPADDRESS)} |
Foreach-Objék {$ _. Ganti ("EXTROUTE", $ EXTERNALIPROUTE)} |
Foreach-Objék {$ _. Ganti ("BWorknet", $ BWorknets)} |
Foreach-Objék {$ _. Ganti ( "CWorknet", $ CWorknets)} |
Foreach-Objék {$ _. Ganti ("BVoipNet", $ BVoipNets)} |
Foreach-Objék {$ _. Ganti ("CVoipNet", $ CVoipNets)} |
Foreach-Objék {$ _. Ganti ("CClients", $ CClientss)} |
Foreach-Objék {$_.Ganti ("BVPNWORK", $BVPNWORKs)} |
Foreach-Objék {$_.Ganti ("CVPNWORK", $CVPNWORKs)} |
Foreach-Objék {$_.Ganti ("BVPNCLIENTS", $BVPNCLIENTSs)} |
Foreach-Objék {$_.Ganti ("CVPNCLIENTS", $cVPNCLIENTSs)} |
Foreach-Objék {$_.Ganti ("MYNAMERROUTER", $NAMEROUTER)} |
Foreach-Objék {$ _. Ganti ("ServerCertificate", $ServerCertificates)} | Set-Eusi $ outfile

Hapunten, abdi teu tiasa nempatkeun sagala aturan. éta moal geulis. Anjeun tiasa ngadamel aturan sorangan, dipandu ku prakték anu pangsaéna.

Salaku conto, ieu daptar tautan anu kuring dipandu ku:wiki.mikrotik.com/wiki/Manual:Securing_Your_Router
wiki.mikrotik.com/wiki/Manual: IP/Firewall/Saringan
wiki.mikrotik.com/wiki/Manual: OSPF-conto
wiki.mikrotik.com/wiki/Drop_port_scanners
wiki.mikrotik.com/wiki/Manual: Winbox
wiki.mikrotik.com/wiki/Manual: Ngaronjatkeun_RouterOS
wiki.mikrotik.com/wiki/Manual: IP / Fasttrack - didieu anjeun kudu nyaho yén lamun fasttrack diaktipkeun, prioritization lalulintas sarta aturan shaping moal jalan - mangpaat pikeun alat lemah.

Konvénsi variabel:Jaringan di handap ieu dicandak sabagé conto:
192.168.0.0/24 jaringan jalan
172.22.4.0/24 jaringan VOIP
10.0.0.0/24 jaringan pikeun klien tanpa aksés LAN
192.168.255.0/24 jaringan VPN pikeun cabang badag
172.19.255.0/24 jaringan VPN keur leutik

Alamat jaringan diwangun ku 4 angka decimal, masing-masing ABCD, ngagantian jalan nurutkeun prinsip anu sarua, lamun eta miwarang B dina ngamimitian, anjeun kudu ngasupkeun nomer 192.168.0.0 pikeun jaringan 24/0, sarta pikeun C = 0. .
$EXTERNALIPADDRESS - dialokasikeun alamat ti panyadia.
$ EXTERNALIPROUTE - jalur standar pikeun jaringan 0.0.0.0/0
$BWorknets - Jaringan gawé, dina conto urang bakal aya 168
$CWorknets - Jaringan gawé, dina conto urang bakal 0
$BVoipNets - jaringan VOIP dina conto urang di dieu 22
$CVoipNets - jaringan VOIP dina conto urang di dieu 4
$CClientss - Jaringan pikeun klien - ngan ukur aksés ka Internét, bisi kami di dieu 0
$BVPNWORKs - Jaringan VPN pikeun cabang ageung, dina conto urang 20
$CVPNWORKs - Jaringan VPN pikeun cabang ageung, dina conto urang 255
$BVPNCLIENTS - Jaringan VPN pikeun cabang leutik, hartosna 19
$CVPNCLIENTS - jaringan VPN pikeun cabang leutik, hartina 255
$NAMEROUTER - ngaran router
$ServerCertificate - nami sertipikat anu anjeun impor heula
$infile - Sebutkeun jalur ka file ti mana urang bakal maca config, contona D:config.txt (jalur Inggris hadé tanpa tanda petik jeung spasi)
$ outfile - nangtukeun jalur dimana nyimpen, contona D: MT-test.txt

Kuring ngahaja ngarobah alamat dina conto alesan jelas.

Kuring sono kana titik pikeun ngadeteksi serangan sareng paripolah anomali - ieu pantes janten tulisan anu misah. Tapi éta patut nunjukkeun yén dina kategori ieu anjeun tiasa nganggo ngawaskeun nilai data ti Zabbix + dianggo kaluar data curl tina elasticsearch.

Naon titik fokus kana:

  1. Rencana jaringan. Hadé pisan mun éta nulis dina wangun nu bisa dibaca. Excel cukup. Hanjakalna, kuring sering ningali yén jaringan disusun dumasar kana prinsip "Cabang énggal parantos muncul, didieu / 24 pikeun anjeun." Teu aya anu mendakan sabaraha alat anu dipiharep dina lokasi anu ditangtukeun sareng naha bakal aya kamekaran salajengna. Contona, hiji toko leutik geus dibuka, nu eta mimitina jelas yén alat bakal moal leuwih ti 10, naha allocate / 24? Pikeun cabang badag, sabalikna, aranjeunna allocate / 24, sarta aya 500 alat - Anjeun ngan bisa nambahkeun jaringan, tapi rék mikir sagalana ngaliwatan katuhu jauh.
  2. Aturan nyaring. Upami proyek nganggap yén bakal aya pamisahan jaringan sareng pamisahan maksimal. Praktek Pangalusna robah kana waktu. Saméméhna, aranjeunna ngabagi jaringan PC sareng jaringan printer, ayeuna rada normal henteu ngabagi jaringan ieu. Éta patut ngagunakeun akal sehat sareng henteu ngahasilkeun seueur subnet dimana aranjeunna henteu diperyogikeun sareng henteu ngahijikeun sadaya alat kana hiji jaringan.
  3. Setélan "Emas" dina sadaya router. Jelema. mun anjeun boga rencana. Eta sia foreseeing sagalana sakaligus tur coba pikeun mastikeun yén sakabéh setélan idéntik - ngan aya daptar alamat béda jeung alamat ip. Upami aya masalah, waktos pikeun debugging bakal kirang.
  4. Aspék organisasi henteu kurang pentingna tibatan téknis. Seringna, karyawan puguh nuturkeun saran ieu "sacara manual", tanpa nganggo konfigurasi sareng skrip anu siap-siap, anu pamustunganana ngabalukarkeun masalah ti mimiti.

Ku routing dinamis. OSPF kalawan zoning ieu dipaké. Tapi ieu mangrupikeun bangku tés, dina kaayaan tempur, hal-hal sapertos kitu langkung narik pikeun nyetél.

Abdi ngarepkeun teu aya anu kesel yén kuring henteu masangkeun konfigurasi router. Jigana nu Tumbu bakal cukup, lajeng eta sadayana gumantung kana sarat. Sareng tangtosna tés, langkung seueur tés anu diperyogikeun.

Kuring miharep dulur ngawujudkeun proyék maranéhanana dina taun anyar. Muga-muga aksés anu dipasihkeun sareng anjeun !!!

sumber: www.habr.com

Tambahkeun komentar