xtables-addons: pasganan sìoltachain a rèir dùthaich

xtables-addons: pasganan sìoltachain a rèir dùthaich
Tha e coltach gu bheil an obair casg a chuir air trafaic bho dhùthchannan sònraichte sìmplidh, ach faodaidh ciad bheachdan a bhith meallta. An-diugh innsidh sinn dhut mar a ghabhas seo a chuir an gnìomh.

ro-eachdraidheil

Tha toraidhean sgrùdadh Google air a’ chuspair seo na bhriseadh-dùil: tha a ’mhòr-chuid de na fuasglaidhean air a bhith“ grodadh ”o chionn fhada agus uaireannan tha e coltach gu bheil an cuspair seo air a chuir air ais agus air a dhìochuimhneachadh gu bràth. Tha sinn air cìreadh tro tòrr sheann chlàran agus tha sinn deiseil airson dreach ùr-nodha den stiùireadh a cho-roinn.

Tha sinn a’ moladh gun leugh thu an artaigil gu lèir mus cuir thu na h-òrdughan sin an gnìomh.

Ag ullachadh an siostam-obrachaidh

Thèid sìoladh a rèiteachadh a’ cleachdadh a’ ghoireas iptables, a dh'fheumas leudachadh gus obrachadh le dàta GeoIP. Gheibhear an leudachadh seo ann an xtables-addons. Bidh xtables-addons a’ stàladh leudachaidhean airson iptables mar mhodalan kernel neo-eisimeileach, agus mar sin chan eil feum air an kernel OS ath-chruinneachadh.

Aig àm sgrìobhaidh, is e 3.9 an tionndadh làithreach de xtables-addons. Ach, chan fhaighear ach 20.04 anns na stòran àbhaisteach Ubuntu 3.8 LTS, agus 18.04 ann an stòran Ubuntu 3.0. Faodaidh tu an leudachadh a stàladh bhon mhanaidsear pacaid leis an àithne a leanas:

apt install xtables-addons-common libtext-csv-xs-perl

Thoir an aire gu bheil eadar-dhealachaidhean beaga ach cudromach eadar dreach 3.9 agus staid làithreach a’ phròiseict, air am bi sinn a’ beachdachadh nas fhaide air adhart. Gus togail bhon chòd stòr, stàlaich na pacaidean riatanach uile:

apt install git build-essential autoconf make libtool iptables-dev libxtables-dev pkg-config libnet-cidr-lite-perl libtext-csv-xs-perl

Clone an stòr:

git clone https://git.code.sf.net/p/xtables-addons/xtables-addons xtables-addons-xtables-addons

cd xtables-addons-xtables-addons

Tha mòran leudachadh ann an xtables-addons, ach chan eil ùidh againn ach ann xt_geoip. Mura h-eil thu airson leudachaidhean neo-riatanach a tharraing a-steach don t-siostam, faodaidh tu an dùnadh a-mach às an togalach. Gus seo a dhèanamh feumaidh tu am faidhle a dheasachadh mconfig. Airson a h-uile modal a tha thu ag iarraidh, stàlaich y, agus comharraich a h-uile gin neo-riatanach n. Bidh sinn a’ cruinneachadh:

./autogen.sh

./configure

make

Agus stàlaich le còraichean superuser:

make install

Nuair a bhios tu a’ stàladh mhodalan kernel, faodaidh mearachd coltach ris na leanas tachairt:

INSTALL /root/xtables-addons-xtables-addons/extensions/xt_geoip.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:72
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:79
sign-file: certs/signing_key.pem: No such file or directory

Tha an suidheachadh seo ag èirigh air sgàth cho neo-chomasach 'sa tha e modalan kernel a shoidhnigeadh, air sgàth chan eil dad ri shoidhnigeadh. Faodaidh tu an duilgheadas seo fhuasgladh le òrdugh no dhà:

cd /lib/modules/(uname -r)/build/certs

cat <<EOF > x509.genkey

[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
CN = Modules

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
EOF

openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem

Tha am modal kernel cruinnichte air a chuir a-steach, ach chan eil an siostam ga lorg. Iarraidh sinn air an t-siostam mapa eisimeileachd a chruthachadh a’ toirt aire don mhodal ùr, agus an uairsin a luchdachadh:

depmod -a

modprobe xt_geoip

Dèan cinnteach gu bheil xt_geoip air a luchdachadh a-steach don t-siostam:

# lsmod | grep xt_geoip
xt_geoip               16384  0
x_tables               40960  2 xt_geoip,ip_tables

A bharrachd air an sin, dèan cinnteach gu bheil an leudachadh air a luchdachadh a-steach do iptables:

# cat /proc/net/ip_tables_matches 
geoip
icmp

Tha sinn toilichte leis a h-uile càil agus chan eil air fhàgail ach ainm a’ mhodal a chur ris / etc / modalangus am bi am modal ag obair às deidh dha an OS ath-thòiseachadh. Bho seo a-mach, tha iptables a’ tuigsinn òrdughan geoip, ach chan eil dàta gu leòr aige airson obrachadh leis. Feuch an tòisich sinn a’ luchdachadh an stòr-dàta geoip.

Luchdaich a-nuas an stòr-dàta GeoIP

Bidh sinn a’ cruthachadh eòlaire anns an tèid fiosrachadh a tha furasta a thuigsinn don leudachadh iptables a stòradh:

mkdir /usr/share/xt_geoip

Aig toiseach an artaigil, thug sinn iomradh air gu bheil eadar-dhealachaidhean eadar an dreach bhon chòd stòr agus an dreach bhon mhanaidsear pacaid. Is e an eadar-dhealachadh as follaisiche an atharrachadh ann an reiceadair stòr-dàta agus sgriobt xt_geoip_dl, a bhios a 'luchdachadh sìos an dàta as ùire.

Tionndadh manaidsear pacaid

Tha an sgriobt suidhichte anns an t-slighe / usr/lib/xtables-addons, ach nuair a dh’ fheuchas tu ri a ruith, chì thu mearachd nach eil gu math fiosrachail:

# ./xt_geoip_dl 
unzip:  cannot find or open GeoLite2-Country-CSV.zip, GeoLite2-Country-CSV.zip.zip or GeoLite2-Country-CSV.zip.ZIP.

Roimhe sin, chaidh an toradh GeoLite, ris an canar a-nis GeoLite Legacy, air a chuairteachadh fo chead, a chleachdadh mar stòr-dàta Creative Commons ASA 4.0 chompanaidh MaxMind. Thachair dà thachartas leis an toradh seo aig an aon àm a “bhris” co-chòrdalachd le leudachadh iptables.

An toiseach, san Fhaoilleach 2018 ainmeachadh mu bhith a’ toirt taic don toradh gu crìch, agus air 2019 Faoilleach 2, chaidh a h-uile ceangal gu luchdachadh sìos an t-seann dreach den stòr-dàta a thoirt air falbh bhon làrach-lìn oifigeil. Thathas a’ moladh do luchd-cleachdaidh ùr an toradh GeoLite2 no an dreach pàighte GeoIPXNUMX a chleachdadh.

San dàrna h-àite, bhon Dùbhlachd 2019 MaxMind ag ràdh mu atharrachadh mòr ann an ruigsinneachd air na stòran-dàta aca. Gus gèilleadh ri Achd Dìomhaireachd Luchd-cleachdaidh California, cho-dhùin MaxMind “còmhdach” cuairteachadh GeoLite2 le clàradh.

Leis gu bheil sinn airson an toradh aca a chleachdadh, clàraichidh sinn air an duilleag seo.

xtables-addons: pasganan sìoltachain a rèir dùthaich
Gheibh thu an uairsin post-d ag iarraidh ort facal-faire a shuidheachadh. A-nis gu bheil sinn air cunntas a chruthachadh, feumaidh sinn iuchair ceadachais a chruthachadh. Anns a’ chunntas pearsanta agad lorg sinn an nì Na h-iuchraichean ceadachais agam, agus an uairsin cliog air a’ phutan Cruthaich iuchair ceadachais ùr.

Nuair a chruthaicheas sinn iuchair, cha tèid ach aon cheist fhaighneachd dhuinn: an cleachd sinn an iuchair seo ann am prògram Ùrachadh GeoIP? Bidh sinn a’ freagairt àicheil agus a’ putadh air a’ phutan Dearbhaich. Thèid an iuchair a thaisbeanadh ann an uinneag pop-up. Sàbhail an iuchair seo ann an àite sàbhailte, oir aon uair ‘s gun dùin thu an uinneag pop-up, chan urrainn dhut an iuchair gu lèir fhaicinn tuilleadh.

xtables-addons: pasganan sìoltachain a rèir dùthaich
Tha comas againn stòran-dàta GeoLite2 a luchdachadh sìos le làimh, ach chan eil an cruth aca co-chosmhail ris a’ chruth ris a bheil dùil leis an sgriobt xt_geoip_build. Seo far an tig sgriobtaichean GeoLite2xtables gu teasairginn. Gus sgriobtaichean a ruith, stàlaich am modal NetAddr :: perl IP:

wget https://cpan.metacpan.org/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz

tar xvf NetAddr-IP-4.079.tar.gz

cd NetAddr-IP-4.079

perl Makefile.PL

make

make install

An uairsin, bidh sinn a’ clonadh an stòr le sgriobtaichean agus a’ sgrìobhadh an iuchair cead a fhuaireadh roimhe gu faidhle:

git clone https://github.com/mschmitt/GeoLite2xtables.git

cd GeoLite2xtables

echo YOUR_LICENSE_KEY=’123ertyui123' > geolite2.license

Rachamaid na sgriobtaichean:

# Скачиваем данные GeoLite2
./00_download_geolite2
# Скачиваем информацию о странах (для соответствия коду)
./10_download_countryinfo
# Конвертируем GeoLite2 базу в формат GeoLite Legacy 
cat /tmp/GeoLite2-Country-Blocks-IPv{4,6}.csv |
./20_convert_geolite2 /tmp/CountryInfo.txt > /usr/share/xt_geoip/dbip-country-lite.csv

Bidh MaxMind a’ cur crìoch air luchdachadh sìos 2000 gach latha agus, le àireamh mhòr de luchd-frithealaidh, tha e a’ tabhann an ùrachadh a thasgadh air frithealaiche progsaidh.

Thoir an aire gum feumar am faidhle toraidh a ghairm dbip-country-lite.csv... Gu mì-fhortanach, 20_tionndaidh_geolite2 chan eil e a’ toirt a-mach faidhle foirfe. Sgriobtur xt_geoip_togail Tha dùil ri trì colbhan:

  • toiseach raon seòlaidh;
  • deireadh raon seòlaidh;
  • còd na dùthcha ann an iso-3166-alpha2.

Agus tha sia colbhan anns an fhaidhle toraidh:

  • toiseach raon seòlaidh (riochdachadh sreang);
  • deireadh raon seòlaidh (riochdachadh sreang);
  • toiseach raon seòlaidh (riochdachadh àireamhach);
  • deireadh raon seòlaidh (riochdachadh àireamhach);
  • còd na dùthcha;
  • ainm na dùthcha.

Tha an eadar-dhealachadh seo deatamach agus faodar a cheartachadh ann an aon de dhà dhòigh:

  1. deasaich 20_tionndaidh_geolite2;
  2. deasaich xt_geoip_togail.

Anns a 'chiad chùis bidh sinn a' lùghdachadh printf chun an cruth a tha a dhìth, agus san dàrna fear - bidh sinn ag atharrachadh an t-sònrachadh gu caochlaideach $ cc air $row->[4]. Às deidh seo faodaidh tu:

/usr/lib/xtables-addons/xt_geoip_build -S /usr/share/xt_geoip/ -D /usr/share/xt_geoip

. . .
 2239 IPv4 ranges for ZA
  348 IPv6 ranges for ZA
   56 IPv4 ranges for ZM
   12 IPv6 ranges for ZM
   56 IPv4 ranges for ZW
   15 IPv6 ranges for ZW

Thoir an aire gu bheil an t-ùghdar GeoLite2xtables chan eil e a’ beachdachadh air na sgriobtaichean aige deiseil airson cinneasachadh agus tairgsean rian airson leasachadh sgriobtaichean tùsail xt_geoip_*. Mar sin, gluaisidh sinn air adhart chun cho-chruinneachadh bho chòdan stòr, anns a bheil na sgriobtaichean sin air an ùrachadh mu thràth.

Tionndadh stòr

Nuair a stàlaicheas tu sgriobtaichean còd stòr xt_geoip_* suidhichte anns a’ chatalog /usr/local/libexec/xtables-addons. Cleachdaidh an dreach seo den sgriobt stòr-dàta IP gu Country Lite. 'S e Creative Commons Attribution License a th' anns a' chead, agus bhon dàta a tha ri fhaotainn tha na trì colbhan riatanach. Luchdaich sìos agus cruinnich an stòr-dàta:

cd /usr/share/xt_geoip/

/usr/local/libexec/xtables-addons/xt_geoip_dl

/usr/local/libexec/xtables-addons/xt_geoip_build

Às deidh na ceumannan seo, tha iptables deiseil airson obair.

A’ cleachdadh geoip ann an iptables

Modal xt_geoip cuir ris ach dà iuchair:

geoip match options:
[!] --src-cc, --source-country country[,country...]
	Match packet coming from (one of) the specified country(ies)
[!] --dst-cc, --destination-country country[,country...]
	Match packet going to (one of) the specified country(ies)

NOTE: The country is inputed by its ISO3166 code.

Tha na dòighean airson riaghailtean a chruthachadh airson iptables, san fharsaingeachd, fhathast gun atharrachadh. Gus iuchraichean bho mhodalan a bharrachd a chleachdadh, feumaidh tu ainm a’ mhodal a shònrachadh gu soilleir leis an tionndadh -m. Mar eisimpleir, riaghailt gus casg a chuir air ceanglaichean TCP a tha a’ tighinn a-steach air port 443 chan ann bho na SA air a h-uile eadar-aghaidh:

iptables -I INPUT ! -i lo -p tcp --dport 443 -m geoip ! --src-cc US -j DROP

Cha chleachdar faidhlichean a chruthaich xt_geoip_build ach nuair a thathar a’ cruthachadh riaghailtean, ach chan eilear gan toirt fa-near nuair a thathar a’ sìoladh. Mar sin, gus an stòr-dàta geoip ùrachadh gu ceart, feumaidh tu an toiseach na faidhlichean iv* ùrachadh, agus an uairsin ath-chruthachadh a h-uile riaghailt a chleachdas geoip ann an iptables.

co-dhùnadh

Tha sìoladh phasganan stèidhichte air dùthchannan na ro-innleachd air a dhìochuimhneachadh le ùine. A dh’ aindeoin sin, thathas a’ leasachadh innealan bathar-bog airson a leithid de shìoladh agus, is dòcha, a dh’ aithghearr nochdaidh dreach ùr de xt_geoip le solaraiche dàta geoip ùr ann am manaidsearan pacaid, a nì beatha luchd-rianachd an t-siostaim gu mòr nas sìmplidhe.

xtables-addons: pasganan sìoltachain a rèir dùthaich

Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.

An do chleachd thu criathradh a-rèir dùthaich a-riamh?

  • 59,1%Seadh13

  • 40,9%Chan eil 9

Bhòt 22 neach-cleachdaidh. Sheall 3 neach-cleachdaidh.

Source: www.habr.com

Cuir beachd ann