xtables-addons: ملڪ طرفان فلٽر پيڪيجز

xtables-addons: ملڪ طرفان فلٽر پيڪيجز
ڪجھ ملڪن کان ٽريفڪ کي بلاڪ ڪرڻ جو ڪم سادو لڳي ٿو، پر پهريون تاثر ٺڳي ٿي سگھي ٿو. اڄ اسان توهان کي ٻڌائينداسين ته اهو ڪيئن لاڳو ڪري سگهجي ٿو.

prehistory

ھن موضوع تي گوگل سرچ جا نتيجا مايوس ڪندڙ آھن: گھڻا حل ڊگھا ٿي چڪا آھن ”سڙيل“ ۽ ڪڏھن ڪڏھن ائين ٿو لڳي ته ھي موضوع ھميشه لاءِ وساري ويو آھي ۽ وساريو ويو آھي. اسان ڪيترائي پراڻا رڪارڊ گڏ ڪيا آهن ۽ هدايتن جو جديد نسخو شيئر ڪرڻ لاءِ تيار آهيون.

اسان سفارش ڪريون ٿا ته توهان انهن حڪمن تي عمل ڪرڻ کان اڳ پورو مضمون پڙهو.

آپريٽنگ سسٽم جي تياري

فلٽرنگ کي استعمال ڪندي ترتيب ڏني ويندي iptables، جنهن کي جيو آئي پي ڊيٽا سان ڪم ڪرڻ لاءِ واڌ جي ضرورت آهي. هي واڌارو حاصل ڪري سگهجي ٿو xtables-addons. xtables-addons iptables لاءِ ايڪسٽينشنز کي انسٽال ڪري ٿو آزاد ڪنييل ماڊلز جي طور تي، تنهنڪري او ايس ڪنيل کي ٻيهر گڏ ڪرڻ جي ڪا ضرورت ناهي.

لکڻ جي وقت، xtables-addons جو موجوده نسخو 3.9 آهي. بهرحال، صرف 20.04 معياري Ubuntu 3.8 LTS repositories ۾، ۽ 18.04 Ubuntu 3.0 repositories ۾ ملي سگھن ٿا. توھان ھيٺ ڏنل حڪم سان پيڪيج مينيجر مان ايڪسٽينشن کي انسٽال ڪري سگھو ٿا:

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_geoip. جيڪڏهن توهان نٿا چاهيو ته غير ضروري واڌارن کي سسٽم ۾ ڇڪيو، توهان انهن کي تعمير مان خارج ڪري سگهو ٿا. ھن کي ڪرڻ لاء توھان کي فائل کي تبديل ڪرڻ جي ضرورت آھي 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 سمجھي ٿو geoip حڪم، پر ان سان گڏ ڪم ڪرڻ لاء ڪافي ڊيٽا نه آھي. اچو ته geoip ڊيٽابيس کي لوڊ ڪرڻ شروع ڪريون.

GeoIP ڊيٽابيس حاصل ڪرڻ

اسان هڪ ڊاريڪٽري ٺاهيندا آهيون جنهن ۾ معلومات سمجهي سگهجي ٿي 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.

اڳي، جيو لائيٽ پراڊڪٽ، جيڪو هاڻي جيو لائيٽ ليگسي طور سڃاتو وڃي ٿو، لائسنس تحت ورهايو ويو، ڊيٽابيس طور استعمال ڪيو ويو Creative Commons ASA 4.0 ڪمپني وڌ کان وڌ دماغ. ٻه واقعا هن پراڊڪٽ سان گڏ هڪ ئي وقت ۾ ٿيا آهن ته iptables جي واڌ سان مطابقت ”ٽڙي“.

پهريون، جنوري 2018 ۾ اعلان ڪيو پراڊڪٽ جي حمايت جي خاتمي بابت، ۽ جنوري 2019، 2 تي، ڊيٽابيس جي پراڻي ورزن کي ڊائون لوڊ ڪرڻ لاء سڀ لنڪ سرڪاري ويب سائيٽ تان هٽايو ويو. نون صارفين کي GeoLite2 پراڊڪٽ يا ان جي ادا ڪيل ورزن GeoIPXNUMX استعمال ڪرڻ جي صلاح ڏني وئي آهي.

