LINUX.ORG.RU

Избранные сообщения ne-vlezay

Ошибка компиляции на java

Форум — Development
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/javascript/jscomp/CommandLineRunner : Unsupported major.minor version 51.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: com.google.javascript.jscomp.CommandLineRunner. Program will exit.
make: *** [build/v86_all.js] Error 1

как исправить

Перемещено leave из admin

 , ,

ne-vlezay
()

Установка и настройка nfq_filter

Форум — Admin

Сейчас я вам расскажу, что как-то на nag.ru пользователь под ником max1976 продолжил разработку nfq_filter. Я хочу заметить, что данная версия nfq_filter на много улучшена. Если сравнивать с оригинальным nfq_filter, то:

У данной версии повышенна производительность Не крошится speedtest Появилась блокировка сайтов ssl по CNAME Но, у данной программы есть несколько недостатков:

Сайт, на который идёт переадресация, должен быть в формате: http://blackhole.ne.vlezay80.lan/ Не блокирует сайты по ssl в старых браузерах и операционных системах (баг NDPI) Не блокирует сайты внутри прокси Нет поддержки IPv6 Кстати, если нужно блокировать запрещённые сайты из реестра, то этой программы будет вполне достаточно, так-как наше законодательство пока не предусматривает блокировку сайтов через открытые прокси сервера. Блокировка внутри прокси, это уже дурость провайдеров. Кстати, блокировку открытых прокси всегда можно реализовать, например через Suricat'у.
На счёт блокировки в IPv6: если очень надо, то это можно всегда в исходниках дописать.
Инструкция по установки

Нам понадобятся библиотеки:

libnetfilter_queue libnfnetlink Poco >= 1.6 nDPI = 1.7 Скачиваем и устанавливает первые две. (эти библиотеки есть в кажном современном репозитарии) Скачиваем ПОСЛЕДНЮЮ версию libpoco Скачиваем NDPI версии 1.7 Устанавливаем ndpi:

cd ./nDPI-1.7
./autogen.sh
make
make install
Устанавливаем libpoco:
cd ./poco-1.6.1
./configure
make
make install
Ставим сам nfqfilter:
cd ./nfq_filter
./configure
make
make install

Решение проблем
Если при установки возникает ошибка:
ndpi/ndpi_api.h: No sourch file fo directory
то в исходниках пропишите руками путь к библиотеке.
Использование Конфиг у данной программы имеет очень лёгкий сентекс:
; номер очереди
queue = 0
; файл с доменами для блокировки
domainlist = /etc/nfq/domains
; файл с url для блокировки
urllist = /etc/nfq/urls
; файл с ssl доменами для блокировки
ssllist = /etc/nfq/ssl_host
; файл с ip:port для блокировки
hostlist = /etc/nfq/hosts

; куда редиректить в случае наличия в списках
redirect_url = http://serv.mg/cgi/bl.cgi/?
; дополнительные порты для протоколов (nDPI)
protocols = /etc/nfq/protos
; время вывода статистики по использованию памяти, минут
statistic_interval = 10
; каким значением метить пакеты для iptables в случае наличия в списках ssl и hosts
mark_value = 10
; количество обрабатываемых пакетов (default: 1024)
 max_pending_packets = 100000

[logging]
loggers.root.level = information
;loggers.root.level = debug
loggers.root.channel = fileChannel
channels.fileChannel.class = FileChannel
channels.fileChannel.path = /var/log/nfqfilter.log
channels.fileChannel.rotation = 1 M
channels.fileChannel.archive = timestamp
channels.fileChannel.formatter.class = PatternFormatter
channels.fileChannel.formatter.pattern = %Y-%m-%d %H:%M:%S.%i [%P] %p %s - %t
channels.fileChannel.formatter.times = local
как видим, здесь всё понятно.
Запускаем данную программу так:
LD_LIBRARY_PATH=/usr/local/lib/ nfqfilter -c /etc/nfqfilter.ini
Далее в iptables создаём:
iptables -t mangle -N ZAPRET_GOV
iptables -t mangle -A ZAPRET_GOV -m connbytes --connbytes-mode bytes --connbytes-dir both --connbytes 100000 -j RETURN
iptables -t mangle -A ZAPRET_GOV -p tcp --dport 80 -j NFQUEUE --queue-num 0
iptables -t mangle -A ZAPRET_GOV -p tcp --dport 443 -j NFQUEUE --queue-num 0
В FORWARD:
iptables -A FORWARD -m mark --mark 10 =p tcp -j REJECT --reject-with tcp-rst
iptables -A FORWARD -m set --match-set zapret_gov_ssl_ip dst -p tcp -j REJECT --reject-with tcp-rst
iptables -t mangle -A PREROUTING -j ZAPRET_GOV

