Как установить и настроить OpenVPN на Debian

{title}

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

Это очень важные аспекты на уровне безопасности, которые мы должны учитывать, и на этот раз мы проанализируем процесс конфигурации OpenVPN в среде Debian 8 .

примечание

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

  • Пользователь root.
  • Дроплет Debian 8, в настоящее время у нас Debian 8.1

1. Как установить OpenVPN


Первый шаг, который мы предпримем, - это обновить все пакеты в среде с помощью команды:
 apt-get update 

{title}

Как только пакеты будут загружены и обновлены, мы установим OpenVPN, используя easy-RSA для решения проблем шифрования. Мы выполним следующую команду:

 apt-get установить openvpn easy-rsa 

{title}

Затем мы должны настроить наш OpenVPN, файлы конфигурации OpenVPN хранятся по следующему пути: / etc / openvpn, и они должны быть добавлены в нашу конфигурацию, мы будем использовать следующую команду:

 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf 
После того, как мы извлекли эти файлы по выбранному пути, мы откроем их с помощью редактора nano и выполним следующую команду:
 nano /etc/openvpn/server.conf 
Мы увидим следующее окно:

{title}

Как только мы окажемся там, мы должны внести некоторые изменения в файл, эти изменения в основном:

  • Безопасный сервер с высоким уровнем шифрования
  • Разрешить веб-трафик к месту назначения
  • Запрет фильтрации DNS-запросов вне VPN-соединения
  • Разрешения на установку

Мы удвоим длину ключа RSA, используемого при генерации ключей как сервера, так и клиента, для этого мы будем искать в файле следующие значения и будем изменять значение dh1024.pem значением dh2048.pem :

 Параметры Диффи-Хеллмана. # Создайте свой собственный с помощью: # openssl dhparam -out dh1024.pem 1024 # Замените 2048 на 1024, если вы используете # 2048 битовых ключей. dh dh1024.pem 

{title}

Теперь мы собираемся убедиться, что трафик правильно перенаправлен к месту назначения, мы удалим push-комментарий «redirect-gateway def1 bypass-dhcp», удалив его; в начале. В файле server.conf:

 # Если эта директива включена, эта директива # настроит # всех клиентов на перенаправление своего # сетевого шлюза по умолчанию через VPN, в результате чего # весь IP-трафик, такой как просмотр веб-страниц и # и поиск DNS, будет проходить через VPN # (машине сервера OpenVPN может потребоваться NAT # или подключите интерфейс TUN / TAP к Интернету # в ***** для правильной работы). ; нажмите "redirect-gateway def1 bypass-dhcp" 

{title}

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

 # Некоторые сетевые настройки Windows могут быть # переданы клиентам, например DNS # или адреса серверов WINS. CAVEAT: # http://openvpn.net/faq.html#dhcpcaveats # Приведенные ниже адреса относятся к общедоступным # DNS-серверам, предоставленным opendns.com. ; нажмите «dhcp-option DNS 208.67.222.222»; нажмите «dhcp-option DNS 208.67.220.220» 
Там мы должны снять отметки с комментариев «dhcp-option DNS 208.67.222.222» и нажать «dhcp-option DNS 208.67.220.220», удалив; с самого начала.

{title}

$config[ads_text5] not found

Наконец, мы определим права доступа в том же файле, над которым мы работаем, и разместим следующий текст:

 # Вы можете раскомментировать это на # не Windows системах. ; пользователь никто; группа nogroup 
Мы приступаем к снятию флажка удалить знак; начала текстов пользователь никто и группа nogroup .

{title}

Как мы знаем, OpenVPN по умолчанию запускается от имени пользователя root, что позволяет вам редактировать любой параметр, при последнем изменении мы ограничим его для пользователя nobody и группы nogroup по соображениям безопасности.
Мы сохраняем изменения, используя комбинацию клавиш:

Ctrl + O

И мы покидаем редактор, используя:

Ctrl + X

$config[ads_text6] not found

Далее мы включим пересылку пакетов во внешнюю сеть, для этого выполним следующую команду:

 echo 1> / proc / sys / net / ipv4 / ip_forward 
Мы должны сделать это изменение постоянным, а не то, что мы должны делать это каждый раз, когда мы запускаем Систему, чтобы сделать его непрерывным, мы будем вводить файл systcl с помощью редактора nano, для этого мы выполним следующее:
 nano /etc/sysctl.conf 
Появится следующее окно:

{title}

Мы найдем следующую строку:

 # Раскомментируйте следующую строку, чтобы включить пересылку пакетов для IPv4 # net.ipv4.ip_forward = 1 

примечание

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

Ctrl + W

Там мы удалим комментарий net.ipv4.ip_forward = 1, удалив символ #.

{title}

