Виртуальная машина для openvpn

Соединение VirtualBox через TAP-адаптер OpenVPN в Windows

Я пытаюсь настроить виртуальную машину (гость VirtualBox с Backtrack 4) с мостовым адаптером через VPN-соединение. VPN размещается в клубе кибербезопасности в моем университете и подключается к изолированной локальной сети, предназначенной для тестирования на проникновение на различные серверы, созданные клубом.

Мой хост (Windows 7 Ultimate) нормально подключается к VPN и получает IP через DHCP, но по какой-то причине виртуальная машина не может сделать то же самое, и я не уверен, почему. Как будто OpenVPN отфильтровывает пакеты с MAC-адреса, который он не распознает.

Я хочу, чтобы виртуальная машина соединялась через VPN-соединение, потому что у нашего ИТ-офиса очень строгие правила относительно того, что вы можете и не можете делать в сети. Я хочу иметь возможность проводить активные атаки (ARP-спуфинг, nmap, сканирование Nessus) в среде песочницы, не рискуя трафиком, случайно пройдя по университетской сети и лишив моего доступа в Интернет. Преодоление VPN-соединения и запуск всех атак внутри виртуальной машины решит эту проблему.

Windows 7 Home Premium 64-битный хост. Virtual Box Ubuntu 12.04 64 bit. Интернет через VPN через OpenVPN

В Virtual Box установите адаптер в сеть только для хоста.

OpenVPN на Win 7 (хост). Соединение установлено с графическим интерфейсом OpenVPN на адаптере TAP-Win32 V9. (Общий доступ к файлам и все протоколы, но IPv4 деактивирован)

Затем этот адаптер используется совместно с VirtualBox Host-Only Network через диалоговое окно общего доступа к подключению к Интернету, щелкнув правой кнопкой мыши.

В Ubuntu (клиент) вручную настройте сетевой адаптер, чтобы он находился в той же подсети, что и «VirtualBox Host-Only Network» на хосте, и задайте ip хоста как gateway / dns.

например: HOST VirtualBox Host-Only Network установлен на IP 192.168.137.1 Подсеть: 255.255.255.0 КЛИЕНТ Сетевой адаптер настроен на IP 192.168.137.2 Шлюз: 192.168.137.1 DNS 192.168.137.1 Подсеть 255.255.255.0

Таким образом, VB-клиент Ubuntu ВСЕГДА будет использовать VPN, и если соединение vpn не установлено, больше ничего не будет использовать.

Хост может выбрать между VPN и прямым Интернетом, установив приоритет сетевого адаптера.

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

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

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

Это довольно старый вопрос, но для тех, кто с этой проблемой:

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

Один простой способ проверить, работает ли маршрутизация должным образом: откройте браузер вашей гостевой системы и проверьте указанный IP-адрес в Интернете. Если он сообщает IP-адрес VPN вместо вашего собственного IP-адреса в Интернете, вам следует установить этот параметр.

Безопасность: она должна работать, однако это не стандартный способ маршрутизации трафика через VPN, используйте на свой страх и риск.

Источник

Бесплатный персональный OpenVPN-сервер на базе Oracle Cloud

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

Идем на адрес https://signup.cloud.oracle.com/. Проходим крайне самоочевидный мастер регистрации, подтверждаем почту, привязываем платежную карту, доходим до дашборда, где будет написано «Your account is currently being set up, and some features will be unavailable. You will receive an email after setup completes.» Дальше можно знакомиться с интерфейсом, но лучше до того, как аккаунт станет полностью подтвержденным, ничего значимого не делать. Обычно на это уходят единицы, в крайнем случае десятки минут.

Ваш аккаунт подтвердился, вам пришло уведомление об этом на электронную почту. И теперь вы, возможно, ожидаете, что мы будем разворачивать инстанс, ставить на него вручную и настраивать сервис, открывать для него порты. Но это же облако, там всё уже сделано за нас.

Это запускает мастер создания инстанса, где на первом этапе никаких важных для нас настроек нет, можно просто нажать Next.

Виртуальная машина для openvpn. Смотреть фото Виртуальная машина для openvpn. Смотреть картинку Виртуальная машина для openvpn. Картинка про Виртуальная машина для openvpn. Фото Виртуальная машина для openvpn