К самой программе можно прикрутить любой парсер реестра запрещённых сайтов.

Сама программа: https://github.com/max197616/nfqfilter

В комплекте также есть выгрузка реестра запрещённых сайтов (правда не первой свежести).

 , , , ,

ne-vlezay
()

Suricata маленькая скорость если добавить много правил

Форум — Admin

Доброе утро, а в Suricata обнаружил баг: если добавить где-то 14203, то скорость работы будет очень маленькой.

 , , , ,

ne-vlezay
()

Удалил случайно скрипт

Форум — Admin

Писал я bash-скрипт, который случайно удалил перепутав команды. Как можно восстановить удалённый скрипт?

 , , ,

ne-vlezay
()

Парсить url с квадратными скобками через pcre

Форум — Admin

Продолжаю строить свой DPI на базе Suricata. Возникла необходимость в парсинге нестандартных url, в которых содержатся нестандартные символы. ([ ]).

Как можно распарсить эти символы через pcre

 , , , ,

ne-vlezay
()

Баг в ядре 4.3.x драйвер virtionet

Форум — Admin

Добрые ночи, я сегодня обновил ядро на госте под KVM с virtio, и обнаружил что на интерфейсе появилось много дропнутых пакетов.

 , , , ,

ne-vlezay
()

KVM баг с virtionet

Форум — Admin

Всем привет, в результате экспериментов с libvirt/KVM я обнаружил баг при работе с драйвером virtionet. Если с ним работать в 32 битной гостивой ОС, то дропы появляются исключительно в самом начале. Потом не появляются. Если с 64 битной, то дропы возникают во время передачи информации. На 32 битной системе при работе с virtionet скорость 3.5Gbps, если в 64 битной, то 1.95 до 2.50Gbps. Сейчас сменил драйвер на e1000. Скорость сейчас правда 1,3Gbps. Хотя, скорость все ровно нормальная, так-как на virtualbox максимальную скорость при e1000 - 200-400Mbps. (0.2-0.4Gbps)

 , , , ,

ne-vlezay
()

что случилось с antizapret.net

Форум — Admin

При попытке скачать API - ошибка 502

 , , ,

ne-vlezay
()

Применение своего стиля на linux.org.ru

Форум — Desktop

Как у людей получается делать так, что страницы на linux.org.ru отображаются с разным стилем?

 ,

ne-vlezay
()

Откат Vestacp

Форум — Admin

Случайно обновил vestacp до последней версии. Там наблюдаются баги с паролями. Как откатить до той версии, которая была установленна?

 , , ,

ne-vlezay
()

Удаление IP-адреса из SpamHaus

Форум — Admin

Итак, попал ко мне на VPS както какой-то непонятный вирус. Имя файла было: Bot.pl. Я как понял, дыра была в уязвимости proftpd. Я proftpd удалил, но обнаружел что IP этой VPS папал в XBL. Вопрос в том, как убрать ip из XBL?

 , , , ,

ne-vlezay
()

Странные файлы на VPS и глючи ФС

Форум — Admin

Я на своей VPS обнаружил то, то там очень много в папке /tmp странных файлов и скриптов. Вот некоторые из них:

depzdrap_ddoser.pl
ptn_pnh.pl
kremlin_ddos.pl
arm7v
Bot.pl
и много другой гадости

Один раз был вобще странный случай: на VPS у меня удалось создать два файла в одной папке с одинаковым именем. Что за ... с моим сервером происходит! Как я понял, его не только взломали а ещё и ФС попортили. От хостира и от ФСО ничего пока не поступало. Особенно настораживают эти ddos'еры.
Дело в том, что я на своей vps бываю очень редко

 , , ,

ne-vlezay
()

Проблемы с postfix

Форум — Admin

У меня почемуто в Maildir создаётся в root, а не в каталоге который пренадлежит почтовуму пользователю.

 , , ,

ne-vlezay
()

Помогите5 настроить postfix

Форум — Admin

При попытки отправить письмо:

