Jump to content
naileddeath

Xtables-addons настройка

Recommended Posts

Добрый день! Прошу прощение, возможно оффтоп. Нужна помощь с базой xtables-addons, базу создал как описано, но выдает в логе, что неправильный код страны.

Скрытый текст

Apr 25 16:53:45ndm

Opkg::Manager: /opt/etc/ndm/netfilter.d/001filter-rules.sh: iptables v1.4.21: geoip: invalid country code ''.
Apr 25 16:53:45ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/001filter-rules.sh: Try `iptables -h' or 'iptables --help' for more information.
Apr 25 16:53:45ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/001filter-rules.sh: exit code 2.
 
Базу ставил как описано тут 1, 2  3
Установлен xtables-addons_legacy - 1.47.1-1a - проведена замена пути базы с /opt/usr/share/xt_geoip на /opt/share/xt_geoip, так как пытался подхватить директорию с прошивки.
 
Скрытый текст

Keenetic Viva, release v2.08(AANT.4)C2

~ # opkg list-installed
badblocks - 1.43.7-1
boost - 1.66.0-1
boost-date_time - 1.66.0-1
boost-filesystem - 1.66.0-1
boost-program_options - 1.66.0-1
boost-system - 1.66.0-1
busybox - 1.27.2-3c
bzip2 - 1.0.6-3
ca-bundle - 20170717
chattr - 1.43.7-1
curl - 7.58.0-1
debugfs - 1.43.7-1
dmesg - 2.30.2-2
dnscrypt-proxy - 1.9.5-8
dnscrypt-proxy-resolvers - 1.9.5+git-20171001-2d43be3-8
dropbear - 2017.75-5
dumpe2fs - 1.43.7-1
e2freefrag - 1.43.7-1
e2fsprogs - 1.43.7-1
entware-release - 1.0-2
ext-ui-nginx-7 - 0.2-3a
fake-hwclock - 0.11-1
fdisk - 2.30.2-2
filefrag - 1.43.7-1
findutils - 4.6.0-1
glib2 - 2.55.1-1
grep - 2.26-1
htop - 2.0.2-1
iptables - 1.4.21-2a
ldconfig - 2.27-8
libacl - 20180121-1
libatomic - 7.3.0-8
libattr - 20170915-1
libblkid - 2.30.2-2
libbz2 - 1.0.6-3
libc - 2.27-8
libcap - 2.25-1
libcurl - 7.58.0-1
libevent2 - 2.0.22-1
libext2fs - 1.43.7-1
libfdisk - 2.30.2-2
libffi - 3.2.1-3
libfreetype - 2.9-1
libgcc - 7.3.0-8
libiconv-full - 1.11.1-3
libintl-full - 0.19.8.1-1
libjpeg - 9a-1
libldns - 1.6.17-2
libltdl - 2.4-2
liblua - 5.1.5-1
liblzma - 5.2.3-1
libmbedtls - 2.6.0-1
libminiupnpc - 2.0.20170509-1
libmnl - 1.0.4-1
libmount - 2.30.2-2
libncurses - 6.1-1
libncursesw - 6.1-1
libndm - 1.8.0-1
libnetfilter-conntrack - 2017-07-25-e8704326-1
libnfnetlink - 1.0.1-1
libopenssl - 1.0.2n-1b
libpcre - 8.41-2
libpng - 1.6.34-1
libpthread - 2.27-8
librt - 2.27-8
libslang2 - 2.3.1a-1
libsmartcols - 2.30.2-2
libsodium - 1.0.16-1
libssh2 - 1.8.0-1
libssp - 7.3.0-8
libstdcpp - 7.3.0-8
libuuid - 2.30.2-2
libxml2 - 2.9.7-1
locales - 2.27-8
lsattr - 1.43.7-1
mc - 4.8.20-1
ndmq - 1.0.2-3
nginx - 1.12.2-1
opkg - 2011-04-08-9c97d5ec-17b
opt-ndmsv2 - 1.0-10a
perl - 5.26.1-3
perl-text-csv_xs - 1.34-1
perlbase-base - 5.26.1-3
perlbase-bytes - 5.26.1-3
perlbase-config - 5.26.1-3
perlbase-dynaloader - 5.26.1-3
perlbase-errno - 5.26.1-3
perlbase-essential - 5.26.1-3
perlbase-fcntl - 5.26.1-3
perlbase-getopt - 5.26.1-3
perlbase-io - 5.26.1-3
perlbase-list - 5.26.1-3
perlbase-posix - 5.26.1-3
perlbase-scalar - 5.26.1-3
perlbase-selectsaver - 5.26.1-3
perlbase-socket - 5.26.1-3
perlbase-symbol - 5.26.1-3
perlbase-tie - 5.26.1-3
perlbase-xsloader - 5.26.1-3
php7 - 7.2.2-1
php7-cgi - 7.2.2-1
php7-cli - 7.2.2-1
php7-fastcgi - 7.2.2-1
php7-mod-curl - 7.2.2-1
php7-mod-dom - 7.2.2-1
php7-mod-exif - 7.2.2-1
php7-mod-gd - 7.2.2-1
php7-mod-json - 7.2.2-1
php7-mod-mbstring - 7.2.2-1
php7-mod-session - 7.2.2-1
php7-mod-simplexml - 7.2.2-1
php7-mod-xml - 7.2.2-1
php7-mod-xmlreader - 7.2.2-1
php7-mod-xmlwriter - 7.2.2-1
php7-mod-zip - 7.2.2-1
polipo - 1.1.1-2
portspoof - 1.3-1
resize2fs - 1.43.7-1
shellinabox - 2.20-1
tar - 1.30-1
terminfo - 6.1-1
tor - 0.3.2.9-1
transmission-cli-mbedtls - 2.93-4
transmission-daemon-mbedtls - 2.93-4
transmission-remote-mbedtls - 2.93-4
transmission-web - 2.93-4
tune2fs - 1.43.7-1
vnstat - 1.17-1
xtables-addons_legacy - 1.47.1-1a
xz - 5.2.3-1
xz-utils - 5.2.3-1
zlib - 1.2.11-2
zoneinfo-asia - 2018c-1
zoneinfo-europe - 2018c-1

 

Share this post


Link to post
Share on other sites
21 час назад, naileddeath сказал:

... проведена замена пути базы...

в файле extension/libxt_geoip.c была изменена 28 строка (#define GEOIP_DB_DIR "/usr/share/xt_geoip" => #define GEOIP_DB_DIR "/opt/share/xt_geoip")

Share this post


Link to post
Share on other sites
В 27.04.2018 в 13:17, TheBB сказал:

в файле extension/libxt_geoip.c была изменена 28 строка (#define GEOIP_DB_DIR "/usr/share/xt_geoip" => #define GEOIP_DB_DIR "/opt/share/xt_geoip")

Спасибо за собранный пакет на 2.11 (delta) завелось! Правила появились в iptables, без модулей xtables в прошивке не заведется. Для конвертирования базы ставился пакет perl-text-csv_xs и perlbase, командой opkg list | grep perlbase- | sed 's/ - .*//' | xargs opkg install.
Спасибо за полезности!

 

 2018-05-05_6-59-16.png

Edited by naileddeath

Share this post


Link to post
Share on other sites
Скрытый текст

#!/bin/sh

[ "$type" == "iptables" ] && exit 0
[ "$table" != "filter" ] && exit 0

## xtbles-addons
## Блокировка стран по коду
#iptables -A INPUT -i wan -m geoip ! --src-cc CN,TW,KR,US,IN -j REJECT
## Блокировка анонимных прокси
#iptables -A INPUT -i wan -m geoip ! --src-cc A1 -j REJECT
## Подключение к порту только из выбранного кода страны
#iptables -A INPUT -i wan -p tcp --dport 22 -m geoip ! --src-cc RU -j REJECT
#iptables -A INPUT -i wan -p tcp --dport 20 -m geoip ! --src-cc RU -j REJECT
#iptables -A INPUT -i wan -p tcp --dport 21 -m geoip ! --src-cc RU -j REJECT
## Запрет исходящих ICMP в некоторые страны
#iptables -A OUTPUT -i wan -p icmp -m geoip ! --dst-cc ES -j REJECT
## Атака на скан открытого порта(соединение открыто и не закрывается).
iptables -A INPUT -i wan -p tcp -m tcp -m multiport ! --dports 7,22,23,80,88,8080,8888,135,139 -j TARPIT
## Порт для пустых соединений
#iptables -A INPUT -i wan -p tcp -m tcp -dport 8080 -j TARPIT
## Эмуляция открытых портов
iptables -A INPUT -i wan -p tcp -m tcp -j TARPIT

Для настройки под свои нужды заменить интерфейс wan на свой, в данном примере xtables работает как portspoof только лишен fuzzed & verbose mode.

Может кому то понадобится.

 

  • Upvote 2

Share this post


Link to post
Share on other sites

/lib/modules/3.4.113 # ls | grep ipt_
ipt_ECN.ko
ipt_ROUTE.ko
ipt_ULOG.ko
ipt_ah.ko

то тебе не LOG нужен а ULOG

man iptablesimage.png.51de372bef197b55abfa368965cdf557.png

Блокировка стран по коду с логированием

## Блокировка стран по коду
/opt/sbin/iptables -A INPUT -i eth2.2 -m geoip ! --src-cc CN,TW,KR,US,IN -j ULOG --ulog-prefix "REJECT geoip: "
/opt/sbin/iptables -A INPUT -i eth2.2 -m geoip ! --src-cc CN,TW,KR,US,IN -j REJECT

Edited by naileddeath

Share this post


Link to post
Share on other sites

конфиг xtables.sh

Скрытый текст

 

#!/bin/sh

[ "$table" != "filter" ] && exit 0

## Методы борьбы с экзотическими видами сканирования
## Запрет FIN-сканирования
#iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
## Запрет X-сканирования
#iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
## Запрет N-сканирования
#iptables -A INPUT -p tcp -m tcp –-tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE –j DROP
## Защита от SYN/ACK-сканирования, с помощью nmap-флага -sS
#iptables -I INPUT -p tcp -m tcp -m osf --genre NMAP -j DROP

## Борьба со сканированием с помощью iptables
## Проверка на стук в нерабочие порты (10 в час)
iptables -A INPUT -m recent --rcheck --seconds 3600 --hitcount 10 --rttl -j RETURN
## Вторая проверка на стук в нерабочие порты (2 в минуту)
iptables -A INPUT -m recent --rcheck --seconds 60 --hitcount 2 --rttl -j RETURN
## Заносим адреса стучащихся в список
iptables -A INPUT -m recent --set
## Отбрасываем пакеты всех, кто превысил лимит на количество подключений
iptables -P INPUT DROP

## Типы ICMP-сообщений
# 0 — echo reply (echo-ответ, пинг)
# 3 — destination unreachable (адресат недосягаем)
# 4 — source quench (подавление источника, просьба посылать пакеты медленнее)
# 5 — redirect (редирект)
# 8 — echo request (echo-запрос, пинг)
# 9 — router advertisement (объявление маршрутизатора)
# 10 — router solicitation (ходатайство маршрутизатора)
# 11 — time-to-live exceeded (истечение срока жизни пакета)
# 12 — IP header bad (неправильный IPзаголовок пакета)
# 13 — timestamp request (запрос значения счетчика времени)
# 14 — timestamp reply (ответ на запрос значения счетчика времени)
# 15 — information request (запрос информации)
# 16 — information reply (ответ на запрос информации)
# 17 — address mask request (запрос маски сети)
# 18 — address mask reply (ответ на запрос маски сети)

## Запрет опасных ICMP-сообщений
#iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
#iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT
#iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
#iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT
#iptables -A OUTPUT -p icmp --icmp-type 4 -j ACCEPT
#iptables -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT
#iptables -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT

## Защита от брутфорса с помощью iptables
## Цепочка проверки соединений
iptables -N brute_check
## Блокировка адреса, если за 60 секунд он инициировал более 2-х соединений
iptables -A brute_check -m recent --update --seconds 60 --hitcount 3 -j DROP
## Если нет - разрешаем соединение и заносим адрес в список
iptables -A brute_check -m recent --set -j ACCEPT
## Очищаем цепочку INPUT
#iptables -F INPUT
## Отправляем в цепочку всех, кто пытается подключиться к 65021,500,4500-му порту
iptables -A INPUT -m conntrack --ctstate NEW -p tcp -m tcp -m multiport --dports 21,2221 -j brute_check
#iptables -A INPUT -m conntrack --ctstate NEW -p tcp -m tcp --dport 65021 -j brute_check
iptables -A INPUT -m conntrack --ctstate NEW -p udp -m udp -m multiport --dports 500,4500 -j brute_check
iptables -P INPUT DROP

## xtbles-addons
## Port scan detect
iptables -I INPUT -m psd -j DROP

## Блокировка стран по коду
#iptables -A INPUT -m geoip ! --src-cc CN,TW,KR,US,IN,JP,GB -j DROP

## Блокировка анонимных прокси
#iptables -A INPUT -m geoip ! --src-cc A1 -j DROP

## Подключение к порту только из выбранного кода страны
iptables -I INPUT ! -i eth2.2 -p udp -m udp -m multiport --dports 500,4500 -m geoip ! --src-cc RU -j DROP
#iptables -I INPUT ! -i eth2.2 -p udp --dport 4500 -m geoip ! --src-cc RU -j DROP
iptables -I INPUT ! -i eth2.2 -p tcp -m tcp -m multiport --dports 21,2221 -m geoip ! --src-cc RU -j DROP

## Запрет исходящих ICMP в некоторые страны
#iptables -A OUTPUT -p icmp -m geoip ! --dst-cc ES -j REJECT

## Атака на скан открытого порта(соединение открыто и не закрывается).
iptables -A INPUT -p tcp -m tcp -m multiport --dports 21,22,23,80,88,8080,8888,8443,135,139,443,445,8123,3128 -j TARPIT
#iptables -A INPUT -p tcp -m tcp -m multiport --dports 21,22,23,80,88,8080,8888,8443,135,139,443,445,8123,3128 -j CHAOS --tarpit
#iptables -A INPUT -p tcp -m tcp -m multiport --dports 21,22,23,80,88,8080,8888,8443,135,139,443,445,8123,3128 -j REJECT

## Порт для пустых соединений
#iptables -A INPUT -i eth2.2 -p tcp -m tcp -dport 8080 -j TARPIT

## Эмуляция открытых портов
iptables -A INPUT -p tcp -m tcp -j TARPIT
#iptables -A INPUT -p tcp -m tcp -j CHAOS
#iptables -A INPUT -p tcp -m tcp -j REJECT

 

 

конфиг raw.sh

Скрытый текст

 

#!/bin/sh

[ "$table" != "raw" ] && exit 0

## Предотвращение обработки блокируемых соединений подсистемой conntrack(TARPIT ports table filter)
iptables -I PREROUTING -p tcp -m tcp -m multiport --dports 21,22,23,80,88,8080,8888,8443,135,139,443,445,8123,3128 -j NOTRACK
iptables -I PREROUTING -p tcp -m tcp -j NOTRACK

## Обход блокировки
iptables -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass

 

 

 

 

Edited by naileddeath

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...