Ниже, в Application Configuration, нам нужно создать админские логин и пароль к сервису (их можно будет использовать и для подключения к VPN, а можно будет создать для этого дополнительные реквизиты).

На самом деле необязательный шаг, но для понимания нюансов.

Проблемы и ограничения

Не у всех поднимается доступ по SSH. Тут, к сожалению, ничего сказать не могу, потому что мне такой кейс отлаживать не приходилось. Рекомендовать могу только на втором этапе выше тщательно проверить, что вставился правильный публичный ключ. Имя пользователя при этом выводится в том же разделе «Доступ к экземпляру».

OpenVPN Access Server без лицензии позволяет не более двух одновременных подключений. Поэтому решение подходит для персонального VPN. Но в целом, конечно, ничто не мешает не ставить его из маркетплейса, а поднять пустой инстанс в Оракле (или не Оракле) и установить OpenVPN (или не OpenVPN) на этот инстанс самостоятельно из консоли. Это уже просто будет другая история.

И еще один важный апдейт про Ampere-инстансы. На них в долгосрок рассчитывать не стоит, потому что см. ниже. Пересоздать их можно, но при этом IP будет новый. Поэтому для VPN и прочих публичных ресурсов подходит только x86.

Виртуальная машина для openvpn. Смотреть фото Виртуальная машина для openvpn. Смотреть картинку Виртуальная машина для openvpn. Картинка про Виртуальная машина для openvpn. Фото Виртуальная машина для openvpn

Заключение

Понимаю, что большинство читателей способны самостоятельно настроить VPN-сервер, поэтому не претендую на техническую полезность статьи. Скорее это просто рассказ о существующей возможности, про которую слышали далеко не все. Теперь, надеюсь, знающих будет больше.

Постскриптум

Источник

1С и Linux

Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.

воскресенье, 14 октября 2018 г.

OpenVPN сервер ubuntu 16.04 на виртуальной машине VBOX

Создаем виртуальную машину vbox
ubuntu 16.04.5 HWE
1 ядро 512Мб
сетевой мост
без своп раздела

Откроем firefox (в ubuntu), откроем эту страничку и скопируем в буфер скрипт настройки сети:

Скопируем из буфера следующий скрипт, в котором Вам нужно исправить ip и адрес шлюза в соответствии со своей сетью:

Сохраним файл start.sh$ sudo sh start.sh

Генерация ключей для клиента
$ cd

Скопируем ключи:
$ cd

Настройка сервера:
$ sudo nano /etc/openvpn/server.conf

Скопируем настройки server.conf и вставим (заменим) в /etc/openvpn/server.conf:

#port 443
port 443 port-share 127.0.0.1 4443
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh2048.pem
topology subnet
server 10.8.55.0 255.255.255.0
;ifconfig-pool-persist ipp.txt
client-config-dir ccd
# раскоментировать push «redirect-gateway def1» для маршрутизации интернета
;push «redirect-gateway def1»
;push «redirect-gateway def1 bypass-dhcp»
;push «dhcp-option DNS 208.67.222.222»
;push «dhcp-option DNS 208.67.220.220»
client-to-client
;duplicate-cn
keepalive 10 120
tls-auth ta.key 0 # This file is secret
key-direction 0
;cipher BF-CBC # Blowfish (default)
cipher AES-128-CBC # AES
;cipher DES-EDE3-CBC # Triple-DES
auth SHA256
comp-lzo
;max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
;log-append openvpn.log
verb 3
;mute 20

/client-configs/files
$ chmod 700

/client-configs/files
$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf

Для проверки установим внутри локальной сети
$ ip a
192.168.1.231
Вместо 192.168.1.231 должен быть внешний ip
порт 443 сервера OpenVPN должен быть проброшен на роутере во вне по tcp

Настроим базовые настройки клиента, 192.168.1.231 ip адрес сервера:
$ nano

/client-configs/base.conf
Заменить на:
client
dev tun
proto tcp
;proto udp
remote 192.168.1.231 443
;remote my-server-1 1194
;remote my-server-2 1194
resolv-retry infinite
nobind
;user nobody
;group nogroup
persist-key
persist-tun
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
;mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-128-CBC
auth SHA256
key-direction 1
comp-lzo
verb 3
;mute 20

/client-configs/make_config.sh
Добавить:
#!/bin/bash
# First argument: Client identifier
KEY_DIR=