Oct 15 04:59:32 server postfix/qmgr[20293]: AC5613CE7A: removed
Oct 15 04:59:48 server postfix/smtpd[20619]: connect from unknown[x.x.x.x]
Oct 15 04:59:48 server postfix/smtpd[20619]: warning: unknown smtpd restriction: "mynetworks"
Oct 15 04:59:48 server postfix/smtpd[20619]: NOQUEUE: reject: RCPT from unknown[x.x.x.x]: 451 4.3.5 Server configuration error; from=<webmaster@ne-vlezay80.tk> to=<webmaster@ne-vlezay80.tk> proto=ESMTP helo=<ne-vlezay80>
Oct 15 04:59:48 server postfix/smtpd[20619]: lost connection after RCPT from unknown[x.x.x.x]
Oct 15 04:59:48 server postfix/cleanup[20623]: 8CE393CE7A: message-id=<20151015045948.8CE393CE7A@mail.ne-vlezay80.tk>
Oct 15 04:59:48 server postfix/qmgr[20293]: 8CE393CE7A: from=<double-bounce@mail.ne-vlezay80.tk>, size=971, nrcpt=1 (queue active)
Oct 15 04:59:48 server postfix/smtpd[20619]: disconnect from unknown[x.x.x.x]
Oct 15 04:59:48 server postfix/local[20624]: 8CE393CE7A: to=<root@mail.ne-vlezay80.tk>, orig_to=<postmaster>, relay=local, delay=0, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Oct 15 04:59:48 server postfix/qmgr[20293]: 8CE393CE7A: removed

Конфиг:

server:~# cat /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail.ne-vlezay80.tk
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = lan.ne-vlezay80.tk
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 0.0.0.0/0
mailbox_size_limit = 0
recipient_delimiter = +
home_mailbox = ~/Maildir/
inet_protocols = all
mydestination = mail.ne-vlezay80.tk, ne-vlezay80.tk
smtpd_recipient_restrictions = permit_mynetworks permit_inet_interfaces permit_sasl_authenticated check_relay_domains permit_mx_backup
#smtpd_sasl_security_options = 
#smtpd_client_restrictions = permit_mynetworks permit_inet_interfaces
#smtpd_sasl_type = dovecot
#smtpd_sasl_path = private/auth
smtpd_client_restrictions = mynetworks
smtpd_sasl_security_options = 
smtpd_helo_required = yes
server:~# 

в чём ошибка

 , , ,

ne-vlezay
()

Как DPI распознаёт NAT

Форум — Admin

Интересно, как DPI может распознавать NAT?

 , , , ,

ne-vlezay
()

Обойти провайдерский DPI

Форум — Admin

Итак, задача: обойти провайдерский DPI. Для обхода есть выреанты:
Купить VPS и подключится к ней по BGP, подключится по BGP к провайдеру, поутить uplink через vps, downlink через провайдера.
Но, для этого нужен блок pi и AS. Где взять бесплатно pi и AS.

 , , , ,

ne-vlezay
()

bash удалить конкретное слово

Форум — Development

Как на bash можно удалить начальное слово из строки

 ,

ne-vlezay
()

Отправить клиенту TCP RST

Форум — Admin

Имеем набор правил для Suricata:

pass tcp any any <> any any (content: "GET /d/247048.html";content: "Host: memo.ru"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:10;)
pass tcp any any <> any any (content: "GET /d/247048.html";content: "Host: www.memo.ru"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:11;)

pass tcp any any <> any any (content: "GET /news/286782/rossiya_ustroila_ocherednuyu_provokatsiyu_na_granitse_s_ukrainoyi_mid";content: "Host: censor.net.ua"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:12;)
pass tcp any any <> any any (content: "GET /news/286782/rossiya_ustroila_ocherednuyu_provokatsiyu_na_granitse_s_ukrainoyi_mid";content: "Host: www.censor.net.ua"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:13;)


pass tcp any any <> any any (content: "GET http://memo.ru/d/247048.html";content: "Host: memo.ru"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:20;)
pass tcp any any <> any any (content: "GET http://www.memo.ru/d/247048.html";content: "Host: www.memo.ru"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:21;)

pass tcp any any <> any any (content: "GET http://censor.net.ua/news/286782/rossiya_ustroila_ocherednuyu_provokatsiyu_na_granitse_s_ukrainoyi_mid";content: "Host: censor.net.ua"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:22;)
pass tcp any any <> any any (content: "GET http://www.censor.net.ua/news/286782/rossiya_ustroila_ocherednuyu_provokatsiyu_na_granitse_s_ukrainoyi_mid";content: "Host: www.censor.net.ua"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:23;)


#pass tcp any any <> any any (content: "Firefox/40.0";replace: "Firefox/35.0"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x6/0xffffffff; sid:10202;)
#pass tcp any any <> any any (content: "GET http://";content: "Host: ";content: "HTTP"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:10200;)
pass tcp any any <> any any (pcre: "/\n/i"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x8/0xffffffff; sid:10208;)
#pass tcp any any <> any any (content: "CONNECT ";content: "HTTP"; msg: "PROXY_METHOD_GET"; nfq_set_mark:0x2/0xffffffff; sid:10204;)
root@debian:/home/admin# 

iptables:

root@debian:/home/admin# iptables -t mangle -L -v
Chain PREROUTING (policy ACCEPT 457K packets, 595M bytes)
 pkts bytes target     prot opt in     out     source               destination         
 621K  627M NFQ_DV     all  --  any    any     anywhere             anywhere            
 500K  604M REMARK_BL  all  --  any    any     anywhere             anywhere            

Chain INPUT (policy ACCEPT 2228 packets, 152K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 454K packets, 595M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 2751 packets, 369K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 457K packets, 595M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain NFQ_DV (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 392K  582M RETURN     all  --  any    any     anywhere             anywhere             connbytes 1000000 connbytes mode bytes connbytes direction both
 121K   24M NFQUEUE    all  --  any    any     anywhere             anywhere             mark match ! 0x1/0x1 NFQUEUE num 0 bypass

Chain REMARK_BL (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  154 46929 CONNMARK   all  --  any    any     anywhere             anywhere             mark match 0x2/0xfe CONNMARK save
   19 16502 CONNMARK   all  --  any    any     anywhere             anywhere             mark match 0x8/0xfe connmark match  0x2/0xfe CONNMARK xset 0x98/0xfe
  238 70850 LOG        all  --  any    any     anywhere             anywhere             connmark match  0x2/0xfe LOG level warning prefix "DPI MARK 0x2/0xfe"
  238 70850 CONNMARK   all  --  any    any     anywhere             anywhere             connmark match  0x2/0xfe CONNMARK restore
root@debian:/home/admin# 


root@debian:/home/admin# iptables -L -v
Chain INPUT (policy ACCEPT 701 packets, 42762 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 443K packets, 637M bytes)
 pkts bytes target     prot opt in     out     source               destination         
   61 61851 REJECT     tcp  --  any    any     anywhere             anywhere             connmark match  0x98/0xfe reject-with tcp-reset

Chain OUTPUT (policy ACCEPT 943 packets, 128K bytes)
 pkts bytes target     prot opt in     out     source               destination         
root@debian:/home/admin#

Если попытаться перейти на сайт, указанный в Suricata,то соединение начинает висеть на Ожидании ответа (браузер не получает синволы). Я провирял, если сервер пытается отправить ответ, ему отдают RST. Задача: отправить клиенту RST или поддельный ответ средствами iptables.

 , , , ,

ne-vlezay
()

Как DPI распознают HTTP

Форум — Admin

Итак, я делаю DPI на базе Suricata для блокировки запрещённых сайтов из реестра РФ и не только. Как я понял, DPI реагирует на запросы GET и Host: в пакете. Также DPI может реагировать на начальные хедеры http пакета. Вот пример запроса:

GET /
Host: kasparov.ru
DPI начинает работать, когда эти два совпадения встретятся в пакете.
Также интересно узнать, как через iptables можно послать HTTP 302 Redirect.

Остальные сигнатуры в DPI используются для того, чтобы избежать блокировки в других протоколах кроме http

 , , ,

ne-vlezay
()

suricata назначить марку на списки сингтур

Форум — Admin

Вот открытый списог сингтур: https://rules.emergingthreats.net/open/suricata/rules/ Также имеется скрипт, который генерирует правила на основе сайтов из реестра запрещённых сайтов в РФ.


Задача: во весь список открытых сингтур надо как то добавить set_nfq_mark:<марка на основе and от маски>/ffffffff;


План маркировки: 0x2/0xfe - zapret-gov rst mark 0x4/0xfe - марка для исключений 0x6/0xfe - Вирусные сингтуры 0x8/0xfe - Статистика для модифицированных пакетов

 , , , ,

ne-vlezay
()