xtables-addons፡ ጥቅሎችን በአገር ያጣሩ

xtables-addons፡ ጥቅሎችን በአገር ያጣሩ
ከተወሰኑ አገሮች የሚመጡ ትራፊክን የመዝጋት ተግባር ቀላል ይመስላል, ነገር ግን የመጀመሪያ ግንዛቤዎች ማታለል ይችላሉ. ዛሬ ይህ እንዴት ሊተገበር እንደሚችል እናነግርዎታለን.

prehistory

በዚህ ርዕስ ላይ የጉግል ፍለጋ ውጤቶች ተስፋ አስቆራጭ ናቸው-አብዛኞቹ መፍትሄዎች ለረጅም ጊዜ "የበሰበሰ" እና አንዳንድ ጊዜ ይህ ርዕስ ተጠብቆ እና ለዘላለም የተረሳ ይመስላል. ብዙ የቆዩ መዝገቦችን አሳልፈናል እና ዘመናዊውን የመመሪያውን ስሪት ለማጋራት ዝግጁ ነን።

እነዚህን ትዕዛዞች ከመፈፀምዎ በፊት ሙሉውን ጽሑፍ እንዲያነቡ እንመክራለን.

የስርዓተ ክወናውን በማዘጋጀት ላይ

ማጣራት መገልገያውን በመጠቀም ይዋቀራል። iptablesከጂኦአይፒ መረጃ ጋር ለመስራት ማራዘሚያ ያስፈልገዋል። ይህ ቅጥያ የሚገኘው በ ውስጥ ነው። xtables-addons. xtables-addons የ iptables ቅጥያዎችን እንደ ገለልተኛ የከርነል ሞጁሎች ይጭናል፣ ስለዚህ የስርዓተ ክወና ከርነልን እንደገና ማጠናቀር አያስፈልግም።

በሚጽፉበት ጊዜ፣ የአሁኑ የ xtables-addons ስሪት 3.9 ነው። ነገር ግን በመደበኛ የኡቡንቱ 20.04 LTS ማከማቻዎች እና 3.8 በኡቡንቱ 18.04 ማከማቻዎች ውስጥ 3.0 ብቻ ይገኛሉ። ቅጥያውን ከጥቅል አስተዳዳሪው በሚከተለው ትዕዛዝ መጫን ይችላሉ፡

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

በስሪት 3.9 እና አሁን ባለው የፕሮጀክቱ ሁኔታ መካከል ትንሽ ነገር ግን አስፈላጊ ልዩነቶች እንዳሉ ልብ ይበሉ, ይህም በኋላ እንነጋገራለን. ከምንጩ ኮድ ለመገንባት ሁሉንም አስፈላጊ ፓኬጆችን ይጫኑ፡-

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

ማከማቻውን መዝጋት;

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

cd xtables-addons-xtables-addons

xtables-addons ብዙ ቅጥያዎችን ይዟል, ነገር ግን እኛ ብቻ ፍላጎት አለን xt_ጂኦአይፒ. አላስፈላጊ ቅጥያዎችን ወደ ስርዓቱ መጎተት ካልፈለጉ ከግንባታው ውስጥ ማስወጣት ይችላሉ. ይህንን ለማድረግ ፋይሉን ማርትዕ ያስፈልግዎታል mconfig. ለሁሉም ተፈላጊ ሞጁሎች ይጫኑ y, እና ሁሉንም አላስፈላጊ የሆኑትን ምልክት ያድርጉ n. እኛ እንሰበስባለን:

./autogen.sh

./configure

make

እና ከሱፐር ተጠቃሚ መብቶች ጋር ይጫኑ፡-

make install

የከርነል ሞጁሎች በሚጫኑበት ጊዜ ከሚከተሉት ጋር ተመሳሳይ የሆነ ስህተት ሊከሰት ይችላል.

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

ይህ ሁኔታ የሚከሰተው የከርነል ሞጁሎችን መፈረም የማይቻል በመሆኑ ነው, ምክንያቱም ምንም ለመፈረም. ይህንን ችግር በሁለት ትዕዛዞች መፍታት ይችላሉ-

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