Следующий шаг, который мы должны сделать, это настроить UFW . UFW - это конфигурация брандмауэра для IP-таблиц, поэтому мы внесем некоторые изменения, чтобы изменить безопасность UFW. В качестве первого шага мы установим пакеты UFW с помощью следующей команды:

 apt-get установить ufw 

{title}

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

 UFW позволяют SSH 

{title}

В нашем случае мы работаем с портом UDP 1194, мы должны настроить этот порт для связи, чтобы быть удовлетворительным, мы введем следующее:

 UFW позволяют 1194 / UDP 

примечание

Мы можем видеть порты нашей консоли с помощью команды lsof –iUDP

Далее мы отредактируем файл конфигурации UFW, чтобы войти с редактором nano по следующему пути:

 нано / etc / default / ufw 
Откроется следующее окно:

{title}

Там мы внесем некоторые изменения, мы найдем следующую строку, где мы изменим DROP на ACCEPT .

 DEFAULT_FORWARD_POLICY = "DROP" 
Следующим шагом является добавление некоторых правил в UFW для трансляции сетевых адресов и правильной маскировки IP-адресов подключающихся пользователей. Мы откроем следующий файл, используя нано-редактор:
 nano /etc/ufw/before.rules 
Мы увидим, что отображается следующее окно:

{title}

Мы добавим следующий текст:

 # START OPENVPN RULES # NAT правила таблицы * nat: POSTROUTING ACCEPT [0: 0] # Разрешить трафик от клиента OpenVPN к eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # END OPENVPN ПРАВИЛА 

{title}

После внесения этих изменений мы перейдем к включению UFW с помощью следующей команды:

 UFW включить 

{title}

Для проверки правил брандмауэра мы используем следующую команду:

 UFW статус 

{title}

2. Создайте сертификат авторизации OpenVPN


Следующим шагом в нашем процессе является создание сертификата полномочий для входа через OpenVPN, помните, что OpenVPN использует эти сертификаты для шифрования трафика. OpenVPN поддерживает двунаправленную сертификацию, то есть клиент должен аутентифицировать сертификат сервера и наоборот.
Мы скопируем скрипты на easy-RSA, используя следующую команду:
 cp -r / usr / share / easy-rsa / / etc / openvpn 
Мы создадим каталог для хранения ключей, мы будем использовать следующую команду:
 mkdir / etc / openvpn / easy-rsa / keys 
Следующим шагом является редактирование параметров сертификата, мы будем использовать следующую команду:
 nano / etc / openvpn / easy-rsa / vars 
Появится следующее окно:

{title}

Мы изменим следующие параметры в соответствии с нашими требованиями:

 export KEY_COUNTRY = "CO" export KEY_PROVINCE = "BO" export KEY_CITY = "Богота" export KEY_ORG = "Solvetic" export KEY_EMAIL = " " export KEY_OU = "Solvetic" 

{title}

В этом же файле мы отредактируем следующую строку:

 # X509 Экспорт поля темы KEY_NAME = "EasyRSA" 
Мы заменим значение EasyRSA на имя нужного нам сервера, мы будем использовать имя Solvetic.

{title}

$config[ads_text5] not found

Далее мы настроим параметры Диффи-Хелмана, используя инструмент, интегрированный с OpenSSL, который называется dhparam. Мы введем и выполним следующую команду:

 openssl dhparam -out /etc/openvpn/dh2048.pem 2048 

{title}

{title}

После того, как сертификат сгенерирован, мы изменим каталог easy-RSA с помощью команды:

 cd / etc / openvpn / easy-rsa 
Мы собираемся инициализировать PKI, мы будем использовать команду:
, ./vars 

{title}

$config[ads_text5] not found

Мы очистим остальные ключи, чтобы они не мешали установке, используя команду:

 ./clean-all 
Далее мы создадим сертификат, используя следующую команду OpenSSL:
 ./build-ca 

{title}

Мы видим ряд вопросов, связанных с ранее введенной информацией, таким образом, сертификат был сгенерирован. Далее мы запустим наш сервер OpenVPN, для этого мы отредактируем файл, расположенный в пути / etc / openvpn / easy-rsa, используя кодовое имя, уже указанное ранее, в нашем случае Solvetic. Мы выполним следующую команду:

 ./build-key-server Solvetic 

$config[ads_text6] not found

{title}

В строках ниже мы можем оставить пробел пустым и нажать Enter:

 Пожалуйста, введите следующие «дополнительные» атрибуты, которые будут отправлены вместе с вашим запросом сертификата. Пароль для вызова []: Необязательное название компании []: 
Появится следующее окно, в котором мы должны ввести букву y (да), чтобы принять следующие два вопроса: Подпишите сертификат и требование сертификата.

{title}

{title}