ٻيو، ڊسمبر 2019 کان وٺي MaxMind ڏنل آهي انهن جي ڊيٽابيس تائين رسائي ۾ اهم تبديلي بابت. ڪيليفورنيا جي ڪنزيومر پرائيويسي ايڪٽ جي تعميل ڪرڻ لاءِ، ميڪس مائنڊ فيصلو ڪيو ته ”ڪور“ ڪرڻ جي ورڇ GeoLite2 جي رجسٽريشن سان.

جيئن ته اسان انهن جي پيداوار کي استعمال ڪرڻ چاهيون ٿا، اسان هن صفحي تي رجسٽر ڪنداسين.

xtables-addons: ملڪ طرفان فلٽر پيڪيجز
پوءِ توھان کي ھڪ اي ميل ملي ويندي جنھن ۾ توھان کي پاسورڊ قائم ڪرڻ لاءِ چيو ويندو. هاڻي ته اسان هڪ اڪائونٽ ٺاهيو آهي، اسان کي هڪ لائسنس چيڪ ٺاهڻ جي ضرورت آهي. توهان جي ذاتي اڪائونٽ ۾ اسان شيون ڳوليندا آهيون منهنجي لائسنس ڪيز، ۽ پوءِ بٽڻ تي ڪلڪ ڪريو نئين لائسنس جي چيڪ ٺاھيو.

جڏهن هڪ ڪيچ ٺاهيندي، اسان کان صرف هڪ سوال پڇيو ويندو: ڇا اسان هي ڪيئي استعمال ڪنداسين GeoIP اپڊيٽ پروگرام ۾؟ اسان منفي جواب ڏينداسين ۽ بٽڻ کي دٻايو جي تصديق. چاٻي هڪ پاپ اپ ونڊو ۾ ڏيکاري ويندي. هن ڪنجي کي محفوظ جاءِ تي محفوظ ڪريو، جيئن هڪ دفعو توهان پاپ اپ ونڊو بند ڪري ڇڏيو، توهان هاڻي پوري ڪيئي کي ڏسي نه سگهندا.

xtables-addons: ملڪ طرفان فلٽر پيڪيجز
اسان وٽ GeoLite2 ڊيٽابيس کي دستي طور تي ڊائون لوڊ ڪرڻ جي صلاحيت آهي، پر انهن جي فارميٽ xt_geoip_build اسڪرپٽ پاران متوقع فارميٽ سان مطابقت ناهي. هي آهي جتي GeoLite2xtables اسڪرپٽ بچاء لاء ايندا آهن. اسڪرپٽ هلائڻ لاءِ، انسٽال ڪريو NetAddr::IP perl module:

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-country-lite.csv... بدقسمتي سان ، 20_convert_geolite2 مڪمل فائل پيدا نٿو ڪري. اسڪرپٽ xt_geoip_build ٽن ڪالمن جي توقع آهي:

  • پتي جي حد جي شروعات؛
  • پتي جي حد جي پڇاڙي؛
  • ملڪ جو ڪوڊ iso-3166-alpha2 ۾.

۽ ٻاھر ڪڍڻ واري فائل ۾ ڇهه ڪالمن شامل آھن:

  • پتي جي حد جي شروعات (اسٽرنگ نمائندگي)؛
  • پتي جي حد جي پڇاڙي (اسٽرنگ نمائندگي)؛
  • پتي جي حد جي شروعات (عددي نمائندگي)؛
  • پتي جي حد جي پڇاڙي (عددي نمائندگي)؛
  • ملڪ جو ڪوڊ؛
  • ملڪ جو نالو.

هي تفاوت نازڪ آهي ۽ ٻن طريقن مان هڪ ۾ درست ڪري سگهجي ٿو:

  1. ترميم ڪريو 20_convert_geolite2;
  2. ترميم ڪريو xt_geoip_build.

پهرين صورت ۾ اسان کي گهٽايو printf گهربل فارميٽ ۾، ۽ سيڪنڊ ۾ - اسان variable کي تفويض کي تبديل ڪريون ٿا $cc تي $row->[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_geoip_* فهرست ۾ موجود آهن /usr/local/libexec/xtables-addons. اسڪرپٽ جو هي نسخو ڊيٽابيس استعمال ڪري ٿو IP کان ملڪ لائيٽ. لائسنس 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 صرف ٻه چاٻيون شامل ڪري ٿو:

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٪نمبر 9

22 صارفين ووٽ ڪيو. 3 استعمال ڪندڙن کي روڪيو ويو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو