Архив метки: Linux

Бункер-01, Privoxy на VDS / Ubuntu Server

Установка…

$ apt-get install Privoxy
$ ssh -X user@ip_vds
$ gedit /etc/privoxy/config

# Допуск IP адресов на сервер Proxy / VDS
permit-access xxx.xxx.xxx.xxx

# Внешний IP VDS
listen-address  localhost:8118
listen-address  xxx.xxx.xxx.xxx:8118
listen-address [5a01:230:3:1::92]:8118

# Свой Socks (прозрачный proxy)
#forward-socks5 / 127.0.0.1:1080 .
#forward-socks4a / 127.0.0.1:1080 .
#forward-socks4 / 127.0.0.1:1080 .

# TOR
#forward-socks5 / 127.0.0.1:9050 .
#forward-socks4a / 127.0.0.1:9050 .
#forward-socks4 / 127.0.0.1:9050 .
#forward-socks4a .onion 127.0.0.1:9050 .

# I2P
#forward / 127.0.0.1:4001
#forward .i2p 127.0.0.1:4444

DNS сервера…

Рекомендуем OpenDNS

$ nano /etc/resolv.conf

nameserver 2620:0:ccc::2
nameserver 2620:0:ccd::2
nameserver 208.67.222.222
nameserver 208.67.220.220

Проверим ipv6 (если есть на VDS)…

http://www.test-ipv6.com/

Должно быть 10 из 10 балов, стабильность и готовность IPv6 соединения, когда сайт использует только IPv6.

***

Установка DNSCrypt (dnscrypt-proxy)

$ add-apt-repository ppa:anton+/dnscrypt
$ apt-get update
$ apt-get install dnscrypt-proxy

Установить основной сервер DNS…

$ nano /etc/resolv.conf

nameserver 127.0.0.2

OR: /etc/network/interfaces

dns-nameservers 127.0.0.2

OR: /etc/dnsmasq.conf

no-resolv
server=127.0.0.2#2053
listen-address=127.0.0.1

Анализируем трафик…

$ tcpdump -i eth0 dst host 176.56.237.171

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:43:15.972239 IP it2.fvds.ru.33875 > resolver1.dnscrypt.eu.https: UDP, length 512
15:43:15.972340 IP it2.fvds.ru.33875 > resolver1.dnscrypt.eu.https: UDP, length 512
15:43:16.682532 IP it2.fvds.ru.33875 > resolver1.dnscrypt.eu.https: UDP, length 512

Перепроверим…

https://dnsleaktest.com/

Подключим VPN, проверим…

http://dnsleak.com/

Подключим OS на KVM, проверим…

http://whoer.net/

***

Privoxy в режиме прозрачного прокси

$ nano /etc/privoxy/config

accept-intercepted-requests 1

Включить прозрачное проксирование можно с помощью команд:

$ iptables -t nat -A OUTPUT -p tcp -m owner —uid-owner privoxy -j ACCEPT;
$ iptables -t nat -A OUTPUT -p tcp —dport 80 -j REDIRECT —to-ports 8118;

Отключить прозрачное проксирование можно командами:

$ iptables -t nat -D OUTPUT -p tcp -m owner —uid-owner privoxy -j ACCEPT;
$ iptables -t nat -D OUTPUT -p tcp —dport 80 -j REDIRECT —to-ports 8118;

***

Перезапуск сервера…

/etc/init.d/privoxy restart

Проверить доступ через VPN к серверу Privoxy…

permit-access xxx.xxx.xxx.xxx (возможно использовать ip тунеля).

***

Шлифуем Privoxy через AdblockPlus…

Скрипт добавит фильтры от AdblockPlus в config Privoxy:

filterfile default.filter
filterfile easylistgermany.script.filter
filterfile easylist.script.filter
filterfile user.filter

http://andrwe.org/scripting/bash/privoxy-blocklist

***

Для чего нужны *.action и *.filter файлы?

*.filter — содержат в себе внешние фильтры Privoxy.
Внутренние фильтры Privoxy, в отличие от внешних, вшиты непосредственно в код программы.

*.action — содержат в себе действия, т.е.
В нем будут определены внешние (*.filter) или внутренние фильтры,
и маски адресов, контент которых этими фильтрами должны быть обработан.

Как установить дополнительные *.action и *.filter файлы?

1. Открываете файл конфигурации Privoxy

а) В секции «2.3. actionsfile» вставляете следующее:
actionsfile my-actions-file.actions
— желательно вставлять свои *.actions до объявления user.action
б) В секции «2.4. filterfile» вставляете следующее:
filterfile my-filter-file.filter

Страница после Privoxy теряет свою функциональность или сильно искажается. Что делать?