————————————————————————————————————————-
Перед настройкой ufw, OpenVPN должен быть настроен и проверен. Доступ к серверу по ssh будет только через OpenVPN.
Можно будет зайти только через Access console панели управления!

#Еще добавим nat (если нужна маршрутизация интернет-трафика) :
#$ sudo nano /etc/rc.local

#добавляем строки до exit 0

#сохраняем
#$ sudo reboot

$ sudo ufw reset
—————————————————————————————————————————
Настройка ufw
$ sudo ufw allow out on tun0
$ sudo ufw allow in on tun0
$ sudo ufw allow 443/tcp
$ sudo ufw allow from 192.168.0.0/24 proto tcp to any port 22
$ sudo ufw default deny outgoing
$ sudo ufw default deny forward
$ sudo ufw disable
$ sudo ufw enable
$ sudo ufw status verbose

Источник

VPN подключение в виртуальной машине

Ronin

Member

Пытаюсь подключиться к VPN через openvpn в гостевой системе. Подключение показывает, но передачи данных нет.

Гостевая система Kali Linux, хост Ubuntu 18.04. Виртмашина в VirtualBox. Интернет-соединение без vpn на виртуалке работает.
Пробовал настроить сеть через NAT и сетевой мост.

В чем может быть проблема?

Виртуальная машина для openvpn. Смотреть фото Виртуальная машина для openvpn. Смотреть картинку Виртуальная машина для openvpn. Картинка про Виртуальная машина для openvpn. Фото Виртуальная машина для openvpn

Виртуальная машина для openvpn. Смотреть фото Виртуальная машина для openvpn. Смотреть картинку Виртуальная машина для openvpn. Картинка про Виртуальная машина для openvpn. Фото Виртуальная машина для openvpn

Triton

Johnnnnnnnn

Виртуальная машина для openvpn. Смотреть фото Виртуальная машина для openvpn. Смотреть картинку Виртуальная машина для openvpn. Картинка про Виртуальная машина для openvpn. Фото Виртуальная машина для openvpn

Triton

Johnnnnnnnn

Ему бы грамотнее вопросы задавать, то и ответы были более конкретными.

Ronin

Member

Попробовал через настройки VPN добавить соединение. Импортировал из этого файла. Все сертификаты распознало.
Когда включаю это соединение, не грузит ни один сайт, включая hackthebox.eu (который при корректной настройке по идее должен работать, т.к. там есть вьюшка для проверки подключения (прикреплю скрином)).
Все описанное проявляется как под NAT, так и с мостом. Пытался заставить работать в основном под NAT, с ним и продолжим работать.

iptables настроены пропускать входящие и исходящие на 1337 порт по протоколу UDP, больше никаких правил нет.
Групповых политик тоже нет, работаю с домашней машины.

С чем может быть проблема, что гуглить/читать и какую еще информацию нужно?

Источник

Организация удаленной работы SMB организации на OpenVPN

Постановка задачи

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

Цель статьи — внедрить законченную систему предоставления удаленного доступа организации, что немного больше, чем «установка OpenVPN за 10 минут».

В результате мы получим систему, в которой для аутентификации пользователей будут использоваться сертификаты и (опционально) корпоративный каталог Active Directory. Т.о. мы получим систему с двумя факторами проверки — что имею (сертификат) и что знаю (пароль).

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

Цена внедрения решения — только небольшие аппаратные ресурсы и 1 час работы системного администратора.

Мы будем использовать виртуальную машину с OpenVPN и Easy-RSA 3-й версии на CetntOS 7, которой из расчета на 100 подключений выдано 4 vCPU, 4 GiB RAM.

В примере сеть нашей организации 172.16.0.0/16, в которой VPN сервер с адресом 172.16.19.123 расположен в сегменте 172.16.19.0/24, DNS серверы 172.16.16.16 и 172.16.17.17, а для VPN клиентов выделена подсеть 172.16.20.0/23.

Для подключения извне используется подключение по порту 1194/udp, а в DNS для нашего сервера создана A-запись gw.abc.ru.

Категорически не рекомендуется отключать SELinux! OpenVPN работает без отключения политик безопасности.

Содержание

Установка ОС и прикладного ПО

