Архив рубрики: Networks

Установка WireGuard на Ubuntu/Debian

Сегодня в статье приведу пример по установке и настройке VPN сервера WireGuard для операционных систем Ubuntu и Debian. Также данная статья будет справедлива и для всех производных систем данного типа.

WireGuard – это современная высокопроизводительная VPN для Linux,Windows, MacOS. Главной функцией WireGuard является обеспечение безопасного соединения между сторонами через сетевой интерфейс, зашифрованный с помощью аутентификации по открытому ключу. Это означает, что, в отличие от большинства виртуальных частных сетей, WireGuard не применяет топологию, что позволяет создавать различные конфигурации путем изменения конфигураций окружающей сети. Эта модель предлагает большую производительность и гибкость.

Сейчас WireGuard готовится к включению в состав ядра Linux. Если быть точнее, то он появится в ядре версии 5.6, он даже получил похвалу от Линус Торвальдса и в американском сенате.

Специалисты проверили скорость работы WireGuard и выяснили, что он способен обойти большинство протоколов шифрования в том числе широко известный протокол OpenVPN.

Причина, которая объясняет высокую скорость работы WireGuard, это применение быстрого и современного алгоритма шифрования, благодаря которому скорость передачи данных очень высока.

Кроме того, данный протокол очень похож на https, что позволяет обманывать системы анализа трафика DPI, установленные у Вашего провайдера и обходить эти блокировки по сигнатурам.

Установка и настройка при помощи скрипта

Для облегчения установки и настройки можете воспользоваться готовым скриптом. Данный скрипт универсальный для большинства систем.

Первым шагом подготовим нашу систему:

sudo -su
apt update && apt upgrade -y
apt install curl

Далее скачиваем скрипт.

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

Делаем его исполняемым:

chmod +x wireguard-install.sh

Запускаем установку и настройку WireGuard

./wireguard-install.sh

Установка WireGuard на Ubuntu

Установку нашего VPN WireGuard я буду производить на сервере под управлением операционной системы Ubuntu/Debian. И так поехали.

Ubuntu 18.04

Для начала надо добавить официальный репозиторий в систему:

sudo add-apt-repository ppa:wireguard/wireguard
  • Обновляем индексы
sudo apt update
  • Устанавливаем wireguard
sudo apt install -y wireguard wireguard-dkms iptables resolvconf qrencode

Ubuntu 20.04/22.04

Так как пакет входит в официальный репозиторий, то необходимо набрать всего лишь данные команды:

  • Обновляем индексы
sudo apt update
  • Устанавливаем wireguard
sudo apt install -y wireguard wireguard-dkms iptables resolvconf qrencode

Установка WireGuard на Debian

Для того чтобы установить WireGuard на Debian с начало необходимо авторизоваться под root пользователем:

sudo su

Далее набираем следующее:

echo "deb http://deb.debian.org/debian buster-backports main" >/etc/apt/sources.list.d/backports.list
apt update
apt install -y iptables resolvconf qrencode
apt install -y -t buster-backports wireguard

Для остальных операционных систем можете посмотреть официальную страничку инсталляции.

Также установите заголовки для вашего ядра, если вы еще этого не сделали:

apt-get install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//')

Настройка VPN WireGuard на серверной части

Давайте теперь настроим наш высокопроизводительный VPN на сервере wireguard. Для этого создадим файл конфигурации и необходимые ключи шифрования. Все действия выполняем из под root.