1. Зайдите на http://config.privoxy.org/show-url-info, введите в поле адрес страницы и нажмите на кнопку «Go».
2. Определите какие фильтры отработали на данной странице.
3. Чтобы отключить фильтры на данной странице необходимо (одно из нижеследующего)
а) Определить какой фильтр нужно отключить, в веб-интерфейсе Privoxy, в user.action создать секцию с отключенным фильтром и адресом данной страницы.
б) Найти в веб-интерфейсе Privoxy, в user.action секцию -filter (или создать ее) и добавить к ней адрес данной страницы.

Автор: AugustuS Karro
Дата публикации: 2015-07-08T20:56:00.000+07:00

NetAssist IPv6 Tunnel Broker / openSUSE 13.x GNU-Linux

Настройка IPv6 через NetAssist Tunnel Broker

***

Регистрация и получение данных не описывается.

***

Настройка туннеля:

$ modprobe ipv6
$ ip tunnel add netassist mode sit remote xx.xx.xx.xx local xx.xx.xx.xx ttl 200
$ ip link set netassist up
$ ip addr add 2a01:d1:ffff:3we6::2/64 dev netassist
$ ip route add ::/0 dev netassist
$ ip -f inet6 addr

Если ошибка...

ip addr add 2a01:d1:ffff:3we6::2/64 dev netassist
RTNETLINK answers: Permission denied

Проверить настройки IPv6 в системе, проверить...

$ cat /proc/sys/net/ipv6/conf/default/disable_ipv6
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Если равно 1, то делаем правку на 0...

$ echo 0 > /proc/sys/net/ipv6/conf/default/disable_ipv6
$ echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6

Настройте роутер для туннеля (protocol 41), на личном примере NetGear N300...

Тип интернет-соединения > Туннель 6-4
Удаленный маршрутизатор пересылки 6-4 > Статический IP-адрес > xx.xx.xx.xx
Параметры локальной сети > Автоматическая настройка

$ ping6 ipv6.google.com


Если используем openVPN, добавим DNS google(a) ipv6...

$ nano /etc/resolv.conf

nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

$ ping6 ipv6.google.com

64 bytes from la-in-x8b.1e100.net: icmp_seq=1 ttl=54 time=89.5 ms
64 bytes from la-in-x8b.1e100.net: icmp_seq=2 ttl=54 time=88.0 ms
64 bytes from la-in-x8b.1e100.net: icmp_seq=3 ttl=54 time=88.2 ms
64 bytes from la-in-x8b.1e100.net: icmp_seq=4 ttl=54 time=88.1 ms


Автор: AugustuS Karro
Дата публикации: 2015-07-07T14:56:00.000+07:00

openVPN / Set Firewall (ufw) / Ubuntu GNU-Linux

Настройка Firewall (ufw), при использовании openVPN…
Симптомы, медленное подключение, задержки при обращении к DNS серверам.

***

Для начала разрешим SSH:

$ ufw allow ssh

Разрешим UDP:

$ ufw allow 1194/udp

Правим правила перенаправления:

$ nano /etc/default/ufw

DEFAULT_FORWARD_POLICY=»ACCEPT»

Правим правила трансляции IP:

$ nano /etc/ufw/before.rules

# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0] 
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

Проверка статуса Firewall (ufw):

$ ufw status

Автор: AugustuS Karro
Дата публикации: 2015-07-06T09:34:00.000+07:00

Создание RPM пакета для Fedora

Иногда встречаются полезные программы, доступные только в виде исходных кодов (и/или в виде установочных пакетов для других ОС), но есть необходимость их установки на несколько компьютеров. Чтобы не выполнять компиляцию на каждом компьютере отдельно, можно на одном подготовить установочный пакет и установить его штатными средствами на других компьютерах.
Ниже приведён пример создания RPM пакета для Fedora 21 (для других версий Fedora процедура не отличается) из исходных текстов очень приятной и полезной программы Boomaga версии 0.7.0.
Читать

openSUSE 13.2 / Два монитора / NVIDIA

Основная задача сделать второй монитор с независимым Рабочим Столом.
***

Тестовая машина…

— Intel® Core™ i5 3.00 — 2320 x4
— Overclock CPU to 3.6 ghz
— DDR3 (1600) — 16GB (Dual).
— openSUSE 13.2 x-86_64.
— Kernel 3.16
— Nvidia GTX-650 ddr5 1024 mb / 128 bit.
— Drivers 352.21
— Display resolution 1360×768 (VGA).
— Display resolution 1920×1080 (HDMI).
***
Анализ мониторов…
$ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920×1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920×1080     60.00*+  59.94    50.00    29.97    25.00    23.97    60.05    60.00    50.04
   1360×768      60.02
   1280×1024     60.02
   1280×720      60.00    59.94    50.00
   1152×864      60.00
   1024×768      60.00
   800×600       60.32
   720×576       50.00    50.08
   720×480       59.94
   640×480       59.95    59.94    59.93
***
Для единого Рабочего Стола, можем выполнить например…
$ xrandr —auto —output HDMI-0 —mode 1920×1080 —right-of DVI-D-0
Или…
В nvidia-settings указать все мониторы как Screen0, тогда TwinView получит единый рабочий стол.
***
Рабочий X configuration file:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 352.21  (buildmeister@swio-display-x64-rhel04-13)  Tue Jun  9 22:42:41 PDT 2015
Section «ServerLayout»
# Removed Option «Xinerama» «0»
# Removed Option «Xinerama» «1»
    Identifier     «Layout0»
    Screen      0  «Screen0» 0 0
    Screen      1  «Screen1» 1920 0
    InputDevice    «Keyboard0» «CoreKeyboard»
    InputDevice    «Mouse0» «CorePointer»
    Option         «Xinerama» «0»
EndSection
Section «Files»
EndSection
Section «InputDevice»
    # generated from data in «/etc/sysconfig/mouse»
    Identifier     «Mouse0»
    Driver         «mouse»
    Option         «CorePointer»
    Option         «Protocol» «ExplorerPS/2»
    Option         «Device» «/dev/input/mice»
    Option         «Buttons» «7»
    Option         «ZAxisMapping» «4 5»
    Option         «Resolution» «3200»
EndSection
Section «InputDevice»
    # generated from default
    Identifier     «Keyboard0»
    Driver         «kbd»
EndSection
Section «Monitor»
    Identifier     «Monitor0»
    VendorName     «Unknown»
    ModelName      «LG Electronics LG TV»
    HorizSync       30.0 — 83.0
    VertRefresh     58.0 — 62.0
    Option         «DPMS»
    Option         «DPI» «96 x 96»
EndSection
Section «Monitor»
    Identifier     «Monitor1»
    VendorName     «Unknown»
    ModelName      «Samsung SyncMaster»
    HorizSync       30.0 — 61.0
    VertRefresh     56.0 — 75.0
EndSection
Section «Device»
    Identifier     «Device0»
    Driver         «nvidia»
    VendorName     «NVIDIA Corporation»
    BoardName      «GeForce GTX 650»
    Option         «NoLogo» «true»
    Option         «TwinView» «True»
    Option         «TwinViewOrientation» «TV Clone DFP-1»
#Option         «ConnectedMonitor» «DFP-1, TV»
    Option         «UseDisplayDevice» «DFP-1, TV»
    BusID          «PCI:1:0:0»
    Screen          0
EndSection
Section «Device»
    Identifier     «Device1»
    Driver         «nvidia»
    VendorName     «NVIDIA Corporation»
    BoardName      «GeForce GTX 650»
    BusID          «PCI:1:0:0»
    Screen          1
EndSection
Section «Screen»
# Removed Option «metamodes» «nvidia-auto-select +0+0»
# Removed Option «metamodes» «VGA-0: nvidia-auto-select +1920+0, HDMI-0: nvidia-auto-select +0+0»
    Identifier     «Screen0»
    Device         «Device0»
    Monitor        «Monitor0»
    DefaultDepth    24
    Option         «Stereo» «0»
    Option         «nvidiaXineramaInfoOrder» «DFP-1»
    Option         «metamodes» «HDMI-0: nvidia-auto-select +0+0»
    Option         «SLI» «Off»
    Option         «MultiGPU» «Off»
    Option         «BaseMosaic» «off»
    SubSection     «Display»
        Depth       24
    EndSubSection
EndSection
Section «Screen»
    Identifier     «Screen1»
    Device         «Device1»
    Monitor        «Monitor1»
    DefaultDepth    24
    Option         «Stereo» «0»
    Option         «nvidiaXineramaInfoOrder» «CRT-0»
    Option         «metamodes» «VGA-0: nvidia-auto-select +0+0»
    Option         «SLI» «Off»
    Option         «MultiGPU» «Off»
    Option         «BaseMosaic» «off»
    SubSection     «Display»
        Depth       24
    EndSubSection
EndSection
Section «Extensions»
    Option         «Composite» «Disable»
    #Option         «RENDER» «Enable»
EndSection
***
Как видим Samsung SyncMaster, имеет отдельную конфигурацию как Screen1, с личным рабочим столом.

Автор: AugustuS Karro
Дата публикации: 2015-06-26T18:00:00.000+07:00

TCP timestamp response off / GNU-Linux

The remote host responded with a TCP timestamp. The TCP timestamp response can be used to approximate the remote host’s uptime, potentially aiding in further attacks. Additionally, some operating systems can be fingerprinted based on the behavior of their TCP timestamps.

***

Отключение… Читать