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

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

Продолжение поста:

http://crimea-karro.blogspot.ru/2015/07/01-privoxy-vds-ubuntu-server.html
http://crimea-karro.blogspot.ru/2015/07/02-privoxy-vds-ubuntu-server.html
http://crimea-karro.blogspot.ru/2015/07/03-privoxy-vds-ubuntu-server.html

***

Varnish – это HTTP-ускоритель, очень полезный инструмент для ускорения работы сервера,
является бесплатным решением для кэширования как статического, так и динамического контента.

Работает он как фронт-энд к любому веб-серверу или серверу приложений и изначально ориентирован на высокую производительность, многопоточность и максимально эффективное использование возможностей ОС семейства Linux.

Детальная настройка не описывается автором.

https://www.varnish-cache.org/

The only supported architecture is amd64.

***

Общие заметки с Privoxy:

Обратите внимание на смену синтаксиса конфигурационных файлов, между версиями varnish.

   $ apt-get install apt-transport-https
   $ curl https://repo.varnish-cache.org/GPG-key.txt | apt-key add —
    $ echo «deb https://repo.varnish-cache.org/ubuntu/ precise varnish-4.0» >>       /etc/apt/sources.list.d/varnish-cache.list
    $ apt-get update

    $ apt-get install varnish

apt-get install varnish

nano /etc/default/varnish

DAEMON_OPTS=»-a :6081
             -T localhost:6082
             -f /etc/varnish/default.vcl
             -S /etc/varnish/secret
             -s malloc,128m» 

VARNISH_LISTEN_PORT=8118

nano /etc/varnish/default.vcl

backend default {
    .host = «127.0.0.1»;
    .port = «8118»;
    .first_byte_timeout = 300s;
}


sub vcl_recv {
  # Normalize Content-Encoding
  if (req.http.Accept-Encoding) {
    if (req.url ~ «.(jpg|png|gif|gz|tgz|bz2|lzma|tbz)(?.*|)$») {
      remove req.http.Accept-Encoding;
    } elsif (req.http.Accept-Encoding ~ «gzip») {
      set req.http.Accept-Encoding = «gzip»;
    } elsif (req.http.Accept-Encoding ~ «deflate») {
      set req.http.Accept-Encoding = «deflate»;
    } else {
      remove req.http.Accept-Encoding;
    }
  }
  
  # Remove cookies and query string for real static files
  if (req.url ~ «^/[^?]+.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(?.*|)$») {
    unset req.http.cookie;
    set req.url = regsub(req.url, «?.*$», «»);
  }
}

Перезапуск:

service varnish restart

Статистика:

varnishstat

Автор: AugustuS Karro
Дата публикации: 2015-07-11T19:46:00.001+07:00

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

Продолжение поста:

http://crimea-karro.blogspot.ru/2015/07/01-privoxy-vds-ubuntu-server.html
http://crimea-karro.blogspot.ru/2015/07/02-privoxy-vds-ubuntu-server.html

***

Установка HAVP — HTTP Antivirus Proxy и ClamAV в связке с Privoxy:

Минимальное вступление, ClamAV много поливают грязью, заказанные статьи от ИТ специалистов о «белом» тестировании ClamAV, можно считать простым черным пиаром в виду конкуренции рынка, для Privoxy и прочих прокси серверов его хватает с «головой».

***

$ sudo apt-get install clamav

Настройки по усмотрению.

$ sudo apt-get install havp

HAVP по умолчанию настроен на работу с ClamAV и практически не требует настройки.
Ограничим только локальными соединениями, это необходимо для того, чтобы клиенты не могли подключаться напрямую к HAVP. Для этого в /etc/havp/havp.config найдите и раскомментируйте следующую опцию:

BIND_ADDRESS 127.0.0.1
PORT 5555

Также раскомментируйте и измените указанным образом опцию для русского языка страниц (измените страницы):

TEMPLATEPATH /etc/havp/templates/ru

$ /etc/init.d/havp restart

***

В privoxy устанавливаем перенаправление локально:

# HAVP
forward / 127.0.0.1:5555

***

Тестируем:

http://www.eicar.org/85-0-Download.html

Появится страница с предупреждением о вирусе.

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

Бункер-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

Узнать внешний IP,HOST адрес из консоли / ip.crimea-karro.ru

Создан технический поддомен, цель, проверка IP адреса и имени хоста из консоли.

***

Вариант — 1: curl ip.crimea-karro.ru
Вариант — 2: curl -4 ip.crimea-karro.ru
Вариант — 3: wget -O — -q ip.crimea-karro.ru

Дополнительно, вывод функции dns_get_record.

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

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

DEPRECATION WARNING: Support for Rails < 4.1.0 / Metasploit Update

Проблема в запуске msfconsole, Metasploit…

# msfconsole

DEPRECATION WARNING: Support for Rails < 4.1.0 will be dropped. (called from at /opt/metasploit/apps/pro/ui/lib/metasploit/pro/ui.rb:16)
/opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/wicked-0.5.0/app/controll ers/wicked/wizard_controller.rb:5:in `': uninitialized constant ApplicationController 

Лечим, неверный линк …

Удалить, /usr/sbin/msfconsole

Верный путь к запуску, «/usr/share/metasploit-framework/msfconsole«.

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