
ΠΠ°Π΄Π°ΡΠ°ΡΠ° Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄ΡΡΠΆΠ°Π²ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡΠΎΡΡΠ°, Π½ΠΎ ΠΏΡΡΠ²ΠΈΡΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΌΠ°ΠΌΠ½ΠΈ. ΠΠ½Π΅Ρ ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ ΡΠΎΠ²Π°.
ΠΏΡΠ°ΠΈΡΡΠΎΡΠΈΡ
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΡΡΡΠ΅Π½Π΅ Π² Google ΠΏΠΎ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ° ΡΠ° ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°ΡΠΈ: ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° ΠΎΡΠ΄Π°Π²Π½Π° ΡΠ° βΠ³Π½ΠΈΠ»ΠΈβ ΠΈ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ° Π΅ ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΈ Π·Π°Π±ΡΠ°Π²Π΅Π½Π° Π·Π°Π²ΠΈΠ½Π°Π³ΠΈ. ΠΡΠ΅Π³Π»Π΅Π΄Π°Ρ
ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠΌΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠΌ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅.
ΠΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌΠ΅ Π²ΠΈ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΡΠ»Π°ΡΠ° ΡΡΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°
Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° IPTABLES, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ GeoIP Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ Π² . xtables-addons ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π·Π° iptables ΠΊΠ°ΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΡΠ°ΠΊΠ° ΡΠ΅ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° ΠΠ‘.
ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΈΡΠ°Π½Π΅, ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° xtables-addons Π΅ 3.9. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ubuntu 20.04 LTS ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ ΡΠ°ΠΌΠΎ 3.8, Π° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° Ubuntu 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-addonsxtables-addons ΡΡΠ΄ΡΡΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΎΡ xt_geoip. ΠΠΊΠΎ Π½Π΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π²Π»Π°ΡΠΈΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ°. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΉΠ»Π° mconfig. ΠΠ° Π²ΡΠΈΡΠΊΠΈ ΠΆΠ΅Π»Π°Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ y, ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π΅Π½ΡΠΆΠ½ΠΈ n. ΠΠΈΠ΅ ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅:
./autogen.sh./configuremakeΠ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠ°Π²Π° Π½Π° ΡΡΠΏΠ΅ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»:
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/certscat <<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
EOFopenssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pemΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ» Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½, Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π΅ Π³ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°. ΠΠ΅ΠΊΠ° ΠΏΠΎΠΌΠΎΠ»ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΠΊΠ°ΡΡΠ° Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ°, ΠΊΠ°ΡΠΎ Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π½ΠΎΠ²ΠΈΡ ΠΌΠΎΠ΄ΡΠ», ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Π³ΠΎ Π·Π°ΡΠ΅Π΄ΠΈ:
depmod -amodprobe 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.ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΡΠΎΠ΄ΡΠΊΡΡΡ GeoLite, ΡΠ΅Π³Π° ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΡΠΎ GeoLite Legacy, ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½ Ρ Π»ΠΈΡΠ΅Π½Π·, Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠ°ΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ . Π‘ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΠ΅ ΡΠ»ΡΡΠΈΡ Π° Π΄Π²Π΅ ΡΡΠ±ΠΈΡΠΈΡ Π½Π°Π²Π΅Π΄Π½ΡΠΆ, ΠΊΠΎΠΈΡΠΎ βΠ½Π°ΡΡΡΠΈΡ Π°β ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ iptables.
ΠΡΡΠ²ΠΎ, ΠΏΡΠ΅Π· ΡΠ½ΡΠ°ΡΠΈ 2018 Π³ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, Π° Π½Π° 2019 ΡΠ½ΡΠ°ΡΠΈ 2 Π³. Π²ΡΠΈΡΠΊΠΈ Π²ΡΡΠ·ΠΊΠΈ Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΡΡΠ°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π±ΡΡ Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΎΡ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ ΡΠ΅Π±ΡΠ°ΠΉΡ. ΠΠ° Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° GeoLite2 ΠΈΠ»ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΠ»Π°ΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ GeoIPXNUMX.
ΠΡΠΎΡΠΎ, ΠΎΡ Π΄Π΅ΠΊΠ΅ΠΌΠ²ΡΠΈ 2019 Π³. MaxMind Π·Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π² Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ° Π΄Π° ΡΠΏΠ°Π·ΠΈ ΠΠ°Π»ΠΈΡΠΎΡΠ½ΠΈΠΉΡΠΊΠΈΡ Π·Π°ΠΊΠΎΠ½ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, MaxMind ΡΠ΅ΡΠΈ Π΄Π° "ΠΏΠΎΠΊΡΠΈΠ΅" ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° GeoLite2 Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ΅Ρ Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΡΠ΅ ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°.

Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΠΌΠ΅ΠΉΠ» Ρ ΠΌΠΎΠ»Π±Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Π°. Π‘Π΅Π³Π°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π΄ΠΎΡ
ΠΌΠ΅ Π°ΠΊΠ°ΡΠ½Ρ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π»ΠΈΡΠ΅Π½Π·Π΅Π½ ΠΊΠ»ΡΡ. ΠΡΠ² Π²Π°ΡΠΈΡ Π»ΠΈΡΠ΅Π½ Π°ΠΊΠ°ΡΠ½Ρ Π½Π°ΠΌΠΈΡΠ°ΠΌΠ΅ Π°ΡΡΠΈΠΊΡΠ»Π° ΠΠΎΠΈΡΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ°ΠΊΠ½Π΅ΡΠ΅ Π²ΡΡΡ
Ρ Π±ΡΡΠΎΠ½Π° ΠΠ΅Π½Π΅ΡΠΈΡΠ°ΠΉΡΠ΅ Π½ΠΎΠ² Π»ΠΈΡΠ΅Π½Π·Π΅Π½ ΠΊΠ»ΡΡ.
ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΊΠ»ΡΡ, ΡΠ΅ Π½ΠΈ Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π²ΡΠΏΡΠΎΡ: ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π»ΠΈ ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° GeoIP Update? ΠΡΠ³ΠΎΠ²Π°ΡΡΠΌΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ ΠΈ Π½Π°ΡΠΈΡΠΊΠ°ΠΌΠ΅ Π±ΡΡΠΎΠ½Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°ΠΌ. ΠΠ»ΡΡΡΡ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π² ΠΈΠ·ΡΠΊΠ°ΡΠ°Ρ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ. ΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΌΡΡΡΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°ΡΠ²ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΡΠΊΠ°ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, Π²Π΅ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅Π»ΠΈΡ ΠΊΠ»ΡΡ.

ΠΠΌΠ°ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠΌΠ΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ GeoLite2 ΡΡΡΠ½ΠΎ, Π½ΠΎ ΡΠ΅Ρ
Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π½Π΅ Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΡΠΎΡΠΌΠ°ΡΠ°, ΠΎΡΠ°ΠΊΠ²Π°Π½ ΠΎΡ ΡΠΊΡΠΈΠΏΡΠ° xt_geoip_build. Π’ΡΠΊ ΠΈΠ΄Π²Π°Ρ Π½Π° ΠΏΠΎΠΌΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ GeoLite2xtables. ΠΠ° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π° NetAddr::IP perl:
wget https://cpan.metacpan.org/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gztar xvf NetAddr-IP-4.079.tar.gzcd NetAddr-IP-4.079perl Makefile.PLmakemake installΠ‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠ°ΠΌΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΡΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΡΠ΅Π½Π·Π΅Π½ ΠΊΠ»ΡΡ Π²ΡΠ² ΡΠ°ΠΉΠ»:
git clone https://github.com/mschmitt/GeoLite2xtables.gitcd GeoLite2xtablesecho 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.csvMaxMind Π½Π°Π»Π°Π³Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 2000 ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ Π½Π° Π΄Π΅Π½ ΠΈ ΠΏΡΠΈ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΡΡΠ²ΡΡΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡ.
ΠΠΎΠ»Ρ, ΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΠΈΠΊΠ°Π½ dbip-country-lite.csv... ΠΠ° ΠΆΠ°Π»ΠΎΡΡ, 20_convert_geolite2 Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΠ΅ΡΡΠ΅ΠΊΡΠ΅Π½ ΡΠ°ΠΉΠ». Π‘ΠΊΡΠΈΠΏΡ xt_geoip_build ΠΎΡΠ°ΠΊΠ²Π° ΡΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ:
- Π½Π°ΡΠ°Π»ΠΎ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½;
- ΠΊΡΠ°ΠΉ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½;
- ΠΊΠΎΠ΄ Π½Π° Π΄ΡΡΠΆΠ°Π²Π°ΡΠ° Π² iso-3166-alpha2.
Π ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΡΠ΄ΡΡΠΆΠ° ΡΠ΅ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΈ:
- Π½Π°ΡΠ°Π»ΠΎ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Π½ΠΈΠ·ΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅);
- ΠΊΡΠ°ΠΉ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Π½ΠΈΠ·ΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅);
- Π½Π°ΡΠ°Π»ΠΎ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (ΡΠΈΡΠ»ΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅);
- ΠΊΡΠ°ΠΉ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (ΡΠΈΡΠ»ΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅);
- ΠΊΠΎΠ΄ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ°;
- ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΡΡΠΆΠ°Π²Π°ΡΠ°.
Π’ΠΎΠ²Π° Π½Π΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΎ ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄Π²Π°ΡΠ° Π½Π°ΡΠΈΠ½Π°:
- ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 20_convert_geolite2;
- ΠΏΡΠ°Π²ΠΈΠ»ΠΎ xt_geoip_build.
Π ΠΏΡΡΠ²ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΌΠ΅ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΡΠΎΡΠΌΠ°Ρ, Π° Π²ΡΠ² Π²ΡΠΎΡΠΈΡ - ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° $cc Π½Π° $ΡΠ΅Π΄->[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ΠΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ Π°Π²ΡΠΎΡΡΡ Π½Π΅ ΡΡΠΈΡΠ° ΡΠ²ΠΎΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° Π³ΠΎΡΠΎΠ²ΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ xt_geoip_* ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΠ°ΡΠΎΠ²Π° Π½Π΅ΠΊΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π·ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π²Π΅ΡΠ΅ ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ.
ΠΠ·Ρ ΠΎΠ΄Π½Π° Π²Π΅ΡΡΠΈΡ
ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Ρ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ xt_geoip_* ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° /usr/local/libexec/xtables-addons. Π’Π°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ . ΠΠΈΡΠ΅Π½Π·ΡΡ Π΅ 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 Π΅ Π³ΠΎΡΠΎΠ² Π·Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° geoip Π² iptables
ΠΠΎΠ΄ΡΠ» 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. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈ TCP Π²ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΠΎΡΡ 443 Π½Π΅ ΠΎΡ Π‘ΠΠ© Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ:
iptables -I INPUT ! -i lo -p tcp --dport 443 -m geoip ! --src-cc US -j DROPΠ€Π°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ xt_geoip_build, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°, Π½ΠΎ Π½Π΅ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΡΠΈ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π·Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ geoip, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ iv* ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΠΏΡΠ΅ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ geoip Π² iptables.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΄ΡΡΠΆΠ°Π²ΠΈ Π΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, Π΄ΠΎΠ½ΡΠΊΡΠ΄Π΅ Π·Π°Π±ΡΠ°Π²Π΅Π½Π° ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°ΠΊΠΎΠ²Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΠΊΠΎΡΠΎ Π² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° xt_geoip Ρ Π½ΠΎΠ² Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ geoip, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠΈ ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ.
Π Π°Π½ΠΊΠ΅ΡΠ°ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. , ΠΠΎΠ»Ρ ΡΠ΅.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ Π»ΠΈ ΡΡΠ΅ Π½ΡΠΊΠΎΠ³Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ Π΄ΡΡΠΆΠ°Π²Π°?
59,1%Π΄Π° 13
40,9%No9
22 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π³Π»Π°ΡΡΠ²Π°Ρ
Π°. 3 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΡΠ΅ Π²ΡΠ·Π΄ΡΡΠΆΠ°Ρ
Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com