የተቀናበረው የከርነል ሞጁል ተጭኗል፣ ግን ስርዓቱ አያገኘውም። አዲሱን ሞጁል ከግምት ውስጥ በማስገባት ስርዓቱ የጥገኝነት ካርታ እንዲፈጥር እንጠይቀው እና እንጭነው፡-

depmod -a

modprobe xt_geoip

xt_geoip በስርዓቱ ውስጥ መጫኑን እናረጋግጥ፡-

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

በተጨማሪ፣ ቅጥያው ወደ iptables መጫኑን ያረጋግጡ፡-

# cat /proc/net/ip_tables_matches 
geoip
icmp

በሁሉም ነገር ደስተኞች ነን እና የቀረው የሞጁሉን ስም ማከል ብቻ ነው። / ወዘተ / ሞጁሎችሞጁሉ ስርዓተ ክወናውን እንደገና ካስነሳ በኋላ እንዲሰራ። ከአሁን ጀምሮ፣ iptables የጂኦፕ ትዕዛዞችን ይገነዘባል፣ ነገር ግን አብሮ ለመስራት በቂ ውሂብ የለውም። የጂኦፕ ዳታቤዝ መጫን እንጀምር።

የጂኦአይፒ ዳታቤዝ በማግኘት ላይ

ለ iptables ቅጥያ ለመረዳት የሚቻልበት መረጃ የሚከማችበት ማውጫ እንፈጥራለን፡-

mkdir /usr/share/xt_geoip

በአንቀጹ መጀመሪያ ላይ ከስር ኮድ እና ከጥቅል አቀናባሪው ስሪት መካከል ልዩነቶች እንዳሉ ጠቅሰናል። በጣም የሚታየው ልዩነት የውሂብ ጎታ አቅራቢ እና ስክሪፕት ለውጥ ነው። xt_geoip_dl, የቅርብ ጊዜውን ውሂብ የሚያወርድ.

የጥቅል አስተዳዳሪ ስሪት

ስክሪፕቱ የሚገኘው በመንገዱ /usr/lib/xtables-addons ላይ ነው፣ነገር ግን እሱን ለማስኬድ ሲሞክሩ ብዙ መረጃ ሰጭ ስህተት ያያሉ።

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

ከዚህ ቀደም በፈቃድ የተሰራጨው የጂኦላይት ምርት፣ አሁን ጂኦላይት ሌጋሲ ተብሎ የሚጠራው፣ እንደ ዳታቤዝ ያገለግል ነበር። የፈጠራ የጋራ ASA 4.0 ኩባንያ ማክስሚንድ. ከዚህ ምርት ጋር በአንድ ጊዜ ከiptables ቅጥያ ጋር ተኳሃኝነትን የሰበረ ሁለት ክስተቶች ተከስተዋል።

በመጀመሪያ በጥር 2018 ይፋ ተደርጓል ስለ ምርቱ ድጋፍ መቋረጥ እና በጥር 2019 ቀን 2 የድሮውን የውሂብ ጎታውን ስሪት ለማውረድ ሁሉም አገናኞች ከኦፊሴላዊው ድር ጣቢያ ተወግደዋል። አዲስ ተጠቃሚዎች የGeoLite2 ምርትን ወይም የሚከፈልበትን ስሪት GeoIPXNUMX እንዲጠቀሙ ይመከራሉ።

በሁለተኛ ደረጃ፣ ከዲሴምበር 2019 MaxMind ገል .ል በመረጃ ቋቶቻቸው ላይ ስላለው ጉልህ ለውጥ። የካሊፎርኒያ የሸማቾች ግላዊነት ህግን ለማክበር፣MaxMind GeoLite2 ስርጭትን ከምዝገባ ጋር "ለመሸፈን" ወሰነ።

ምርታቸውን መጠቀም ስለምንፈልግ በዚህ ገጽ ላይ እንመዘግባለን።

xtables-addons፡ ጥቅሎችን በአገር ያጣሩ
ከዚያ የይለፍ ቃል እንዲያዘጋጁ የሚጠይቅ ኢሜይል ይደርስዎታል። አሁን መለያ ስለፈጠርን የፍቃድ ቁልፍ መፍጠር አለብን። በግል መለያዎ ውስጥ ንጥሉን እናገኛለን የእኔ የፍቃድ ቁልፎች, እና ከዚያ አዝራሩን ጠቅ ያድርጉ አዲስ የፍቃድ ቁልፍ ይፍጠሩ.

ቁልፍ ስንፈጥር አንድ ጥያቄ ብቻ እንጠየቃለን፡ ይህንን ቁልፍ በጂኦአይፒ ማሻሻያ ፕሮግራም ውስጥ እንጠቀማለን? አሉታዊ ምላሽ እንሰጣለን እና አዝራሩን ይጫኑ አረጋግጥ. ቁልፉ በብቅ ባዩ መስኮት ውስጥ ይታያል. ብቅ ባይ መስኮቱን አንዴ ከዘጉ በኋላ ሙሉ ቁልፉን ማየት ስለማይችሉ ይህን ቁልፍ በአስተማማኝ ቦታ ያስቀምጡት።

xtables-addons፡ ጥቅሎችን በአገር ያጣሩ
GeoLite2 የውሂብ ጎታዎችን በእጅ የማውረድ ችሎታ አለን ነገር ግን ቅርጸታቸው በ xt_geoip_build ስክሪፕት ከሚጠበቀው ቅርጸት ጋር ተኳሃኝ አይደለም። እዚህ የጂኦላይት2xtables ስክሪፕቶች ለማዳን የሚመጡበት ነው። ስክሪፕቶችን ለማሄድ NetAddr::IP perl ሞጁሉን ይጫኑ፡-

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

በመቀጠል፣ ማከማቻውን በስክሪፕቶች እንዘጋዋለን እና ከዚህ ቀደም የተገኘውን የፍቃድ ቁልፍ ወደ ፋይል እንጽፋለን።

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

cd GeoLite2xtables

echo YOUR_LICENSE_KEY=’123ertyui123' > geolite2.license

ስክሪፕቶቹን እናካሂድ፡-

# Скачиваем данные 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

MaxMind በቀን 2000 ማውረዶችን ይገድባል እና ብዙ ቁጥር ያላቸው ሰርቨሮች ባሉበት ሁኔታ ዝመናውን በተኪ አገልጋይ ላይ እንዲሸጎጥ ያቀርባል።

እባክዎ የውጤት ፋይሉ መጠራት እንዳለበት ያስተውሉ dbip-ሀገር-lite.csv... እንደ አለመታደል ሆኖ 20_የተለወጠ_ጂኦላይት2 ፍጹም የሆነ ፋይል አያወጣም. ስክሪፕት xt_geoip_build ሶስት አምዶችን ይጠብቃል:

  • የአድራሻ ክልል መጀመሪያ;
  • የአድራሻ ክልል መጨረሻ;
  • የአገር ኮድ በ iso-3166-alpha2.

እና የውጤት ፋይሉ ስድስት አምዶችን ይይዛል-

  • የአድራሻ ክልል መጀመሪያ (የሕብረቁምፊ ውክልና);
  • የአድራሻ ክልል መጨረሻ (የሕብረቁምፊ ውክልና);
  • የአድራሻ ክልል መጀመሪያ (የቁጥር ውክልና);
  • የአድራሻ ክልል መጨረሻ (የቁጥር ውክልና);
  • የአገሪቱ ኮድ;
  • የአገሪቱ ስም.

ይህ ልዩነት ወሳኝ ነው እና ከሁለት መንገዶች በአንዱ ሊስተካከል ይችላል፡-

  1. አርትዕ 20_የተለወጠ_ጂኦላይት2;
  2. አርትዕ xt_geoip_build.

በመጀመሪያው ሁኔታ እንቀንሳለን printf ወደ አስፈላጊው ቅርጸት, እና በሁለተኛው ውስጥ - ምደባውን ወደ ተለዋዋጭ እንለውጣለን $ሲሲ ላይ $ ረድፍ ->[4]. ከዚህ በኋላ መገንባት ይችላሉ-

/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

ደራሲው መሆኑን ልብ ይበሉ GeoLite2xtables ስክሪፕቶቹን ለምርት እና ለቅናሾች ዝግጁ አድርጎ አይመለከትም። ትራክ ለኦሪጅናል xt_geoip_* ስክሪፕቶች ልማት። ስለዚህ፣ እነዚህ ስክሪፕቶች ቀደም ብለው የተሻሻሉበት ከምንጭ ኮዶች ወደ ስብሰባው እንሂድ።

የምንጭ ሥሪት

ከምንጭ ኮድ ስክሪፕቶች ሲጫኑ xt_ጂኦፕ_* በካታሎግ ውስጥ ይገኛሉ /usr/local/libexec/xtables-addons. ይህ የስክሪፕቱ ስሪት የውሂብ ጎታ ይጠቀማል አይፒ ወደ አገር Lite. ፈቃዱ የCreative Commons Attribution License ነው፣ እና ካለው መረጃ በጣም አስፈላጊዎቹ ሶስት አምዶች አሉ። ዳታቤዙን ያውርዱ እና ያሰባስቡ፡-

cd /usr/share/xt_geoip/

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

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

ከነዚህ እርምጃዎች በኋላ, iptables ለመስራት ዝግጁ ነው.

በ iptables ውስጥ geoip መጠቀም

ሞዱል xt_ጂኦአይፒ ሁለት ቁልፎችን ብቻ ይጨምራል

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.

ለ iptables ደንቦችን የመፍጠር ዘዴዎች, በአጠቃላይ, ሳይለወጡ ይቀራሉ. ከተጨማሪ ሞጁሎች ቁልፎችን ለመጠቀም የሞጁሉን ስም ከ -m ማብሪያ / ማጥፊያ ጋር በግልፅ መግለጽ አለብዎት። ለምሳሌ፣ በሁሉም በይነገጾች ላይ ከዩኤስኤ ሳይሆን ወደብ 443 የሚመጡ የTCP ግንኙነቶችን የማገድ ደንብ፡-

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

በxt_geoip_build የተፈጠሩ ፋይሎች ህግን ሲፈጥሩ ብቻ ጥቅም ላይ ይውላሉ ነገር ግን ሲጣራ ግምት ውስጥ አይገቡም። ስለዚህ የጂኦፕ ዳታቤዝ መረጃን በትክክል ለማዘመን በመጀመሪያ iv * ፋይሎችን ማዘመን አለብዎት እና ከዚያ በ iptables ውስጥ ጂኦፕን የሚጠቀሙትን ሁሉንም ህጎች እንደገና መፍጠር አለብዎት።

መደምደሚያ

በአገሮች ላይ የተመሰረቱ እሽጎችን ማጣራት በጊዜ የተረሳ ስልት ነው። ይህ ሆኖ ግን ለእንደዚህ አይነት ማጣሪያ የሶፍትዌር መሳሪያዎች እየተዘጋጁ ናቸው እና ምናልባትም በቅርቡ አዲስ የ xt_geoip አዲስ የጂኦአይፕ መረጃ አቅራቢ በጥቅል አስተዳዳሪዎች ውስጥ ይታያል ይህም የስርዓት አስተዳዳሪዎችን ህይወት በእጅጉ ያቃልላል.

xtables-addons፡ ጥቅሎችን በአገር ያጣሩ

በዳሰሳ ጥናቱ ውስጥ የተመዘገቡ ተጠቃሚዎች ብቻ መሳተፍ ይችላሉ። ስግን እንእባክህን።

በአገር ማጣሪያ ተጠቅመህ ታውቃለህ?

  • 59,1%አዎ 13

  • 40,9%No9

22 ተጠቃሚዎች ድምጽ ሰጥተዋል። 3 ተጠቃሚዎች ድምፀ ተአቅቦ አድርገዋል።

ምንጭ: hab.com

አስተያየት ያክሉ