Теперь мы собираемся переместить и сертификаты, и ключи в путь / etc / openvpn, выполним следующую команду:

 cp /etc/openvpn/easy-rsa/keys/ enjSolvetic.crt, Solvetic.key, ca.crt} / etc / openvpn 
Как только этот процесс будет завершен, мы запустим сервис OpenVPN с помощью команды:
 сервис openvpn start 
Чтобы увидеть статус мы будем использовать команду:
 сервис oopenvpn статус 

{title}

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

 ./build-key Client_Name, в нашем примере мы будем использовать следующую команду: ./build-key Tests 

{title}

Заполняем обязательные поля и затем копируем ключ, сгенерированный в каталоге easy-RSA .

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn. 
Теперь мы собираемся бесплатно загрузить инструмент Winscp по следующей ссылке. Этот инструмент позволит нам подключиться через SFTP или FTP к нашему компьютеру Debian, чтобы убедиться, что файлы созданы правильно. После того, как мы загрузим и выполним это окно, которое мы можем увидеть:

{title}

Там мы вводим IP-адрес компьютера Debian. Помните, что IP-адрес можно проверить с помощью команды ifconfig, введите учетные данные, и после нажатия кнопки Connect мы увидим следующее:

{title}

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

 C: \ Program Files \ OpenVPN \ config 
Позже мы создадим файл в блокноте или текстовом редакторе со следующей информацией:
 клиент dev tun proto udp remote 192.168.0.12 1194 ключ client.key cert client.crt ca ca.crt auth-user-pass постоянный ключ persist-tun comp-lzo глагол 3 

примечание

IP-адрес нашего компьютера Debian, а порт, как мы видели ранее, - UDP 1194.
Этот файл должен быть сохранен с расширением .ovpn.

{title}

3. Проверка клиентского доступа OpenVPN


Мы запустим OPenVPN, и это будет среда, в которой мы найдем:

{title}

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

{title}

примечание

Мы делаем это соединение с компьютера под управлением Windows 7.

Теперь мы видим в панели уведомлений, что соединение установлено правильно, и мы видим новый IP-адрес.

{title}

Если мы щелкнем правой кнопкой мыши на инструменте (значок в панели уведомлений), у нас есть следующие варианты:

{title}

Отсюда мы можем выполнять задачи, которые считаем необходимыми. Например, если мы выберем Показать статус, мы увидим следующее:

{title}

4. Инструменты безопасности OpenVPN ']


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

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

 Sudo apt-get установить clamav 

{title}

Позже мы запустим freshclam, чтобы обновить всю базу данных Clamav .
Чтобы запустить сканирование на компьютере, мы введем следующий синтаксис:

 Clamscan –инфицированный –удаленный –рекурсивный / домашний 
Через некоторое время мы увидим краткое изложение задачи сканирования:

{title}

Другим инструментом, который мы можем использовать для улучшения нашей безопасности, является Privoxy, который работает как веб-прокси и включает в себя расширенные функции для защиты конфиденциальности, управления файлами cookie, контроля доступа, удаления рекламы и других. Чтобы установить его в нашей системе Debian 8.1, мы выполним следующую команду:

 Sudo apt-get установить privoxy 

{title}

Помните, что если мы являемся пользователями root, sudo не требуется. Как только все пакеты Privoxy будут загружены и установлены, мы изменим некоторые параметры в файле конфигурации последнего, для этого выполним следующую команду:

 Sudo nano / etc / privoxy / config 
Будет отображено следующее:

{title}

Там мы должны найти строку прослушивания адрес localhost: 8118 и добавить 2 параметра, сначала добавить символ # в начале этой строки и ввести под ним термин listen-address ip_of_our machine: 8118, в нашем случае это:

 адрес для прослушивания 192.168.0.10:8118. 
Как только это будет сделано, мы перезапустим сервис, используя:
 sudo /etc/init.d/privoxy restart 

$config[ads_text5] not found

{title}

Затем мы переходим к браузеру в Debian и продолжаем изменять параметры Proxy, мы должны подтвердить, что IP-адрес - это тот, который мы добавляем, а порт - 8118. В нашем примере мы используем IceWeasel, и мы должны ввести:

  • предпочтения
  • Вы продвинулись
  • сеть
  • Настройки подключения
  • Ручная настройка прокси

{title}

После настройки нажмите Принять. Теперь мы можем увидеть, как Privoxy помогает нам в безопасности :

{title}

$config[ads_text5] not found

Есть другие инструменты, которые могут помочь нам улучшить навигацию с помощью нашего OpenVPN, мы можем реализовать:

Dnsmasq

Он предоставляет нам службы DNS, поэтому мы используем только кэш DNS.

HAVP

С помощью этого инструмента у нас есть прокси с антивирусом, он сканирует весь трафик в поисках вирусов или странного поведения.

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

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

$config[ads_text6] not found

Установите LAMP на Debian 8