OpenVPN provides a secure and encrypted VPN tunnel across public network. Unlike PPTP and L2TP VPN Services which can be blocked, OpenVPN can highly be customized and even can be run over so popular TCP Port 443. So, OpenVPN cannot easily be blocked. OpenVPN uses SSL/TLS Certificates. So, OpenVPN Tunnel is a trusted tunnel to send and receive data across public network.
OpenVPN Server can easily install on Ubuntu Server. Installing OpenVPN Server on Ubuntu Server, we can connect Windows, Linux, MacOS or MikroTik RouterOS as OpenVPN client and can transmit data securely over public network.
The goal of this article is to configure OpenVPN Server over TCP or UDP port 443 and then connect Windows, Linux, RouterOS, MacOS and Android OpenVPN client for transmitting data securely over public network.
Installing OpenVPN Server on Ubuntu Server 20.04
OpenVPN Server installation and configuration on Ubuntu Server is not so difficult but we have to have UpToDate Ubuntu Server Installed. If you have Ubuntu Server installed before, issue the following command to update your Ubuntu Server.
$ sudo apt update
$ sudo apt upgrade
We also should have proper network configuration in Ubuntu Server. To access OpenVPN Server globally, we have to have Public IP address but for demo purpose I am using Private IP address. But it will not affect our configuration. Just replace your Public IP address with my Private IP address. There will be no issue logically.
To show configured IP address, issue the following command and remember or write-down the IP address.
$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
The above command is showing that my IP address is 172.22.2.100. So, you find out your IP address and write-down it for upcoming configuration.
For OpenVPN configuration we will use a GitHub script which will help to install and configure OpenVPN Server within five minutes. So, issue the following command to download GitHub script in your Server Machine.
Note: if find that wget utility is not installed in your system, install it first and then run the above command.
The script file is now in your working directory but before run the script we need to provide execute permission. So, issue the following command to provide execute permission.
$ sudo chmod +x openvpn-install.sh
The script is now executable and ready to run. So, issue the following command to run the script.
$ sudo bash openvpn-install.sh
The above command will ask the following configuration information. Put that information according to your need.
Protocol: Protocol that will be used by OpenVPN Server. It will be either UDP or TCP. Default and recommended is UDP but we will use TCP because we will configure OpenVPN over TCP/443.
Port: OpenVPN listening port. Default is 1194 but we will use 443.
DNS Servers: DNS Servers for the clients. Default is current system resolvers but I am using Google’s DNS Server which is safe.
First Client: First client name. A client configuration file for this client will be generated. We will download that generated file and upload for client configuration. As our first client will be a Windows machine, I am naming it as windows but you can name it whatever you like.
OpenVPN script is now ready to install and ask to press any key to continue. So, press any key to continue OpenVPN Server installation on Ubuntu Server.
Within minute the OpenVPN Server will be installed and a client configuration file for the given name will be generated in /root/ directory.
OpenVPN Server Administration
The default OpenVPN Server instance is Server and its configuration file is /etc/openvpn/server/server.conf . There is no need to change the default configuration but if require we can change the configuration from this file.
If you change configuration file or need to restart the OpenVPN Server, issue the following command.
If you use host base firewall like Firewalld or UFW in your Ubuntu Server, you have to open TCP port 443 because we have configured OpenVPN Server on TCP/443 port. Otherwise, OpenVPN client cannot communicate with OpenVPN Server.
Downloading OpenVPN Client Configuration File from Ubuntu Server
OpenVPN configuration script generates first client configuration file while installing OpenVPN Server in /root directory. So, we have to download this file from this location before configuring OpenVPN client because this file has to be uploaded in OpenVPN client software.
As /root directory cannot be accessed without super user, first switch to super user and copy file to current user’s desktop and then download the client configuration file with FTP or WinSCP or OpenSSH client software.
Adding New OpenVPN Client
If we need to create more clients, we can do it just running the script again like the following command.
$ sudo bash openvpn-install.sh
The above command will now open the following menu item.
OpenVPN is already installed.
Select an option:
1) Add a new client
2) Revoke an existing client
3) Remove OpenVPN
4) Exit
Option:
All the options are self-explanatory. So, to add a new client, select the first option. It will now ask to provide the client name.
Provide a name for the client:
Name: android
Provide the client name that you wish and the script will generate another client file in /root directory. Similarly we can create as many clients as we required.
OpenVPN Server on Ubuntu Server is now ready and we can connect Windows, Linux, MacOS, RouterOS and Android client and can communicate securely across public network.
In the next tutorial, we will configure OpenVPN client in the following Operating System.
How to install and configure OpenVPN Server on Ubuntu Server has been discussed in this article. I hope you will now be able to install and configure OpenVPN Server in Ubuntu Server without any difficulty. However, if you face any confusion, feel free to discuss in comment or contact me from Contact page. I will try my best to stay with you.
Несмотря на большое количество программ, Kali Linux не очень прожорлив. Вот минимальные требования к аппаратному обеспечению для установки системы:
Место на диске: 10 Гб;
Оперативная память: 512 Мб;
Кроме того, вам понадобится USB-флешка или CD-диск для записи образа и подключение к интернету. Читайте так же: “Лучшие дистрибутивы Linux”
Подготовка к установке Kali Linux
Несмотря на то что система распространяется в виде полноценной среды LiveCD, в которой вы можете использовать все необходимые вам инструменты, вы можете установить Kali Linux на жёсткий диск. Это можно сделать аж тремя способами: в псевдографическом интерфейсе, в графике или даже с помощью голосового управления.
Но перед тем как перейти к процессу установки, давайте рассмотрим, как скачать установочный образ и подготовить всё к инсталляции.
Шаг 1. Загрузка образа
Вы можете скачать нужный вам образ на официальном сайте. Тут доступны не только нужные архитектуры и полные/облегчённые версии, но и готовые образы для виртуальных машин VirtualBox и VMWare. Но нас будет интересовать обычный установочный образ:
Скачайте его прямо с сайта или через торрент.
Шаг 2. Запись образа на носитель
Для записи установщика на флешку в Linux можно использовать уже привычную нам утилиту Unetbootin:
Или с помощью уже привычной нам dd:
dd if=~/образ.iso of=/dev/sdb1 bs=5M
Здесь /dev/sdb1 – это ваша флешка. Если же нужно записать на диск, то можно использовать Brasero или k3b. В Windows для записи на флешку можно использовать Rufus:
Шаг 3. Настройка BIOS
Дальше нам нужно запустить компьютер с нашего носителя, для этого сначала перезагрузите компьютер и во время заставки BIOS нажмите F2, Del, F8 или Shift+F2 для входа в настройки. В открывшемся меню перейдите на вкладку Boot и в разделе Boot Device Priority или 1st Boot Device выберите ваш носитель:
Тут нужно выбрать либо флешку, либо привод оптических дисков. Дальше установка Kali Linux с флешки ничем не отличается от установки с диска, только будет немного быстрее. Когда завершите, перейдите на вкладку Exit и нажмите Exit & Save Changes.
Установка Kali Linux
В этой инструкции мы будем рассматривать псеводграфический установщик, хотя в графическом все шаги будут очень похожи. Вообще, процесс очень напоминает установку Debian.
Шаг 1. Запуск установщика Kali Linux
Сразу же после перезагрузки появится вот такое меню, здесь нам не нужен запуск LiveCD – пролистайте вниз и выберите Install:
Несколько замечаний по управлению установщиком. Для перемещения по пунктах используйте клавиши со стрелками, для выбора Enter, для переключения кнопок – Tab, а чтобы отметить галочку – пробел.
Шаг 2. Выберите язык Kali Linux
Укажите язык, на котором будет работать установщик и сама система:
При выборе русского система скажет, что установщик переведён не полностью, выберите всё равно его:
Шаг 3. Выберите страну Kali Linux
Выберите вашу страну для правильной настройки часового пояса:
Шаг 4. Раскладка клавиатуры Kali Linux
Выберите раскладку клавиатуры, советую брать английскую, чтобы потом без проблем ввести имя пользователя:
Шаг 5. Настройка установщика Kali Linux
Подождите, пока установщик загрузит нужные пакеты и подключится к интернету:
Шаг 6. Имя компьютера
Выберите имя компьютера:
Шаг 7. Имя домена
Укажите имя домена, если это нужно. Если нужна установка Kali Linux 2 на домашний компьютер, то можно просто поставить local:
Шаг 8. Пароль суперпользователя
Введите пароль пользователя root:
Затем введите его ещё раз:
Шаг 9. Разметка диска Kali Linux
Вы можете использовать весь диск, просто применив автоматическую разметку, но мы рассмотрим ручной вариант, поэтому в этом меню выберите вручную:
Затем выберите ваш жёсткий диск, например sda:
Шаг 10. Таблица разделов
Если вы устанавливаете Kali Linux на чистый диск, то нужно создать новую таблицу разделов, поэтому выберите пункт Да с помощью Tab:
Шаг 11. Корневой раздел Kali Linux
Выберите свободное место и нажмите Enter:
Затем создать новый раздел:
Введите размер раздела, для корня минимальный размер – 10 Гб, но если вы хотите ещё и устанавливать много программ, то желательно выделить больше:
Тип раздела – первичный, расположение – в начале:
В последнем окне мастера ничего ни настраивать, ни менять не нужно. Но тут вы можете выбрать файловую систему, количество места, зарезервированного под root, и метку раздела. Нажмите Настройка раздела закончена:
Шаг 12. Раздел подкачки
Точно так же создайте раздел подкачки:
Размер должен равняться размеру вашей оперативной памяти:
На последнем шаге мастера выберите Использовать как – раздел подкачки, затем снова настройка закончена:
Шаг 13. Домашний раздел
По такому же алгоритму создаётся домашний раздел:
Размер – всё доступное пространство:
В конце выберите Закончитьразметку изаписать изменения на диск.
Шаг 14. Завершение разметки
Проверьте, всё ли правильно, и нажмите Да:
Шаг 15. Установка
Подождите, пока система скопирует часть файлов:
Шаг 16. Настройка менеджера пакетов
Программе установки нужно скачать некоторые пакеты из Сети для более правильной работы, поэтому на вопрос “Использовать зеркало из сети” ответьте Да:
Подождите, пока загрузятся списки пакетов:
Шаг 17. Установка загрузчика
Нажмите Да, чтобы установить загрузчик Grub на жёсткий диск, вы можете не устанавливать загрузчик, но тогда у вас должна быть установлена другая система, загрузчик которой вы можете использовать:
Выберите диск для установки загрузчика:
Шаг 18. Завершение установки
Дождитесь завершения установки:
Шаг 19. Перезагрузка
Перезагрузите компьютер:
Шаг 20. Загрузчик Grub
Выберите первый пункт в меню загрузчика и дождитесь завершения установки
Шаг 21 Вход в систему
Введите логин root и пароль, который указали во время установки:
Шаг 22. Готово
Вот и всё, установка Kali Linux на жёсткий диск вашего компьютера полностью завершена, и теперь вы готовы выполнять тестирование безопасности различных систем.
Настройка Kali Linux после установки
Настройка NetworkManager Kali Linux
По умолчанию NetworkManager отключен, поскольку он мешает работать некоторым утилитам тестирования безопасности.
Но если вы все же хотите использовать NetworkManager, его не так сложно включить для этого откройте файл /etc/NetworkManager/NetworkManager.conf и замените строчку managed=false на managed=true:
Теперь перезапустите NetworkManager и вы сможете управлять своим сетевыми интерфейсами, в том числе и беспроводными.
service network-manager restart
Настройка репозиториев Kali Linux
Чтобы иметь возможность устанавливать все нужные программы нам необходимо добавить в систему репозитории. По умолчанию подключены далеко не все доступные варианты. Поэтому откройте файл /etc/apt/sources.list и приведите его к такому виду:
gedit /etc/apt/sources.list
Regular repositories
deb http://http.kali.org/kali sana main non-free contrib
deb http://security.kali.org/kali-security sana/updates main contrib non-free
# Source repositories
deb-src http://http.kali.org/kali sana main non-free contrib
deb-src http://security.kali.org/kali-security sana/updates main contrib non-free
Обновление системы Kali Linux
Важно держать любую операционную систему в самом свежем состоянии, настройка Kali Linux 2.0 после установки тоже должна включать обновление. Для обновления выполните:
Чтобы поддержка звука автоматически включалась при загрузке системы сначала необходимо установить пакет:
sudo apt-get install alsa-utils -y
Нажмите правой кнопкой по иконке со значком динамика и выберите “Настройки звука”. Переключите выключатель Output Volume в положение ON.
Установка Java Kali Linux
Java машина нужна для выполнения многих программ поэтому нужно ее установить. Сначала перейдите на официальный сайт и загрузите установщик. Затем распакуйте архив и переместите полученную папку в /opt/:
tar -xzvf /root/jdk-8u121-linux-x64.tar.gz
# mv jdk1.8.0_121 /opt
# cd /opt/jdk1.8.0_121
Дальше выполните такие команды, чтобы обновить альтернативы системы и использовать именно эту версию:
В инструкции использовалась установка версии 8u121, но к моменту прочтения статьи может выйти более новая версия.
Установка Flash Kali Linux
Контент Flash теряет свою популярность, но все еще очень часто используется. Поэтому можно установить эту программу в системе:
apt-get install flashplugin-nonfree
Затем установите программу:
update-flashplugin-nonfree –install
После установки вам нужно будет перезапустить браузеры.
Установка архиваторов Kali Linux
В системах Linux по умолчанию используется формат tar. Но часто приходится работать и с другими форматами, такими как zip или rar. Для установки всех необходимых утилит выполните такую команду:
По умолчанию в Kali Linux используется пользователь root. Но не всегда безопасно использовать root. Поэтому нужно создать обычного пользователя. Используйте команду useradd с опцией -m:
useradd -m user1
Затем нужно установить пароль:
passwd user1
И добавьте пользователя в группу sudo:
usermod -a -G sudo user1
Использование apt-add-repository Kali Linux
В Debian можно подключать PPA репозитории с помощью add-apt-repository. Но в Kali Linux утилита не поставляется по умолчанию. Но вы можете установить ее, для этого выполните такие команды:
apt-get install python-software-properties
Установите и обновите apt-file:
apt-get install apt-file
# apt-file update
Теперь нужно найти файл скрипта apt-add-repository и немного его модифицировать:
apt-file search add-apt-repository
Дальше отредактируйте файл, так чтобы использовать репозитории последней версии Ubuntu:
!/bin/bash
if [ $# -eq 1 ]
NM=`uname -a && date`
NAME=`echo $NM | md5sum | cut -f1 -d” “`
then
ppa_name=`echo “$1″ | cut -d”:” -f2 -s`
if [ -z “$ppa_name” ]
then
echo “PPA name not found”
echo “Utility to add PPA repositories in your debian machine”
echo “$0 ppa:user/ppa-name”
else
echo “$ppa_name”
echo “deb http://ppa.launchpad.net/$ppa_name/ubuntu xenial main ” >> /etc/apt/sources.list
Kali Linux – это система для тестирования безопасности. Возможно, вам понадобиться Tor, для выполнения различных действий анонимно. Эта программа позволяет перенаправлять весь ваш трафик через ряд узлов с шифрованием.
apt-get install tor
# service tor start
Теперь вы можете перенаправить трафик нужной программы на узлы tor, например, iceweasel:
proxychains iceweasel
Установка FileZilla Kali Linux
Иногда приходится использовать FTP, для установки клиента выполните:
apt-get install filezilla filezilla-common -y
Инструменты мониторинга Kali Linux
Утилита htop позволяет посмотреть использование памяти и процессора, а также информацию о каждом из процессов. Утилита NetHogs позволяет следить за исходящим и входящим трафиком. Для установки утилит выполните:
apt-get install htop nethogs -y
Установка драйверов Kali Linux
Если вы собрались играть в игры, или делать еще что-то, где используется видеокарта, вам необходимо установить драйвера видеокарты. Если у вас видеокарта от NVIDIA, выполните такие команды:
apt-get update
# apt-get dist-upgrade
# apt-get install -y linux-хедерs-$(uname -r)
# apt-get install nvidia-kernel-dkms
Установка RecordMyDesktop
Иногда нужно записывать свои действия на видео. Для этого можно использовать программу RecordMyDesktop:
Утилита dpkg – это отличный инструмент для установки программ из deb пакетов. На эта программа не может разрешать зависимости во время установки пакетов. Вместо нее вы можете использовать gdebi:
apt-get install gdebi -y
Разрешите автовход
По умолчанию система запрашивает пароль для входа. Но вы можете включить автоматический вход добавив строчку AutomaticLoginEnable = true в файл:
vi /etc/gdm3/daemon.conf
AutomaticLoginEnable = true
AutomaticLogin = root
Теперь вам не нужно вводить пароль для входа.
Установка Skype
Перейдите на официальный сайт и загрузите версию Skype для Debain. Затем используйте dpkg для установки:
dpkg -i skype.deb
Электропитание
Чтобы Kali Linux не гасил экран или не переходил в режим ожидания, надо настроить электропитание.
Настройка Wi-Fi
В подавляющем большинстве случаев, настройка интернета сводится к тривиальному подключению к беспроводной точке доступа после установки Kali.
Для этого нужно кликнуть по нужной сети и ввести пароль.
Подключенная сеть будет отмечена галочкой.
Настройка сети LAN Kali Linux
Проводное подключение определяется автоматически, если есть DHCP сервер (например, роутер раздает адреса). В противном случае может потребоваться вручную указать параметры после установки системы Linux. Для этого в разделе «Сеть» нужно нажать на шестеренку у проводного соединения.
Откроется окно со сводной информацией. На вкладке «Подробности» можно настроить автоматизацию, доступ для других пользователей и передачу данных в фоне (хотя для Kali Linux лучше использовать безлимит).
Вкладка «Идентификация» позволяет скорректировать название подключения, выбрать MAC-адрес, настроить MTU.
Самая важная вкладка здесь – IPv4. По умолчанию, после установки Linux, активируется автоматический режим.
Если переключиться на ручной ввод, станут доступны параметры компьютера с Kali Linux (адрес, маска подсети, шлюз), DNS-сервера и маршрутизации. Вводить нужно значения, соответствующие используемому подключению.
После установки правильных значений нужно нажать «Применить».
Протокол IPv6 также доступен для настройки.
Настройка VPN
Для настройки частной сети, нужно в разделе Сеть нажать на плюсик в соответствующем подразделе. Откроется окошко добавления настроек.
Система Kali предлагает импортировать их из файла. Сделать его можно при помощи OpenVPN или иного софта.
Proxy-сервер
Прямое подключение Kali Linux может быть рискованным, так что лучше настроить проксирующий сервер. Для этого в разделе «Сеть» нужно нажать на шестеренку в пункте «Сетевой прокси». Откроется стандартное окно настроек, где следует указать промежуточный адрес для различных протоколов.
Обратите внимание: Если указать некорректные настройки для HTTP, то браузер по умолчанию попытается их использовать и просмотр веб-страниц будет недоступен.
Настройка обновлений
При корректном указании репозитория Kali Linux, можно использовать графическую оболочку для проверки обновлений. Для этого нужно перейти в раздел «Подробности».
Далее следует нажать кнопку проверки, после чего система Linux установит необходимые апдейты или сообщит об отсутствии более свежих версий.
18. Окружение рабочего стола
Вам необязательно использовать окружение рабочего стола Gnome, которое поставляется по умолчанию. Вы можете установить XFCE, KDE, Cinnamon, LXDE и другие. Первая команда для установки, вторая – для удаления.
После того, как вы войдете в систему с правами root, первое, что вы заметите, это то, что время может быть неправильно установлено, и это вызовет проблемы при доступе к веб-сайтам. Вы можете легко изменить его, используя графический интерфейс:
Щелкните правой кнопкой мыши на часах сверху
Выберите Свойства
Установите местное время. Вы также можете найти множество атрибутов для изменения по умолчанию
Включить звук загрузки
Одной из проблем, с которыми сталкиваются пользователи Kali, является отсутствие звука при установке. Чтобы включить его, введите команду в терминале
# apt-get install alsa-utils-y
Update и Upgrade
Рекомендуется Update и Upgrade все устаревшие репозитории, чтобы повысить производительность
# apt-get update && apt upgrade
Apt-update обновит доступные пакеты и версии
Apt upgrade установит новую версию имеющихся у вас пакетов
Установить новый пароль для root
При установке ОС вы указали пароль, но что если вы захотите изменить пароль через некоторое время? Вот команда для легкого изменения пароля root:
# passwd
Таким образом, вы можете легко изменить свой пароль, набрав только одну команду.
Добавить учетную запись с низким уровнем привилегий
Вы получили приглашение к учетной записи root, но при запуске от имени учетной записи root существует вероятность того, что небольшая ошибка в приложении может стереть некоторые системные файлы, поэтому в любой операционной системе рекомендуется запускать как пользователь без полномочий root с низким уровнем доступа. Чтобы создать нового пользователя с низкими привилегиями:
# adduser [USERNAME]
Добавьте этого пользователя в группу Sudoers для запуска корневых команд:
# usermode –aG sudo ehacking
После этого напишите команду для настройки нового пользователя для BASH:
$ chsh –s /bin/bash ehacking
Установка оболочки входа пользователя ehacking в /bin/bash
Установить Git
Git – обязательный инструмент для этических хакеров, стремящихся увеличить свой набор инструментов по сравнению с тем, что уже установлено в стандартных репозиториях Kali. Чтобы установить Git, просто наберите:
# apt-get install git
Установите ваши любимые инструменты взлома
В Kali Linux уже есть много инструментов для взлома и тестирования, например (Wireshark , Aircrack-ng , BeEF , Burp Suite , Hydra , Nikto , Maltego , Nmap), но что если вы захотите установить свой любимый инструмент, который вам нужен? Я собираюсь использовать для конкретной задачи, например, мне нужно атаковать сеть Wi-Fi с помощью Airgeddon, потому что он автоматизирует с помощью различных инструментов, поэтому вам не нужно вводить команды. Я могу установить Airgeddon в Kali Linux, набрав команду на терминале:
Дайте разрешения, чтобы сделать его исполняемым, набрав:
# chmod + x airgeddon.sh
Запустите файл:
#./airgeddon.sh
Установите браузер TOR
Onion Router (TOR) – это бесплатное программное обеспечение с открытым исходным кодом для анонимного общения. Он предназначен для того, чтобы люди не могли отслеживать ваши привычки, в том числе правительственные учреждения и корпорации. Вы можете установить браузер TOR, добавив репозиторий TOR в свой репозиторий APT:
Tilix – это эмулятор терминала с открытым исходным кодом, который использует виджет VTE GTK + 3, обладающий некоторыми удивительными функциями, такими как макеты терминалов любым способом, разделяя их по горизонтали или вертикали, и ввод можно синхронизировать между терминалами, чтобы команды, набранные в одном терминале, реплицировались в другие
Введите tilix
Установить редактор кода
Atom editor – очень хороший текстовый редактор в Kali Linux. Чтобы установить Atom введите:
1. Качаем Kali Linux в версии Kali 32 bit Light с официального сайта , в таблице «вручную» находим Kali 32 bit Light и жмем ISO рядом.
2. Если файл вы сначала скачали на комп, то теперь подключаем к этому компу наш Android-девайс через USB-кабель и копируем на него («весит» архив 1.1GB).
3. в Play Маркете находим и скачиваем приложение Limbo PC Emulator
4. после завершения установки эмулятора, открываем его и создаем новую учетную запись (имя — любое).
5. в строке Architecture указываем x86, в строке CPU Model — 4 cores (4 ядра), и в строке RAM — не менее 256 MB (если у вашего смартфона или планшета оперативки больше, чем 1GB, то можно указать и больше, тогда система работать будет шустрее).
6. создаем Hard Disk («жеский диск»), указав емкость не менее 4GB
7. Во вкладке CDROM открываем меню и находим через него iso-файл Kali Linux.
8. В разделе Network указываем User.
9. После этого возвращаемся наверх и запускаем процедуру загрузки Kali Linux (кнопка Start).
10. Можно установить систему, а можно просто запустить образ. Но в любом случае загрузка моментально не происходит и займет некоторое время, потому надо будет немножко подождать.
Источник инструкции: форум codeby.net
Подготовка к установке Kali Linux
Для начала необходимо скачать образ системы Kali Linux. Сделать это можно на официальном сайте дистрибутива – kali.org. Выбираете нужный вам дистрибутив с соответствующей архитектурой и скачиваете. После того, как вы скачаете образ, необходимо проверить его на целостность посредством сравнение контрольных сумм SHA256.
После этого скачиваем программу VirtualBox с официального сайта (virtualbox.org). На этом подготовка заканчивается, время переходить к установке.
Настройка виртуальной машины
Шаг 1. Создание виртуальной машины
Откройте VirtualBox и нажмите на кнопку «Создать» в контекстном меню.
Шаг 2. Настройка основных параметров машины
Откроется диалоговое окно, где необходимо выполнит три пункта: выбрать имя для образа виртуальной машины, выбрать тип операционной системы, выбрать ее версию.
Примечание: для того, чтобы успешно установить Kali Linux на VirtualBox необходимо выбрать совместимую с дистрибутивом версию «2.6/3.х/4.х», архитектура которой соответствует вашим характеристикам.
Шаг 3. Объем оперативной памяти
Теперь необходимо указать оптимальны объем оперативной памяти, которую будет использовать виртуальная машина в активном режиме.
Примечание: если указать объем, превышающий в два раза количество установленной ОЗУ, может повлиять на производительность.
Шаг 4. Создание виртуального диска
Создаем виртуальный диск, либо же выбираем из уже имеющихся. При создании виртуального диска указываем его тип. Вкратце о каждом из них:
VDI – собственный формат диска VirtualBox используется при создании новой виртуальной машины;
VHD – формат диска, разработанный Microsoft;
VMDK – универсальный формат, который также использует VMware.
Если вы не знаете какой выбрать, то выбирайте VDI.
Шаг 5. Выбор формата хранения
Указываем формат хранения. Динамический или фиксированный – решать вам, отталкиваясь от целей. Подробное описание каждого формата приведено в диалоговом окне.
Шаг 6. Выбор объема диска
Указывать объем диска, который будет использовать Linux-система, необходимо в зависимости от ваших задач. Оптимальное количество это 100Гб.
Вы создали виртуальную машину. Теперь необходимо поставить на нее систему. Выбираем нужную нам виртуальную машину из списка и запускаем ее.
Установка Kali Linux на VirtualBox
Шаг 1. Выбор загрузочного образа
В открывшемся окне предлагается выбор загрузочного диска. Выбираем скачанный ранее образ системы.
После выбора образа жмем «Продолжить».
Шаг 2. Выбор типа установки системы
Видим, что происходит загрузка системы, после чего открывается меню установки Kali Linux. Здесь необходимо выбрать «Graphics Install». Примечание: при выборе «LiveCD» все данные, сохраненные на системе, удалятся после ее выключения.
Шаг 3. Выбор языка установки
Теперь необходимо выбрать язык, который будет сопровождать на вас на протяжении всей установки.
Шаг 4. Базовая информация о системе
Теперь выбираем местоположение, язык клавиатуры, комбинацию клавиш для переключения языка.
Шаг 5. Название компьютера
Вводим имя компьютера.
Шаг 6. Настройка домена сети
Отталкиваясь от необходимости либо настраиваем домен-сети, либо пропускаем данный шаг.
Шаг 7. Пароль учетной записи
Настраиваем пароль учетной записи. Примечание: следует запомнить, что при вводе пароля в @root консоли, символы отображаться не будут.
Выбираем время, после чего происходит загрузка.
Шаг 8. Разметка дисков
Теперь предстоит выполнить разметку дисков. Так как установка Kali Linux происходит на VirtualBox, то мы используем весь диск.
Разметка диска определяет местонахождение файлов в системе. Так как Linux отличается своей файловой системой от других систем, то на выбор предложено три вариант, содержащие /home /var и /tmp. Теперь подробнее о них:
/home – здесь находятся все домашние каталоги пользователей;
/var – здесь система хранит log, cech-файлы, почту и иногда web;
/tmp – раздел под временные файлы.
Данная функция создана для опытных пользователей, если у вас нет необходимости сортировать файлы, то помещайте все на один раздел.
Далее отображается контекстное меню со списком поделенных томов. В данный момент у нас есть основной раздел и ext4 – журналируемая файловая система.
Подтверждаем все изменения и нажимаем «Продолжить».
Шаг 9. Выбор зеркал
Теперь предстоит выбрать зеркало для установки дополнительного ПО. Данная функция доступна только в том случае, если при установке у вас есть активное Интернет-соединение. Если оно отсутствует, то вы всегда можете установить дополнительной ПО в самой системе.
Шаг 10. Установка GRUB
Далее идет установка системного загрузчика GRUB. Оставляем “Да” и продолжаем установку.
Шаг 11. Завершение установки
После того, как вы установите GRUB, система попросит изъять установочные носители и перезагрузить ее. Изымать ничего не надо, нажимаем «Продолжить».
Вы завершили установку системы. Она готова к использованию, теперь осталось вписать имя пользователя и пароль, которые вы ввели при установке.
Установка Virtual Box Guest Additions
Шаг 1. Добавление образа на CD носитель
Выбираем из списка нужную виртуальную машину и нажимаем «Настроить». В окне настроек выбираем пункт «Носители» и добавляем в IDE контроллер образ, находящийся в корневой папке программы (C:/ProgramFiles/Oracle/VBoxLinuxAdditions.iso):
Шаг 2. Установка дополнений в Kali Linux
Запускаем виртуальную машину и открываем терминал. Перед установкой необходимо» зайти в терминал из-под рута, для этого прописываем в нем команду:
sudo -i
Далее необходимо загрузить установочный образ с помощью команд, указанных на скриншоте:
Узнав о существующих на сегодня механизмах защиты беспроводных сетей в первой части самое время использовать эти знания на практике и попытаться что-нибудь взломать (естественно, принадлежащее нам самим). Если получится — наша защита никуда не годится.
Все манипуляции будем проводить с использованием Kali Linux — kali.org. Это сборка на основе Debian, которая до этого была известна под именем Backtrack . Если вы впервые знакомитесь с этой системой, то советую начать сразу с Kali, так как там есть всё то, что было в Backtrack, но в более свежем виде.
(Читатели подсказывают, что есть и другие подобные сборки — например, wifiway.org. Однако я с ними не работал.)
Под Windows тоже можно делать многое из описанного, но основная проблема в отсутствии/плохой поддержке режима монитора беспроводных адаптеров, из-за чего ловить пакеты проблематично. Кому интересно — обратите внимание на CommView и утилиты Elcomsoft. Все они требуют специальных драйверов.
Kali очень удобно использовать с флешки — у неё по наследству от Debian Wheezy (у меня одного закладывает нос от такого названия?) есть persistence mode, который позволяет загружаться в трёх режимах: работы без сохранения данных (read only), работы с их сохранением на отдельный раздел на флешке, так называемом persistence, или работы без сохранения в live/vanilla mode (то есть read only и без использования данных в persistence — изначальная чистая версия дистрибутива).
Но, естественно, кто хочет установить её на жёсткий диск может легко сделать это и из загрузчика, и из уже запущенной оболочки. ОС (LVM) поддерживает шифрованные разделы. Кроме этого, можно сделать собственную сборку Kali — добавить пакеты, настроить загрузчик и прочее. Всё это подробно описано в документации и проблем не вызывает, хотя сборка требует пары часов времени.
Итак, допустим вы скачали ISO и записали его на флешку (для *nix — dd, для Windows — Win32DiskImager). Что дальше?
Use the tools, Luke
Собрание окончено, расходимся, расходимся.
Ну, вот и добрались до терминала. Посмотрим, кто вокруг нас светит ультраволнами.
Скрытые сети… такие скрытые
Часто в быту можно услышать, что скрытые сети очень сложно обнаружить/подключиться/взломать/унести (нужное подчеркнуть). Однако как уже было показано, «скрытая» сеть — не что иное, как сеть, не передающая маячки о своём существовании 10 раз в секунду, либо передающие их, но с пустым ESSID и другими полями. На этом разница заканчивается.
Как только к такой сети подключается клиент, он передаёт её ESSID и пароль, и если такая сеть существует в радиусе действия — точка доступа отвечает на запрос и проводит все обычные процедуры по авторизации и передаче данных. А если клиент уже был подключен ранее — его можно увидеть в списке активных адаптеров… и отключить.
Каждый подключенный клиент общается с базовой станцией по её BSSID — и это именно то, что мы видим в обеих таблицах airodump-ng. Мы можем «отключить» клиента от сети, после чего он должен будет подключиться вновь — и в этот момент airodump-ng перехватит рукопожатие со всеми идентификаторами и ключами. Либо мы можем просто оставить ноутбук включенным на пару часов с airodump-ng на нужном канале и подождать. Кстати, при успешном «вскрытии» в правом верхнем углу появится сообщение вида [ Decloak: 00:00:11:11:22:22 ] с BSSID точки доступа, конспирацию которой мы раскрыли.
Отключение клиентов предусмотрено во всех беспроводных стандартах и делается с помощью aireplay-ng (все три уже знакомые нам утилиты — часть проекта Aircrack-ng, который содержит в своём наборе всевозможные инструменты для работы с тонкими материями):
aireplay-ng wlan0 –deauth 5 -a AP_BSSID -c CLIENT_BSSID
Внимание: эта команда — исключение и принимает идентификатор реального беспроводного адаптера, а не mon0, созданного с помощью airmon-ng.
Если при запуске появилась ошибка о незафиксированном канале и/или airodump-ng показывает в правом верхнем углу [ fixed channel -1 ] — значит, какая-то программа или сервис заставляет адаптер перескакивать с канала на канал (это может быть тот же airodump-ng) и их нужно закрыть с помощью airmon-ng check kill, как было описано в начале.
Команда выше имитирует ситуацию, когда точка доступа сообщает клиенту, что старый ключ недействительный (и что его следует обновить, повторив handshake, то есть передав пароль и имя сети заново). На адрес клиента отправляются сообщения якобы от точки доступа о том, что следует отключиться от сети и обновить данные сессии. Так как этот тип пакетов не защищён шифрованием (то есть команда может быть выполнена ещё до аутентификации), то противодействовать ему невозможно по той простой причине, что невозможно установить «личность» того, кто это рассылает — MAC-адреса в пакетах поддельные и установлены в те значения, которые мы передали после -a и -c. Можно только отслеживать слишком частые отключения и принимать какие-то меры.
После –deauth идёт число пакетов деавторизации, которые будут посланы в оба конца. Обычно хватает 3-5, можно указывать и 30 и больше. Для краткости –deauth можно заменить на -0 (ноль).
Итак, допустим во второй таблице airodump-ng мы видим следующую строчку:
BSSID STATION PWR Rate Lost Frames Probe 4F:B1:A4:05:5C:21 5B:23:15:00:C8:57 -54 0 – 1 0 1266 homenet, XCom
Первый столбец — значение для -a (MAC базовой станции), второй — для -c (MAC клиента). Перезапустим airodump-ng и зафиксируем его на канале 5 (это канал нашей атакуемой станции), после чего выполним отключение клиента в соседнем окне терминала:
Если сигнал достаточно сильный, число пакетов велико и клиент/точка доступа нас услышали — они отключатся друг от друга, затем передадут информацию о сети вновь при подключении и airodump-ng покажет их и строчку [ Decloak ].
Как видим, данный трюк со скрытием маячков можно использовать для домашних сетей, к которой кто-то подключается пару раз в день, да и то не всегда — но для корпоративных сетей он точно не подходит, так как раскрывается буквально одной командой и защиты от неё нет. На мой взгляд даже для частных сетей это скорее неудобство, чем польза — вводить-то имя надо вручную, да и не понятно, активна ли вообще базовая станция или нет.
Также, -c (клиентский MAC) можно не указывать — тогда от имени точки доступа будут разосланы широковещательные (broadcast) пакеты об отключении всех клиентов. Однако сегодня это редко работает — драйвера игнорируют такие пакеты, так как правомерно считают, что дело нечисто — точка доступа всегда знает, кто к ней подключен, и рассылает направленные пакеты для конкретного клиента.
Фильтрация по MAC — ведь это так просто
Очень часто я слышу рекомендации, что первым делом после создания сети нужно ограничить список её клиентов определённым набором MAC-адресов, и тогда-де пароль вообще ни к чему. Однако это ограничение обходится так же легко, как и обнаруживаются скрытые сети.
В самом деле, каждый клиент — подключенный к сети или нет — раскрывает свой MAC-адрес при передаче любого пакета. В таблице airodump-ng эти адреса видны в столбце STATION. Соответственно, как только мы увидели сеть, куда нам почему-то не попасть (Linux обычно рапортует об Unspecified failure на этапе подключения, а Windows долго думает, после чего сообщает о неизвестной ошибке), и тут же в списке видим связанного с этой сетью клиента — мы можем взять его MAC-адрес и поменять свой на него. Последствия могут быть разными и может даже стукнуть. Если сделаем это при активном клиенте — в сети появится клон и клиента может «заглючить», так как он будет получать ответы на пакеты, которые он не отправлял. В итоге может отключиться, а может продолжать работать, предупредив о проблеме пользователя — или нет. Но вариант лучше — записать его MAC и подключится, когда он уйдёт.
В Linux изменить MAC своего адаптера можно следующим образом (работает как для проводных сетей, так и для беспроводных):
ifconfig wlan0 down ifconfig wlan0 hw ether 00:11:22:AA:AA:AA ifconfig wlan0 up
Предварительно нужно отключить любые mon-интерфейсы. Проверить, заработала ли подмена, можно вызвав ifconfig wlan0 — в строке Hwaddr должен быть указанный выше MAC.
Кроме того, в *nix есть macchanger — с его помощью можно выставить себе случайный MAC. Если поставить его в init.d, то неприятель будет совершенно сбит с толку, так как при каждой загрузке наш MAC будет другим (работает для любых проводных и беспроводных адаптеров, как и ifconfig).
В Windows нужно провести кое-какие манипуляции с реестром, но по этой теме лучше проконсультироваться с Google. (Читатели в лице alexeywolf подсказывают инструмент TMAC, который делает это в автоматическом режиме.)
WhooPS
Мы сделали всё правильно и наша точка доступа использует непробиваемые WPA2-PSK-CCMP с 63-значным паролем из /dev/urandom. Достаточно ли этого? Нет, если у нас — роутер с WPS, особенно если он старый.
Диаграмма выше описывает процесс подключения клиента к точке доступа с помощью PIN-кода. PIN — 8 цифр, которые обычно наклеены на самом роутере. Клиенты, поддерживающие WPS, могут подключиться к сети либо по обычному паролю WEP/WPA, либо с помощью PIN, причём введя последний клиент получает пароль сети в чистом виде.
По стандарту, последняя цифра в PIN — это контрольная сумма, то есть её можно вычислить исходя из остальных цифр. Таким образом, если бы мы хотели перебрать все возможные комбинации, то это потребовало бы 107 попыток (в основании — число возможных символов (0-9 — десять), в степени — длина строки) — 10 миллионов, что есть около 116 дней, если мы пробуем один код в секунду. Обычно скорость в несколько раз ниже, поэтому на подбор бы ушло больше года.
Однако в стандарте допущена ошибка. Процесс авторизации проходит в несколько этапов. Если переданный нами PIN — верный, то точка доступа сообщает об успехе. Если первые четыре цифры PIN — верные, а цифры 4-7 — нет, то точка доступа сообщит об этом после передачи нами пакета M6. В случае же ошибки в первых четырёх цифрах мы узнаем об этом раньше — после пакета M4. Эта проблема была найдена в конце 2011 и описана здесь. По горячим следам авторами исследования был создан reaver-wps, опубликованный затем на Google Code. Там же можно найти документ оригинального описания уязвимости.
Итак, допустим наш PIN — 99741624. Мы пытаемся подключиться, используя PIN 99740000 — получаем отказ в авторизации после передачи пакета M6 (так как первая половина кода верна). Если же мы подключимся с 00001624 — отказ будет после M4.
Как видим, основная проблема в том, что мы можем узнать о правильности одной части кода даже при том, что во второй содержится ошибка. Что это даёт? Теперь вместо 10 миллионов комбинаций нам нужно попробовать всего лишь 104 + 103 = 11 000. Это более чем реально сделать не то что за неделю — за 15 часов, а обычно быстрее.
Обратите внимание: цифр для подбора именно 7, а не 8, так как последняя — контрольная сумма и мы её рассчитываем сами, поэтому её подбирать не нужно. В примерах ниже это #.
Посмотрим ещё раз. Мы начинаем перебор с 0000000#. Отказ после M4 (ошибка в первых 4 цифрах). Меняем на 0001000#. Отказ после M4. 0002000#. M4. Доходим до 9974000#. О! Отказ после М6. Первые 4 цифры угаданы.
Дальше — точно так же. Имея половину кода постепенно увеличиваем вторую. 9974001#. Отказ. 9974002#. Отказ. 99741624. Принято.
Вот в этом и суть Wi-Fi Unprotected Setup «Защищённой настройки Wi-Fi».
MikroTik OpenVPN is an amazing VPN solution. IT provides a secure and encrypted VPN tunnel across public network. Unlike PPTP and L2TP VPN Services which are poorly designed and can easily be blocked, OpenVPN can highly be customized and even can be run on so popular TCP Port 443. So, OpenVPN cannot easily be blocked. OpenVPN uses SSL/TLS Certificates. So, OpenVPN Tunnel is a trusted tunnel to send and receive data across public network. OpenVPN is a site to site VPN technology in nature even in NAT network. But MikroTik OpenVPN has limitation to use PPP username and password although a site to site VPN does not require username and password.
The goal of this article is to configure an OpenVPN Server on so popular TCP Port 443 in MikroTik Router and configure OpenVPN Client in Windows Operating System so that a Windows user can connect to a remote office network and can be able to access remote network resources (Servers, Printers etc.) across public network safely.
Network Diagram
To configure OpenVPN Server in MikroTik Router on TCP Port 443, we are following the below network diagram.
MikroTik OpenVPN Network Diagram
In this network, MikroTik Router (RouterOSv6.46) is connected to internet through ether1 interface having IP address 117.58.247.198/30. In your network, this IP address should be replaced with public IP address. MikroTik Router’s ether2 interface is connected to local network having IP network 10.10.11.0/24. We will configure OpenVPN server in this router and OpenVPN client in a Windows Operating System. After OpenVPN Server and Client configuration, the router will create a virtual interface (OpenVPN Tunnel) across public network where VPN Gateway IP address will be 192.168.2.1 and Client machine will get an IP Address within 192.168.2.0/24 IP Block. We will also declare route in OpenVPN Client so that connected VPN user can access resources of OpenVPN server’s network.
OpenVPN Server and Client Configuration
We will now start OpenVPN Server and Client configuration. Complete OpenVPN configuration can be divided into two parts.
Part 1: OpenVPN Server Configuration in MikroTik Router
Part 2: OpenVPN Client Configuration in Windows Operating System
Part 1: OpenVPN Server Configuration in MikroTik Router
According to the network diagram, MikroTik Router is our OpenVPN Server. So, we will enable and configure OpenVPN Server in MikroTik Router. It is assumed that your WAN and LAN networks are working without any issue.
Complete MikroTik OpenVPN Server configuration can be divided into the following three steps.
Step 1: Creating TLS Certificate for OpenVPN Server and Client
Step 2: Enabling and Configuring OpenVPN Server
Step 3: Creating OpenVPN Users
Step 1: Creating TLS Certificate for OpenVPN Server and Client
OpenVPN server and client configuration requires TLS certificate because OpenVPN uses TLS certificate for secure communication. MikroTik RouterOS v6 gives ability to create, store and manage certificates in certificate store. So, we will create required OpenVPN certificate from our RouterOS. OpenVPN Server and Client require three types of certificates:
CA (Certification Authority) Certificate
Server Certificate and
Client Certificate
Creating CA certificate
The following steps will show how to create CA certificate in MikroTik RouterOS.
From Winbox, go to System > Certificates menu item and click on Certificates tab and then click on PLUS SIGN (+). New Certificate window will appear.
Put your CA certificate name (for example: CA) in Name input field. Also put a certificate common name (for example: CA) in Common Name input field.
You will find some optional fields in General tab. You can fill those if you wish. All fields are self-defined.
Click on Key Usage tab and uncheck all checkboxes except crl sign and key cert. sign checkboxes.
Click on Apply button and then click on Sign button. Sign window will appear now.
Your created CA certificate template will appear in Certificate dropdown menu. Select your newly created certificate template if it is not selected.
Put MikroTik Router’s WAN IP address (example: 117.58.247.198) in CA CRL Host input field.
Click on Sign button. Your Signed certificate will be created within few seconds.
Click on OK button to close New Certificate window.
If newly created CA certificate does not show T flag or Trusted property shows no, double click on your CA certificate and click on Trusted checkbox located at the bottom of General tab and then click on Apply and OK button.
Creating CA Certificate
CA certificate has been created successfully. Now we will create server certificate.
Creating Server Certificate
The following steps will show how to create server certificate in MikroTik RouterOS.
Click on PLUS SIGN (+) again. New Certificate window will appear.
Put your server certificate name (for example: Server) in Name input field. Also put a certificate common name (for example: Server) in Common Name input field.
If you have put any optional field in CA certificate, put them here also.
Click on Key Usage tab and uncheck all checkboxes except digital signature, key encipherment and tls server checkboxes.
Click on Apply button and then click on Sign button. Sign window will appear now.
Your newly created Server certificate template will appear in certificate dropdown menu. Select newly created certificate template if it is not selected.
Also select CA certificate from CA dropdown menu.
Click on Sign button. Your Signed certificate will be created within few seconds.
Click on OK button to close New Certificate window.
If newly created server certificate does not show T flag or Trusted property shows no, double click on your server certificate and click on Trusted checkbox located at the bottom of General tab and then click on Apply and OK button.
Creating Server Certificate
Server certificate has been created successfully. Now we will create client certificate.
Creating Client Certificate
The following steps will show how to create client certificate in MikroTik RouterOS.
Click on PLUS SIGN (+) again. New Certificate window will appear.
Put your client certificate name (for example: Client) in Name input field. Also put a certificate common name (for example: Client) in Common Name input field.
If you put any optional field in CA certificate, put them here also.
Click on Key Usage tab and uncheck all checkboxes except tls client checkbox.
Click on Apply button and then click on Sign button. Sign window will appear now.
Your newly created Client certificate template will appear in certificate dropdown menu. Select your newly created certificate template if it is not selected.
Also select CA certificate from CA dropdown menu.
Click on Sign button. Your Signed certificate will be created within few seconds.
Click on OK button to close New Certificate window.
Client certificate does not require T flag.
Creating Client Certificate
Client certificate has been created successfully. Created and signed CA, Server and Client certificates will look like the following image in Certificates window.
CA, Server and Client Certificate
After creating and signing CA, Server and Client certificates, we will now export CA and Client certificates because OpenVPN client will use these certificates.
Exporting CA and Client Certificates
OpenVPN server will use Server certificate from MikroTik RouterOS Certificate store. But client certificate has to supply to the OpenVPN client. So, we need to export client certificate as well as CA certificate from RouterOS certificate store. The following steps will show how to export CA certificate and Client certificate from MikroTik certificate store.
Select and make Right Click on your CA certificate and then click on Export option. Export window will appear.
Choose CA certificate from Certificate dropdown menu.
Click on Export button now. Your CA certificate will be exported and Export window will be closed.
Similarly, select and make right click on Client certificate and then click on Export option. Choose client certificate from Certificate dropdown menu. Put a password in Export Passphrase input field. The password should be strong enough and must remember because the password has to provide when OpenVPN client will be connected. Click on Export button now.
Exporting CA and Client Certificates
Exported CA and Client certificates with key will be found in Winbox File List window. The following steps will show how to download exported certificates file from File directory.
Click on Files menu from Winbox menu panel. You will find two certificate files (.crt) and one key file (.key) is exported here.
Drag and Drop these three files in a folder on your Desktop. We will use these files when OpenVPN Client will be configured.
Downloading CA and Client Certificates
TLS certificates for OpenVPN Server and Client are ready. Now we will configure our OpenVPN Server in MikroTik Router.
Step 2: OpenVPN Server Configuration in MikroTik Router
After creating TLS certificate, we are now eligible to enable and configure OpenVPN Server in MikroTik Router. The following steps will show how to enable and configure OpenVPN Server in MikroTik Router.
Click on PPP menu item from Winbox and then click on Interface tab.
Click on OVPN Server button. OVPN Server window will appear.
Click on Enabled checkbox to enable OpenVPN Server.
Put your desired TCP Port (example: 443) on which you want to run OpenVPN Server in Port input field.
Make sure ip option is selected in Mode dropdown menu.
From Certificate dropdown menu, choose server certificate that we created before. Also click on Require Client Certificate checkbox.
From Auth. Panel, uncheck all checkboxes except sha1.
From Cipher panel, uncheck all checkboxes except aes 256.
Now click on Apply and OK button.
Configuring OpenVPN in MikroTik RouterOS
OpenVPN Server is now running in MikroTik Router. As MikroTik OpenVPN is limited to use username and password for successful VPN connection, we will now create PPP user who will be able to connect MikroTik OpenVPN Server and get IP information.
Step 3: Creating OpenVPN Users
MikroTik OpenVPN uses username and password to validate legal connection. So, we have to create username and password to allow any user. The complete user configuration for OpenVPN Server can be divided into three parts.
IP Pool Configuration
User Profile Configuration and
User Configuration
IP Pool Configuration
Usually multiple users can connect to OpenVPN Server. So, it is always better to create an IP Pool from where connected user will get IP address. The following steps will show how to create IP Pool in MikroTik Router.
From Winbox, go to IP > Pool menu item. IP Pool Window will appear.
Click on PLUS SIGN (+). New IP Pool window will appear.
Put a meaningful name (vpn_pool) in Name input field.
Put desired IP Ranges (192.168.2.2-192.168.2.250) in Addresses input filed. Make sure not to use VPN Gateway IP (192.168.2.1) and the last IP (192.168.2.154) because last IP will be used as DHCP Server IP.
Click Apply and OK button.
OpenVPN User IP Pool
User Profile Configuration
After creating IP Pool, we will now configure profile so that all users can have similar characteristics. The following steps will show how to configure user profile for OpenVPN User.
From Winbox, go to PPP menu item and click on Profile tab and then click on PLUS SIGN (+). New PPP Profile window will appear.
Put a meaningful name (vpn_profile) in Name input field.
Put VPN Gateway address (192.168.2.1) in Local Address input field.
Choose the created IP Pool (vpn_pool) from Remote Address dropdown menu.
Click Apply and OK button.
OpenVPN User Profile Configuration
OpenVPN Users Configuration
After creating user profile, we will now create users who will be connected to OpenVPN Server. The following steps will show how to create OpenVPN users in MikroTik RouterOS.
From PPP window, click on Secrets tab and then click on PLUS SIGN (+). New PPP Secret window will appear.
Put username (For example: sayeed) in Name input field and put password in Password input field.
Choose ovpn from Service dropdown menu.
Choose the created profile from Profile dropdown menu.
Click on Apply and OK button.
Creating OpenVPN Users
We have created a user for OpenVPN Server. Similarly you can create more users that you require.
OpenVPN Server configuration in MikroTik Router has been completed. In the next part we will configure OpenVPN client in Windows Operating System.
Part 2: OpenVPN Client Configuration in Windows Operating System
After configuring OpenVPN Server in MikroTik Router, we will now configure OpenVPN Client. OpenVPN Client configuration can be divided into two steps.
OpenVPN Client Download and Installation
OpenVPN Client Configuration
Steps 1: OpenVPN Client Download and Installation
OpenVPN.net provides OpenVPN Client software for all Operating Systems. OpenVPN Client software is found in OpenVPN Community Downloadpage. So, visit to community download page and download OpenVPN Client that matches with your Operating System. I am using Windows 10. So, I downloaded WINDOWS 10/SERVER 2016/SERVER 2019 INSTALLER (NSI) package. At the time of this article, the OpenVPN client installer version was 2.4.8.
OpenVPN Client Installer
If you face any confusion to download OpenVPN client from OpenVPN Community Download, you can Download OpenVPN Client Software Package from this link where I have attached my tested OpenVPN Client Software and Client Configuration file.
After getting OpenVPN Client installer, install OpenVPN client in your operating system following the instructions. Installation process is as simple as installing other software in Windows operating system.
OpenVPN Client Installation
After OpenVPN Client installation, make sure that TAP Virtual Ethernet Adapter has been installed. If it is installed successfully, you will find a new Network Adapter named as TAP-Windows Adapter in Network Connections window.
Virtual TAP-Windows Adapter
If don’t find this TAP-Windows Adapter in Network Connections panel, uninstall the false installation from Windows Program and Features panel and then download my OpenVPN Client Package where I have attached another TAP-Windows installer and install that installer. I hope you will now find the TAP-Windows Adapter. Without TAP-Windows Adapter OpenVPN Client cannot be able to connect to OpenVPN Server.
Step 2: OpenVPN Client Configuration
After installing OpenVPN client software, we need to configure OpenVPN Client according to our OpenVPN Server requirements. OpenVPN Client configuration file is a UNIX like configuration file. The default OpenVPN configuration directory is C:Program FilesOpenVPN. This directory looks like the below image.
OpenVPN Client Default Directory
In this directory, a folder named sample-config will be found where a sample OpenVPN Client configuration file named client.ovpn is provided. Copy this sample configuration file into config folder and then open the client configuration file with a text editor such as WordPad, NotePad ++ or any editor that you like. Make sure the editor is opened with administrator privilege otherwise you cannot save the file when you make change.
Configuration Parameters Those We Need to Change
In the client.ovpn file, some parameters are required to change according to our OpenVPN Server configuration. The following parameters are required to change in client configuration file.
Protocol
By default OpenVPN client uses UDP protocol but MikroTik OpenVPN Server supports only TCP protocol. So, enable proto tcp and disable proto udp which may be found at line 36 and 37.
Note: To disable any option just put a semicolon (;) before that option and to enable any option remove the semicolon (;) from that option.
IP and Port
We must specify OpenVPN Server IP and Port in Client configuration file. IP and Port are declared with remote option which may be found at line 42 and the IP and Port should be declared in a line like below. Make sure to change your WAN IP with the example IP (117.58.247.198) and port (443) with your define port.
remote 117.58.247.198:443
SSL/TLS Parameters
In client configuration file, we need to declare CA and Client certificates and Client Key file. These options may be found at line 88, 89 and 90. So, assign ca, cert and key file like below.
ca CA.crt
cert Client.crt
key Client.key
Make sure to rename exported and downloaded ca, client and key file according to the above options and then copy your renamed CA.crt, Client.crt and Client.key files into config directory.
We are not using any server key file. So we have to disable tls-auth option which is enabled by default. The tls-auth option may be found at line 108. So, disable this option by putting a semicolon (;) before it.
Configuration Options Those We Need to Add
There are some options those we need to declare in client configuration file because by default these options are not included in sample configuration file but MikroTik Router requires those options. The following options are required to include in client configuration to work with MikroTik OpenVPN Server properly.
User Authentication
MikroTik OpenVPN Server is limited to work with user verification. So we have to provide username and password with auth-user-pass option. Add this option at the bottom of the client configuration file and declare a file name where username and password are stored like below.
auth-user-pass secret.cfg
Now create a file named secret.cfg in config directory and specify username and password in this file. Username must be declared at the first line and password must be declared at the second line like below.
sayeed
password
Routing Information
By default OpenVPN Client will only be able to communicate with the same network IP Addresses. But remote network resources (Servers, Printers etc.) may have another network. In this case we have to declare routing with route option otherwise OpenVPN Client cannot reach to other network.
For example, Our VPN Gateway Address is 192.168.2.1 and Server network is 10.10.11.0/24. So, to reach this network we have to add route option like below.
route 10.10.11.0 255.255.255.0 192.168.2.1
If you have multiple networks, you have to add multiple route options but each route option per line.
Download Demo OpenVPN Client Configuration File
If you face any confusion to edit the above configuration option, Download OpenVPN Client Configuration File which has been prepared for this article configuration and cross check with your configuration file. Hope your confusion will be reduced.
After coping CA.crt, Cleint.crt, Client.key and client.ovpn files, your config directory will look like the below image.
OpenVPN Client Config Directory
Connecting OpenVPN Client
After completing client configuration, run OpenVPN Client by clicking OpenVPN GUI desktop shortcut icon. You will now find a new OpenVPN icon in Taskbar or System tray like below image.
OpenVPN Connection Icon
Click mouse right button on this icon and then click Connect option. OpenVPN Connection window will appear and it will ask to put client certificate password that you have entered at the time of client certificate exportation.
OpenVPN Client Asking for Client Certificate Password
After verifying Client Certificate Password as well as username and password, OpenVPN Client will be connected and an IP address will be assigned to TAP-Windows Adapter. At successful OpenVPN connection, the OpenVPN Client icon will be turned into green.
OpenVPN Client Connection Status in Windows 10
Now you will be able to access your remote office resources such as File Server, Printers and so on without any issue.
How to Configure OpenVPN Server on TCP Port 443 in MikroTik with Windows 10 Operating System has been discussed in this article. I hope you will now be able to configure MikroTik OpenVPN Server and can be connected across public network from remote location securely. However, if you face any confusion to configure MikroTik OpenVPN Server and OpenVPN Client, feel free to discuss in comment or contact me from Contact Page. I will try my best to stay with you.
При подключении через протокол openvpn, вы можете увидеть следующую строку в логах подключения VPN-клиента:
W: WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Ничего критичного в этом конечно нет, подключение отработает и вы подключитесь к vpn. Это сообщение отображается для всех и в вашей системе нет ничего плохого. Читать →
MikroTik производят профессиональное сетевое оборудование с возможностью тонкой настройки. Поэтому для VPN-сервера или клиента маршрутизаторы этой фирмы подходят просто отлично.
OpenVPN — очень популярная программа для организации виртуальных сетей и VPN-серверов. Это очень удобно, так как вы можете объединить несколько компьютеров, находящихся в разных концах мира в одну виртуальную локальную сеть и для операционной системы всё будет выглядеть так, как будто эти компьютеры действительно находятся в одной локальной сети.
Но иногда сеть перестает работать или не получается её настроить. В этой статье мы разберём несколько причин, почему не подключается OpenVPN, с которыми лично сталкивался я и которые мне приходилось исправлять. Возможно, одна из них и привела к вашей поломке. Читать →