sudo su
(umask 077 && printf "[Interface]nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null)
wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/wg-server-publickey.key
  • Первая команда записывает исходное содержимое конфигурационного файла в /etc/wireguard/wg0.conf. Значение umask в суб-оболочке позволяет создать файл с ограниченными разрешениями, не затрагивая обычную среду.
  • Вторая команда генерирует закрытый ключ с помощью команды wg и записывает ее непосредственно в конфигурационный файл с ограниченным доступом. Затем ключ передается обратно команде wg pubkey, чтобы получить связанный с ним открытый ключ, который записывается в /etc/wireguard/wg-sever-publickey.key.

Следующим шагом нам необходимо включить форвардинг пакетов через наш сервер, для этого открываем следующий файл:

sudo nano /etc/sysctl.conf

И уберем знак комментария # со строки:

net.ipv4.ip_forward=1

Применим изменения

sudo sysctl -p

Далее отрываем файл на редактирования и вносим необходимую информацию о нашей VPN сети.

sudo nano /etc/wireguard/wg0.conf

Конфигурационный файл vpn wireguard

Внутри, в разделе [Interface], вы должны увидеть свой сгенерированный закрытый ключ. Этот раздел содержит конфигурацию для локальной стороны соединения.

В разделе Interface нужно также определить IP-адрес VPN, который будет использовать этот узел, и порт, который он будет прослушивать для соединений с одноранговыми узлами.

Давайте добавим в него следующие строки ListenPort, SaveConfig и Address:

[Interface]
PrivateKey = приватный_ключ_сервера
ListenPort = 5555
SaveConfig = true
Address = 10.0.0.1/24 
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wg0 -j MASQUERADE
  • ListenPort – указываем свободный порт который будет прослушивать наш сервис wg-quick (VPN WireGuard)
  • SaveConfig – имеет значение true, чтобы сервис wg-quick мог автоматически сохранять свою активную конфигурацию в этом файле при завершении работы.
  • Address – это наш IP-адрес и маска сети
  • PostUP и PostDown – запускают необходимые правило для iptables

Пробуем поднять нашу сеть скриптом wg-quick:

sudo wg-quick up /etc/wireguard/wg0.conf

В системах с systemd вместо этого можно использовать следующую запись:

sudo systemctl start wg-quick@wg0.service

Если systemd ругается, то сперва необходимо включить сервис следующей командой:

sudo systemctl enable wg-quick@wg0.service

Настройка VPN WireGuard на клиентской машине

В качестве клиента у меня будет выступать ноутбук с операционной системой Ubuntu Desktop 18.04 LTS

Все действия выполняем из под пользователя root.

sudo su
add-apt-repository ppa:wireguard/wireguard 
apt install wireguard -y

Для Ubuntu 20.04 необходимо повторить тоже самое, что и при установке на серверную часть. (см. Выше)

Далее создаем конфигурационный файл и генерируем ключи:

(umask 077 && printf "[Interface]nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null)
wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/wg-server-publickey.key

Открываем наш конфигурационный файл и вносим изменения.

sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = приватный_ключ_клиента
ListenPort = 5555
Address = 10.0.0.2/32 

Создайте раздел под названием [Peer] после раздела [Interface].

[Peer]
PublicKey = Публичный_ключ_сервера
AllowedIPs = 10.0.0.0/24
Endpoint = IP-адрес_сервера:5555
PersistentKeepalive = 10
  • PublicKey – укажите значение открытого ключа сервера. Вы можете найти это значение, набрав на сервере команду: wg
  • AllowedIPs – указывает на пропуск трафика через VPN. В данном случае будет проходить через VPN только трафик сети 10.0.0.0/24. Весть остальной трафик пойдет через вашего провайдер. Для заворота всего трафика через VPN указываем значение 0.0.0.0/0
  • PersistentKeepalive – время в секундах для постоянной проверки доступности ресурса.

Запускаем сервис на Ubuntu:

 sudo systemctl start wg-quick@wg0.service 

Запускаем сервис на Debian:

sudo wg-quick up /etc/wireguard/wg0.conf

Peer на стороне сервера

На сервере также необходимо добавить информацию о клиенте. Иначе ваш туннель VPN не откроется. Для этого возвращаемся на сервер и останавливаем службу wireguard:

sudo systemctl stop wg-quick@wg0.service

Далее открываем конфигурационный файл:

sudo nano /etc/wireguard/wg0.conf

И вносим информацию о клиенте.

[Peer]
PublicKey = публичный_ключ_клиента
AllowedIPs = 10.0.0.5/32
PersistentKeepalive = 10
  • PublicKey – ключ клиента можно посмотреть на клиентской машине при помощи команды wg.
  • AllowedIPs – указывает на IP клиента. Обязательно с маской 32

Запускаем наш сервис:

 sudo systemctl start wg-quick@wg0.service 

Пробуем пропинговать клиента.

ping 10.0.0.2
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.916 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.545 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.647 ms

Со стороны клиента также должен проходить пинг до сервера.

ping 10.0.0.1
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=2.40 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.646 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.555 ms

Хотя статья получилась большой, но все настраивается очень быстро.

Тонкая настройка параметров WireGuard на примере Proxmox

  • /usr/lib/sysctl.d/10-pve-ct-inotify-limits.conf
    fs.inotify.max_queued_events = 8388608
    fs.inotify.max_user_instances = 65536
    fs.inotify.max_user_watches = 4194304
    vm.max_map_count = 262144
    net.ipv4.neigh.default.gc_thresh3 = 8192
    net.ipv6.neigh.default.gc_thresh3 = 8192
    kernel.keys.maxkeys = 2000
  • /usr/lib/sysctl.d/10-pve.conf
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
    net.bridge.bridge-nf-filter-vlan-tagged = 0
    net.ipv4.igmp_link_local_mcast_reports = 0
    fs.aio-max-nr = 1048576
  • /usr/lib/sysctl.d/50-pid-max.conf
    kernel.pid_max = 4194304
  • /etc/sysctl.d/99-sysctl.conf
    net.ipv4.ip_forward = 1
  • /usr/lib/sysctl.d/protect-links.conf
    fs.protected_fifos = 1
    fs.protected_hardlinks = 1
    fs.protected_regular = 2
    fs.protected_symlinks = 1
  • /usr/lib/sysctl.d/pve-firewall.conf
    net.ipv4.conf.all.rp_filter = 2
  • /etc/sysctl.d/wg.conf
    net.ipv4.ip_forward = 1
    net.ipv6.conf.all.forwarding = 1
  • /etc/sysctl.conf
    net.ipv4.ip_forward = 1

🔥 Как перехватить трафик в коммутируемой среде?

Анализ сетевого трафика всегда был неотъемлемой частью работы любого сетевого инженера, администратора сети для выявления проблем работоспособности и конфигурации активного оборудования, а также специалистов по информационной безопасности для выявления аномальной сетевой активности вредоносного программного обеспечения.

Анализ перехваченных пакетов безусловно требует от специалиста наличие глубоких знаний в области сетевых технологий, а также навыков работы с программным обеспечением анализаторов пакетов, таким например, как всем известный wireshark, так как необходимо знать синтаксис фильтров, уметь быстро находить интересующие протоколы и т.д.

Но гораздо сложнее это трафик перехватить, точнее установить оборудование для его перехвата.

Так как же перехватить трафик?

Как расположить и настроить оборудование для прослушивания ?

Предлагаю рассмотреть варианты расположения (подключения) оборудования для снифа в коммутируемой среде (перехват wi-fi канала рассмотрим в следующей статье).

Самым удобным способ является установка сниффера непосредственно на интересующем нас прослушиваемом хосте.

Однако часть трафика, весьма полезная для исследования, но не предназначенное конечному устройсву будет отбрасыватся сетевым интерфейсом и не передаваться на обработку в систему, а значит и захватить этот трафик для дальнейшего исследования мы не сможем. К такому трафику относятся широковащательный трафик в рамках работы коммутатора.

К примеру ARP запрос, который используют хосты для определения MAC-адреса, который соответствует определенному IP-адресу.

Зная IP, направляем ARP запрос с целью сопоставления IP-MAC всем устройствам внутри широковещательного домена.

Однако только искомый хост “заинтересован” в получении такого запроса, остальные хосты, как упомяналось выше, указанный пакет отбросят.

Для наглядности, с помощью Cisco Packet racer, рассмотрим как хост с IP-адрессом 192.168.1.2 направляет ARP запрос на хост 192.168.1.4.

Предварительно проверив, что ARP записей на 192.168.1.2 нет от слова совсем командой arp -a (удалить их можно с помощью arp -d) выолняем команду ping на 192.168.1.4.

Так как мы не знаем MAC адрес, то первончально направляем ARP запрос. Запрос приходит на коммутатор (cisco 2960), далее он направляется на все хосты, подключенные к коммутатору. После этого хост 192.168.1.3 отбрасывает указанный, а 192.168.1.4 соответственно отвечает.

 

Для того, чтобы захватывать весь поступающий траффик на 192.168.1.3 необходимо на сетевом интерфейсе включить смешанный режим раюоты. Это позволяют сделать программные компоненты Aircrack-ng, Wireshark, tcp dump  идр.

Когда нет возможности разместить анализатор трафика на целевом хосте помочь может концентратор.

В таком случае исследуемый хост и анализатор трафика в одном коммутируемом сегменте сети подключаются к одному концентратору.

В результате все поступающие и исходящие пакеты будут проходить по всем портам концентратора.

Так например, отправив пакеты с Host1 на Host2,  концентратор Hub0 направит их как на исследуемый Host2,  так и на анализатор пакетов Sniffer.

Отброс пакетов Sniffer’ом на картинке, обусловлен отключенным смешанным режимом работы сетевого адаптера.

Самым популярным способом перехвата трафика остается метод зеркалирование портов.

Для реализации этого метода необходимо чтобы коммутатор был управляемым, а также иметь физический или через удаленный ssh/Web-интерфейс доступ к нему.

Смысл заключается в том, чтобы принимаемый и отправляемый трафик устройства подключённого к порту коммутатора – зеркально направлялся на другой порт коммутатора, куда подключен анализатор трафика.

Так, подключившись, настроим коммутатор Сisco 2960 для зеркалирования трафика на портах fastEthernet 0/1 и fastEthernet 0/2 куда подключены host1 и host2 соответсвенно:

Switch>enable

Switch#conf terminal

Switch(config)#monitor session 1 source interface fastEthernet 0/1

Switch(config)#monitor session 1 source interface fastEthernet 0/2

И порт, на который будет зеркалироваться трафик, куда подключен анализатор пакетов :

Switch(config)#monitor session 1 destination interface f0/24

Проверим:

Switch#show monitor

Session 1

---------

Type                   : Local Session

Description            : -

Source Ports           :

Both               : Fa0/1,Fa0/2

Destination Ports      : Fa0/24

Encapsulation      : Native

Ingress      : Disabled

Итак направим пакеты от Host1 (192.168.1.1)  на Host2( 192.168.1.2) и видим, что они зеркалируются коммутатором наш снифер:

Открываем перехваченный ICMP пакет на снифере:

 

Указанные методы не лишены недостатков, а другие методы перехвата сетевого трафика – такие как заражение ARP-кэша и применение сетевых ответвителей рассмотрим в следующих статьях.

¯_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.



2020-02-05T13:23:31
Аудит ИБ

Кабель витая пара – передовые решения связи, гипермаркет VSE-E

Витая пара является одним из основных компонентов СКС. Применяется данный вид кабеля в инженерных сетях в качестве источника передачи сигнала. Витая пара — это кабель, который может иметь одну или несколько пар изолированных проводов, покрытых поливинилхлоридной оболочкой.

Витая пара оснащена проводниками из монолитной меди или омедненного алюминия. Они попарно соединяются, в результате чего в каждом кабеле присутствует две или четыре витые пары.

 

Как правило, витая пара делится на следующие категории:

  • Витая пара сat.5e – это самая распространенный вид витой пары, которая применяется везде для создания сетей. Для четырех пар скорость передачи составляет до 1000 Мбит/сек, для двух – до 100 Мбит/сек.
  • Витая пара 6 категории применяется для создания гигабитных инженерных сетей. Скорость передачи данных может достигать 1000 Мбит/сек, на расстоянии до 55 метров сеть скорость может достигать до 10 Мбит/сек.
  • Витая пара категории 6а — это кабель, предназначенный для монтажа гигабитных интернет сетей. Такой кабель поддерживает скорость 10 Мбит/сек на расстоянии до 100 м.

 

Классификация витой пары:

  • FTP являет собой кабель у которого присутствует защитный экран из алюминиевой фольги. В некоторых случаях защитный экран может присутствовать для каждой пары по отдельности. В таком случае тип помечается как F/FTP;
  • SFTP. У такого кабеля в нагрузку к алюминиевой фольге присутствует защитный экран из стальной оплетки. Такой кабель применяется в местах, которые подвержены негативному воздействию электромагнитного излучения;
  • UTP представляет собой неэкранированный тип кабеля.

 

Основные характеристики

Витая пара, предназначенная для наружного монтажа характеризуется следующими параметрами:

  1. Диаметр проволоки составляет от 400 мкм до 600 мкм;
  2. Маркировка по цветовому типу: черная;
  3. Диапазон температурных показателей: от -40 С до +75 С.

Витая пара обеспечивает высокую эффективность и надежность наряду с высокоскоростной передачей данных.

 

Как правильно выбрать витую пару?

Перед тем, как купить кабель витую пару для монтажа компьютерных или телекоммуникационных сетей нужно обязательно учесть такие факторы:

  • Наличие экранирования у кабеля. Если укладка кабеля будет осуществляться в среде с высоким электромагнитным излучением, то качество сигнала существенно ухудшается.
  • Протяженность коммуникаций, а также ожидаемая скорость передачи сигнала.
  • Вид монтажных работ. Этот фактор при выборе является крайне важным. Так, если кабель планируется укладывать на открытом участке либо под землей, то он должен иметь защитную оболочку из поливинилхлорида. Ели же кабель будет проложен внутри помещения, то такая оболочка может быть выполнен из полиэтилена.

Купить витую пару по лучшей цене.

В нашем интернет-магазине VSE-E Вы имеет уникальную возможность купить витую пару всех типов и категорий. Мы предлагаем широкий ассортимент и отличные цены для решения любых задач.



2020-01-27T17:05:25
Сетевые технологии

Установка и настройка Openwrt на TP-LINK

Openwrt — даже не прошивка, а операционная система linux для роутеров. Причин, для того, что бы ваш роутер был под управлением Openwrt много. Ведь перед вами хоть и урезанная, но система linux, с возможностью установки пакетов (приложений). Помните, перепрошивка роутера в openwrt лишает вас гарантии. Все действия, которые вы выполняете со своим роутером — вы делаете на свой страх и риск.

В первом повествовании не будем вдаваться во многие тонкости. Рассмотрим, как прошить роутер и настроить сеть через веб-интерфейс на примере TP-Link TL-WR740N v.5.

Читать

Время колокейшн

Как понять, что поддержка собственного центра обработки данных тянет слишком много ресурсов и пора переходить на колокейшн? Как только вы заметите ощутимый рост трафика или проект вырастет настолько, что текущих технических и кадровых ресурсов станет недостаточно.

 

Базовые термины

Для начала уточним, что колокейшн (colocation) — это услуга по размещению IT-оборудования клиента на территории дата-центра. При этом дата-центр обеспечивает клиентскую IT-инфраструктуру электричеством, каналами связи и пр. сервисами, необходимыми для бесперебойной работы. Все, что в этой ситуации требуется от владельца оборудования — перевезти его в ЦОД, обслуживать и модернизировать, хотя даже это можно передать дата на аутсорс.

 

Пять преимуществ колокейшн

1. Сокращение капитальных затрат

Расходы на организацию, поддержку и масштабирование собственной серверной исчисляются сотнями тысяч. Тем более, если серверная организуется с учетом схем резервирования. При колокейшн вместо капитальных затрат у бизнеса остаются только операционные, которые все равно будут меньше за счет «эффекта масштаба» ЦОД.

 

2. Быстрое масштабирование

В рамках колокейшн бизнес может наращивать ИТ-инфраструктуру без оглядки на собственные кадровые ресурсы и свободные площади.

 

3. Выбор оборудования

При colocation оборудование у клиента свое, то есть сервера и конфигурации подбираются точно под задачи, перспективы бизнеса. Содержание, обслуживание и администрирование также остается в ведении владельца.

 

4. Безопасность

В ЦОД уровень физической и сетевой безопасности в разы надежней, чем в самой защищенной серверной.

 

5. Доступность высокого уровня

У дата-центра априори более высокая скорость канала связи с интернетом и ниже сетевая задержка.

Самое важное в colocation — выбрать правильный ЦОД. Оптимально это должен быть ЦОД с Tier III или Tier IV, с возможностью не только принять под крыло ваши сервера, но и обеспечить ряд дополнительных услуг. Рано или поздно они могут понадобиться.

Ориентируйтесь на перспективы. Просчитайте необходимую мощность при экстенсивном развитии вашей IT-инфраструктуры и необходимый уровень защиты данных. Если у ЦОД есть резервные мощности и потенциально более высокие уровни безопасности, которые удовлетворят ваши возросшие потребности — это подходящий вариант.

Статья написана по материалам, предоставленным datapro.ru



2019-12-19T07:40:08
Сетевые технологии

Не забудьте взять VPN в дорогу

Почему путешественникам и тем, кто часто в разъездах, так важно иметь стабильную VPN под рукой. Виртуальная приватная сеть создает мост между пользователем и действиями в Интернете, и другая сторона не вмешивается в передачу данных. Почему специалисты считают, что использование VPN необходимо во время поездок по миру?

 

Предоставляется доступ к ограниченным веб-сайтам

С помощью VPN для путешествий пользователь получает доступ к веб-сайтам, которые часто блокируются в некоторых странах. В листе запрещенных сайтов может фигурировать Netflix, Youtube, Facebook и другие. Но благодаря технологии VPN можно устраивать марафоны сериалов в любой стране.

Интересно знать, как VPN делает именно это? Сеть шифрует данные действия в интернете, скрывает местоположение и IP-адрес, поэтому делает пользователя анонимным. Это открывает веб-сайты с ограниченным доступом в определенных странах. Итак, хочет ли путешественник использовать Facebook в Китае или Solo Traveler в некоторых странах, где он заблокирован, VPN дает возможность чувствовать себя как дома, пользуясь привычными сервисами.

 

Защищает пользователя от поддельных точек доступа Wi-Fi

Киберпреступники устанавливают фальшивые точки доступа Wi-Fi, так что человек легко может оказаться в ловушке. С помощью VPN, даже если устройство подключится к Wi-Fi, онлайн-активность будет зашифрована, а значит и защищена. Решившись купить vpn, пользователь убережет себя от утечки данных и сможет использовать бесплатный Wi-Fi хакера, не беспокоясь о безопасности.

 

Охраняет личную информацию

Данные, которые путешественник вводит постоянно, вроде данных кредитной карты при бронировании отеля или билетов, защищены от всевозможных взломов благодаря VPN.

Взлом банковских данных — самое страшное, что сможет случиться в дороге. Невозможно сразу же обратиться в отделение банка, занять у друзей до зарплаты из-за понесенных убытков, и дом не всегда рядом.

Во время подготовки к путешествию, изучите обстановку в стране пребывания. Если киберпреступления — редкость, можно обойтись упрощенным тарифом, который обеспечивает базовую безопасность. В опасных регионах лучше подстраховаться и защитить данные в сети по максимуму. Неудивительно, что киберпреступники совершают атаки, где бы человек ни находился. Но с помощью VPN для путешествий пользователь может сэкономить, избежав кражи личных данных.



2019-12-02T11:59:31
Сети