Используем дистрибутив CentOS 7.8.2003. Нам нужна установка ОС в минимальной конфигурации. Удобно делать это с использованием kickstart, клонированием ранее установленного образа ОС и другими средствами.

После установки, назначения адреса сетевому интерфейсу (по условиям задачи 172.16.19.123), выполняем обновление ОС:

Также необходимо убедиться, что на нашей машине выполняется синхронизация времени.
Для установки прикладного ПО нужны пакеты openvpn, openvpn-auth-ldap, easy-rsa и vim как основной редактор (понадобится репозиторий EPEL).

Для виртуальной машины полезно установить гостевого агента:

для хостов VMware ESXi, или для oVirt

Настройка криптографии

Переходим в каталог easy-rsa:

Создаем файл переменных:

Здесь описаны параметры для условной организации ООО «ABC», можно исправить их на настоящие или оставить из примера. Самое важное в параметрах — последняя строка, определяющая срок действия сертификата в днях. В примере использовано значение 10 лет (365*10+2 високосных года). Это значение необходимо будет откорректировать перед выпуском сертификатов пользователей.

Далее настраиваем автономный центр сертификации.

Настройка включает экспорт переменных, инициализацию ЦС, выпуск корневых ключа и сертификата ЦС, ключ Диффи-Хеллмана, ключ TLS, а также ключа и сертификата сервера. Ключ центра сертификации необходимо тщательно оберегать и хранить в секрете! Все параметры при запросах можно оставить по умолчанию.

На этом основная часть настройки криптографического механизма закончена.

Настройка OpenVPN

Переходим в каталог OpenVPN, создаем служебные каталоги и добавляем ссылку на easy-rsa:

Создаем основной файл конфигурации OpenVPN:

Некоторые замечания по параметрам:

**Если аутентификация в AD не нужна, закомментируйте их, следущий раздел — пропустите, а в шаблоне удалите строку auth-user-pass.

Аутентификация в AD

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

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

Создаем конфигурационный файл:

Запуск и диагностика

Теперь мы можем попробовать включить и запустить наш сервер:

Выпуск и отзыв сертификата

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

В профиль нужно добавить содержимое файлов корневого сертификата (ca.crt) и TLS ключ (ta.key).

Перед выпуском сертификатов пользователей не забудьте установить требуемый срок действия сертификатов в файле параметров. Не следует делать его слишком большим, рекомендую ограничиться максимум 180 днями.

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

И можно выпустить наш первый сертификат.

Отзыв

В случае компрометации сертификата (утеря, кража) необходимо отозвать этот сертификат:

Просмотр выданных и отозванных сертификатов

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

Настройка сети

Последние шаги — настройка сети передачи — маршрутизации и межсетевых экранов.

Разрешение подключений в локальном брандмауэре:

Далее, включаем маршрутизацию IP трафика:

В корпоративной среде наверняка существует деление на подсети и нам необходимо сообщить маршрутизатору (-ам), каким образом отправлять пакеты, адресованные нашим VPN клиентам. В командной строке выполняем команду на манер (зависит от используемого оборудования):

и сохраняем конфигурацию.

Помимо этого на интерфейсе пограничного маршрутизатора, где обслуживается внешний адрес gw.abc.ru, необходимо разрешить прохождение пакетов udp/1194.

В случае, если в организации действуют строгие правила безопасности, на нашем VPN сервере необходимо также настроить межсетевой экран. На мой взгляд, наибольшую гибкость дает настройка iptables цепочек FORWARD, хотя настраивать их менее удобно. Немного подробнее о их настройке. Для этого удобнее всего использовать «прямые правила» — direct rules, хранимые в файле /etc/firewalld/direct.xml. Действующую конфигурацию правил можно узнать так:

Перед изменением файла сделайте его резервную копию:

Примерное содержимое файла таково:

Пояснения

По существу это обычные правила iptables, иначе упакованные после появления firewalld.

Интерфейс назначения при настройках по умолчанию tun0, а внешний для туннеля может быть иным, напр., ens192, в зависимости от используемой платформы.

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

Применение настроек — обычная команда firewalld для перечитывания настроек:

Отброшенные пакеты можно просмотреть так:

Что дальше

На этом настройка закончена!

Осталось на стороне клиента установить клиентское ПО, импортировать профиль и подключиться. Для ОС типа Windows дистрибутив размещен на сайте разработчика.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *