Как создать vps сервер
Раньше был vps сервер на oracle, always free, ubuntu. Сейчас учетную запись отключили. Где теперь можно создать свой личный бесплатный vps, чтобы на нем поднять, например, vpn?
Раньше был vps сервер на oracle, always free, ubuntu. Сейчас учетную запись отключили. Где теперь можно создать свой личный бесплатный vps, чтобы на нем поднять, например, vpn?
Между делом, там Роскомнадзор официально объявил войну VPN сервисам.
Ссылка на пруф: https://www.interfax.ru/russia/844320
У меня есть только два вопроса:
Каким образом будут осуществляться блокировка? Если будут блокироваться конкретные протоколы, то упадёт куча корпоративных сетей. Если будут блокировать только IP и порты по блэклистам, то это не очень эффективно. Если введут вайтлисты, то это всё, конец, хех.
Что будет за обход блокировки VPN для обхода блокировки сайтов?
А это просто мем, мэм:
└ Источник: FREEHUB (лучший источник халявы)
---------------------------------------------------------
▪️ ПОЛУЧИТЬ | 2 160₽
💁🏻♂️ Seed4Me VPN — предоставляет качественный VPN доступ по всему миру, с каждым днем компания пополняет свою базу новыми странами и функциями, которые будут полезны для всех пользователей, тем более на 6 месяцев.
---------------------------------------------------------
ПРОМОКОД : PASKOOCHEH22
---------------------------------------------------------
🤷🏻♂️ ЧТО НУЖНО ДЕЛАТЬ:
1. Открываем » Seed4Me.
└ Создаем новый аккаунт
2. Вводим промокод (см. выше).
└ Далее подтверждаем почту
3. Готово, пользуемся.
« Самая могущественная сила на свете — организованное комьюнити людей. »
---------------------------------------------------------
🔥Другие инсайды в Telegram 👉🏻 FREEHUB 👈🏻
Часто при настройках домашней или другой сети нас просят указать параметры DNS.
Знаете ли вы, что это?
Чтобы понять, что такое DNS, давайте для начала разберемся с тем, что такое IP.
Это адрес каждого устройства в сети. Выглядит как четыре диапазона цифр от 0 до 255, разделенных точками.
Например, 123.45.67.189. Когда трава была зеленее, а сети - маленькими, собственный IP адрес был у каждого компьютера.
Сейчас устройств стало много, и поэтому вы, скорее всего, имеете несколько IP:
1) Публичный IP, который видно в интернете. Можете посмотреть его на 2ip.ru или других сайтах.
Этот IP принадлежит вашему провайдеру, и помимо вас им может пользоваться большое количество людей.
2) IP в сети провайдера. Провайдер сделал свою подсеть, и внутри нее присвоил собственный адрес вашему роутеру (если он есть).
3) Адрес устройства в локальной сети, который предоставил вам ваш роутер.
Это - наиболее типичная схема устройства домашней или офисной сети.
DNS - Domain Name System - это большая распределенная таблица данных, сопоставляющих названия сайтов (называемые доменами) с IP адресами.
Самая простая аналогия - популярные в прошлом веке телефонные книги, позволяющие найти номер организаций в вашем городе.
Возможно, DNS сервер, к которому вы обратитесь, не имеет записи о том, где находится нужный вам сайт.
В этом случае он делает запрос к другому DNS серверу, ответственному за тот участок сети, и уже этот ответ отдает вам.
Обычно, чтобы зайти на сайт, мы пишем в адресной строке site.name.
Так людям удобнее и проще их запоминать. К тому же, на одном IP адресе может размещаться множество сайтов. Бывает и обратная ситуация - один сайт занимает сразу несколько адресов.
По IP адресам устройства в сети находят друг друга.
И когда вы хотите зайти на site.name, ваш компьютер еще не знает, где его искать. Он отправляет запрос к DNS серверу, и получает ответ: site.name находится по адресу 123.123.123.123
После этого вашему компьютеру не составит труда найти нужный сайт.
Пользуйтесь доверенными DNS серверами! Если вы поменяли настройки и стали делать запросы к DNS серверу злоумышленника, может произойти следующее - DNS даст вам IP адрес не того сайта, на который вы направлялись, а его точной копии.
И с помощью этой копии злоумышленник может получить ваши данные.
Быстрого и безопасного вам интернета!
Другие посты из серии IT для гуманитариев:
Как работают блокировки интернета?
Могут ли меня взломать, когда я использую VPN?
А еще мы предлагаем быстрый и удобный VPN за 500 рублей в месяц на три устройства. Подробности в телеграм канале.
1. Введение
Виртуальные частные сети (VPN) давно вошли в повседневную жизнь. Множество технологий и реализаций сервиса приватных сетей (как для частного применения, так и для использования внутри периметра организаций), обеспечивающих определённый уровень безопасности, доступны для использования широкому кругу ИТ-специалистов.
Не смотря на обилие технологий, предлагаю остановиться на старом добром OpenVPN (в связке с EASY-RSA). Решение от Джеймса Йонана отличается гибкостью, функциональностью, надёжностью и непрерывностью разработки на протяжении приличного временного периода. Так сказать, мастодонт от мира VPN-решений.
Спойлер — ссылка на довольно функциональное решение (ничего особенного, чистый бэкэнд), написанное на bash некоторое время назад, ждёт вас в конце публикации (в виде github-репозитория под именем «openvpn_helper»), а здесь же уделю внимание общей структуре и некоторым аспектам использования набора скриптов и OpenVPN.
***
Список необходимых компонентов (используемая ОС — AlmaLinux 8):
1) OpenVPN 2.4.12;
2) EASY-RSA 3.0.8.
=================
2. Описание общей структуры репозитория
2.1. Директория «ovpn-server»
Директория содержит файлы и поддиректории двух типов: статичные (входящие в репозитория непосредственно) и генерируемые автоматически.
Статичные:
* «main.sh» - файл, содержащий основную кодовую базу репозитория.
* «vpn.env» - основной файл конфигурации.
* «full_setup_vpn_server.sh» - скрипт полной установки VPN-сервера. После запуска исполняет следующие действия:
1) инициация структуры файлов/директорий для управления ключами easyrsa («./easyrsa init-pki»);
2) создание корневого сертификата («./easyrsa build-ca»);
3) генерация ключа Диффи-Хелмана («./easyrsa gen-dh»);
4) создание запроса на выпуск сертификата VPN-сервера («./easyrsa gen-req vpn-server»);
5) импорт и подписание сертификата VPN-сервера («./easyrsa sign-req server vpn-server»);
6) генерация списка отозванных сертификатов («./easyrsa gen-crl»);
7) генерация секретного ключа ta.key («/usr/sbin/openvpn --genkey --secret "$PKI_DIR/ta.key"»), используемого как на стороне сервера, так и на стороне клиента. Необходим для обеспечения дополнительного уровня безопасности (защищает от сканирования прослушиваемых VPN-сервером портов, переполнения буфера SSL/TLS, DoS-атак и flood-атак, а также вводит дополнительный механизм аутентификации между сервером и клиентом);
8) генерация файла конфигурации для VPN-сервера, вспомогательных скриптов и файлов со справочной информацией;
9) копирование всех необходимых сертификатов и файлов конфигурации, необходимы для работы VPN-сервера, в директорию «/etc/openvpn/server».
* «create_cli_cert_and_conf.sh» - скрипт генерации клиентского набора сертификатов и файла конфигурации.
* «revoke_client_cert.sh» - скрипт отзыва клиентских сертификатов.
* «gen_crl_and_restart_ovpn.sh» - скрипт генерации CRL-сертификата (Certificate Revocation List или список отозванных сертификатов), содержащего сведения о всех отозванных клиентских сертификатах (отозванных посредством «revoke_client_cert.sh»). Скрипт необходимо запускать каждый раз после отзыва клиентского сертификата.
* «get_client_cert_expire_info.sh» - скрипт проверки клиентских сертификатов на предмет устаревания.
* «get_server_cert_expire_info.sh» - скрипт проверки серверных сертификатов на предмет устаревания.
Файлы и директории, формируемые на этапе полной установки VPN-сервера (full_setup_vpn_server.sh):
* директория «pki_root/pki» - содержит развёрнутую структуру файлов/директорий для управления ключами easyrsa. Краткое описание файлов/директорий структуры:
1) certs_by_serial — директория хранения выпущенных сертификатов (в рамках данной структуры pki), ранжированных по серийным номерам;
2) issued — директория хранения выпущенных сертификатов, ранжированных по имени (CN);
3) private — директория хранения закрытых ключей (в т.ч. и закрытого ключа корневого сертификата) к соответствующим сертификатам;
4) renewed — директория хранения обновлённых сертификатов. В рамках «openvpn_helper» не используется.
5) reqs — директория хранения запросов на выпуск сертификатов.
6) revoked — директория хранения отозванных запросов/сертификатов/закрытых ключей;
7) ca.crt — корневой сертификат;
8) crl.pem — список отозванных сертификатов;
9) dh.pem — ключ Диффи-Хеллмана;
10) index.txt — актуальная база данных всех сертификатов в рамках данной структуры управления ключами/сертификатами;
11) index.txt.attr — содержит параметр «unique_subject = yes», запрещающий создание сертификатов с одинаковыми именами до процедуры отзыва;
12) index.txt.attr.old — предыдущее значение параметра index.txt.attr;
13) index.txt.old — предыдущее содержание базы данных сертификатов index.txt. Изменяется, например, после отзыва клиентского сертификата);
14) openssl-easyrsa.cnf — стандартные для данной структуры параметры с указанием имён переменных, которые возможно переопределить через переменные окружения;
15) safessl-easyrsa.cnf — содержание аналогично файлу openssl-easyrsa.cnf, но с указанием конкретных значений;
16) serial — используется для промежуточного хранения серийного номера генерируемого сертификата до момента его подписания. После подписания серийный номер перемещается в файл “serial.old”;
17) serial.old — содержит серийный номер последнего сгенерированного (и подписанного) сертификата;
18) ta.key — секретный ключ для реализации tls-аутентификации.
* «RESTART_OVPN-$VPN_SERVER_NAME_S.sh» (где VPN_SERVER_NAME_S - параметр из vpn.env) - скрипт перезапуска экземпляра OpenVPN, основанного на конфигах и сертификатах, сгенерированных посредством «full_setup_vpn_server.sh» (на основе файла конфигурации «vpn.env», расположенного в текущей директории).
* «SET-STATIC-IP-FOR-CLIENTS.txt» - заполняется в формате «username,ip-address», если требуется, чтобы клиентам VPN-сервера выдавались статичных ip-адреса. После внесения изменений необходимо запустить скрипт «RESTART»
* «STOP_OVPN-$VPN_SERVER_NAME_S.sh» (где VPN_SERVER_NAME_S — параметр из vpn.env) — полный останов VPN-сервера.
* «README_MAIN.txt» - краткая инструкция об использовании VPN-сервера.
* «README-user-management.txt» - памятка об управлении пользователями. Возможность коннекта к VPN (помимо сертификатов) ограничивается локальными УЗ, созданными на хосте и состоящими в определённой группе пользователей.
* «readme-firewalld-rules.txt» - памятка о настройке файервола (firewalld).
* «readme-selinux-rules.txt» - памятка о конфигурации selinux.
* «SAVED_CERT_PASSWORDS.txt» - сохранённые пароли (от корневого сертификата и сертификата VPN-сервера).
Файлы и директории, формируемые на этапе генерации клиентских сертификатов (create_cli_cert_and_conf.sh):
* директория «cli_certs» - содержит поддиректории вида «CLIENT_CERT_NAME-files», где расположен набор клиентских конфигов и сертификатов, а также архив для передачи пользователю.
=================
2.2. Директория «run_if_dnsmasq_is_not_installed»
Скрипт «run.sh». Простой скрипт, осуществляющий установку сервиса dnsmasq.
Файл конфигурации «dnsmasq.conf». Содержит пример конфигурации сервиса без вышестоящих dns-серверов.
Для использования DNS-сервера, установленного на хосте с OpenVPN, необходимо подкорректировать правила firewalld. Рекомендации по настройке смотреть в файле «readme-firewalld-rules.txt» (после развёртывания VPN-сервера).
=================
2.3. Директория «run_if_openvpn_is_not_installed»
Скрипт «run.sh» устанавливает необходимый для работы VPN набор софта: dnf-репозиторий «epel-release», openvpn, easy-rsa.
=================
2.4. Директория «run_if_selinux_enabled»
Директория содержит 2 файла:
* selinux-модуль «ovpn_mod0.te»;
* скрипт «run.sh», устанавливающий пакет «selinux-policy» и применяющий selinux-модуль «ovpn_mod0».
=================
2.5. Директория «run_if_zip_is_not_installed»
Скрипт «run.sh» устанавливает zip-архиватор, используемый при создании архивов для передачи конечному пользователю.
=================
2.6. Файл-инструкция «if_need_another_vpnserver_on_this_host.txt»
Документ, кратко описывающий алгоритм развёртывания второго (и последующих) VPN-сервисов на одном и том же хосте.
Алгоритм таков (для примера):
1) создаём директорию, например, «ovpn-server0»;
2) переносим в неё содержание директории «ovpn-server» (исключения: cli_certs, pki_root);
3) редактируем в директории «ovpn-server0» файл «vpn.env», уделяя особое внимание параметрам: VPN_SERVER_NAME_S,
VPN_PORT_S,
VPN_NETWORK_S,
VPN_DHCP_IP_S,
VPN_INTERNAL_NETWORK_ROUTE_S,
VPN_NETWORK_MASQUERADE_SRC_S,
VPN_INTERNAL_NETWORK_MASQUERADE_DST_S,
VPN_INTERNAL_IP_DEV_NAME_S,
VPN_SERVER_INT_FIREWALLD_ZONE_S,
VPN_PORT_CL;
4) из директории «ovpn-server0» запускаем скрипт «full_setup_vpn_server.sh».
=================
2.7. Скрипт «run_first.sh»
Разрешает форвардинг (перенаправление) трафика ipv4, что важно для осуществления доступа из VPN-сети в интранет.
=================
3. Описание основного файла конфигурации vpn.env
Параметры, относящиеся только к генерации сертификатов и конфига (например, «/etc/openvpn/server/server.conf») VPN-сервера (full_setup_vpn_server.sh):
* VPN_CONF_DIR_S — директория хранения файлов конфигурации OpenVPN. Дефолтное значение - «/etc/openvpn/server».
* VPN_SERVER_NAME_S — имя VPN-сервера в контексте возможности запуска нескольких экземпляров VPN в зависимости от имени файла конфигурации. Желательно, чтобы этот параметр совпадал с частью (ovpn-XXX) имени директории, где расположен файл «vpn.env»).
* IP_VPN_SERVER_S — ip-адрес интерфейса, смотрящего в Интернет.
* VPN_PORT_S — порт интерфейса, смотрящего в Интернет. Должен быть уникален, если в рамках одного хоста настроено более одного VPN-сервера.
* VPN_SERV_LOG_DIR_S — директория размещения логов VPN-сервера. Значение по умолчанию - /var/log/openvpn.
* VPN_MAX_CLIENTS_S — максимальное количество клиентов VPN-сервера. В топологии «subnet» при использовании подсети для VPN с маской 24 (или 255.255.255.0) максимально возможное кол-во клиентов равно 83. Значение по умолчанию — 32.
* VPN_NETWORK_S — описание VPN-сети в формате «SUBNET SUBNET-mask». Значение по умолчанию - «172.16.10.0 255.255.255.0». Должно быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.
* VPN_DHCP_IP_S — адрес встроенного DHCP. Значение по умолчанию — 172.16.10.1. Должен быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.
* VPN_INTERNAL_NETWORK_ROUTE_S — маршрут до интранета (параметр передаётся клиентам VPN-сервера при подключении), к которой необходим доступ из VPN-сети. Заполнять в соответствии с конкретными параметрами вашей сети.
* VPN_SERVER_LOG_LEVEL_S — уровень логирования VPN-сервера. Значение по умолчанию — 0.
* VPN_NETWORK_MASQUERADE_SRC_S — описание подсети VPN-сервера, необходимое при отправке директив фаерволу (firewalld). Должно быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.
* VPN_INTERNAL_NETWORK_MASQUERADE_DST_S — описание внутренней подсети, необходимое при отправке директив фаерволу (firewalld).
* VPN_INTERNAL_IP_DEV_NAME_S — имя интерфейса, смотрящего во внутреннюю сеть.
* VPN_TUN_DEV_NAME_S — имя интерфейса, используемого при старте VPN-сервера. Должен быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.
* VPN_SERVER_INT_FIREWALLD_ZONE_S — зона фаервола, к которой должны принадлежать интерфейсы:
а) VPN_TUN_DEV_NAME_S;
б) VPN_INTERNAL_IP_DEV_NAME_S;
в) интерфейс, являющийся дефолтовым гейтвэем для VPN-сервера.
Пункт (в) необходим только в том случае, если VPN-сервер предполагается использовать как шлюз по умолчанию для VPN-клиентов.
Параметры, относящиеся только к генерации клиентских сертификатов и конфига (create_cli_cert_and_conf.sh):
* IP_VPN_SERVER_CL — белый (и статичный) ip-адрес (или доменное имя), к которому необходимо обратиться VPN-клиенту для доступа к интрасети.
* VPN_PORT_CL — соответствующий порт для параметра IP_VPN_SERVER_CL.
* VPN_CLI_LOG_DIR_LINUX_CL — директория хранения лог-файлов, если клиент VPN-сервера — это хост с ОС Linux.
* VPN_CLI_LOG_LEVEL_CL — уровень логирования VPN-клиента.
Параметры EASY-RSA (используются как при генерации сертификатов как для VPN-сервера, так и для клиента):
* EASY_RSA_DIR_C — место расположения исполняемого файла easyrsa. Дефолтовое значение - /usr/share/easy-rsa/3.
* EASYRSA_CERT_EXPIRE_EV — время устаревания (в днях) выпущенных сертификатов (в т.ч. и корневого). Дефолтовое значение — 3654 дней (10 лет).
* EASYRSA_CRL_DAYS_EV – время устаревания (в днях) списка отзыва сертификатов (CRL). Дефолтовое значение — 3654 дней (10 лет).
* EASYRSA_KEY_SIZE_EV – размер ключа шифрования.
* EASYRSA_REQ_COUNTRY_EV – страна.
* EASYRSA_REQ_PROVINCE_EV – область.
* EASYRSA_REQ_CITY_EV – город.
* EASYRSA_REQ_ORG_EV – организация.
* EASYRSA_REQ_OU_EV – подразделение организации.
* EASYRSA_REQ_CN_EV – имя сервера.
* EASYRSA_REQ_EMAIL_EV – email-адрес администратора.
=================
4. Заключение
Не смотря на функциональность и гибкость (особенно при наличии оснастки, описанной, например, выше), у OpenVPN есть недостаток (присутствует и у аналогичных решений) — механизм списка отозванных сертификатов (который CRL).
Если удалить клиентский сертификат из директории «issued» (структура управления ключами easyrsa), то его отзыв (посредством команды revoke) при компрометации окажется недоступным, что создаёт вероятность использования такого сертификата злоумышленниками. И в этом случае единственным вариантом обезопасить интранет от посторонних глаз — перевыпуск корневого сертификата, что влечёт за собой необходимость перевыпуска остальных сертификатов.
Логично было бы генерировать не список отозванных сертификатов (CRL), а список актуальных сертификатов (например, Cert Actual List), но, видимо, разработчики OpenVPN (а также Easy-RSA), когда-то решили иначе, что создаёт необходимость очень тщательно следить за всеми выпущенными/отозванными сертификатами.
Часто продавцы VPN говорят, что их продукт защищает от хакеров и от правительства.
Это не совсем так, и сейчас мы расскажем вам, почему.
Максимально простым языком для не специалистов.
Представьте себе Гарри Поттера. Это мальчик, и если вы достаточно близко к нему подойдете, то сможете его увидеть.
А теперь представьте, что он надел плащ- невидимку. Теперь вы его не видите, однако если он начнет совершать некоторые действия (например, дразнить Гиппогрифа, щекоча ему ноздри метлой), вы сможете наблюдать результат этих действий.
Также плащ- невидимка не дает Гарри иммунитет к простуде и способности дышать под водой.
Однако, используя плащ-невидимку Гарри может попасть туда, куда ему закрыт вход - например, в раздевалку сборной Пуффендуя по квиддичу, и если он будет вести себя тихо, то никто не узнает о том, что он там был.
Что это значит?
Ваш провайдер по умолчанию видит и сохраняет лог всех ваших действий - когда и куда вы подключались. Когда вы включаете VPN - весь трафик скрыт от провайдера и идет через наш сервер.
Для провайдера это выглядит так, как будто вы выходите из дома, заходите в соседний и сидите там до тех пор, пока не вернетесь домой (отключите VPN). На самом деле в это время вы будете там, где захотите быть.
Хороший платный VPN не следит за вашими действиями и не ведет лог подключения.
Однако, это не уберегает вас от опасности тех мест, в которые вы можете попасть. Например, если вы разбрасываетесь своими данными, устанавливаете на свое устройство программы из непроверенных источников и публикуете непонятно что под своим аккаунтом - будьте готовы к последствиям.
Помните, самое уязвимое звено в любой системе безопасности - это человек!
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Объясняем максимально простым языком для не специалистов - как работают блокировки и что такое VPN.
Представьте себе, что компьютер - это большое обособленное здание.
В нем обитают человечки - данные. У здания может быть множество входных дверей.
Разные двери используются для разных служб - например, чтобы попасть на интернет-сайт вы наверняка зайдете через дверь №80 или №443, а для управляющего персонала используется дверь №22. По умолчанию дверей очень мало, но с появлением новых служб появляются новые двери.
Хороший хозяин оставляет двери только для того, чем он пользуется. Номера дверей унифицированы, но встречаются исключения - хитроумный хозяин мог устать от того, что непрошенные гости стучат ему в дверь №22 и замуровать её.
А управляющий персонал пускать через дверь №2222 или другую.
Двери - это сетевые порты вашего компьютера.
Интернет - это когда человечки перемещаются из одних зданий в другие по дорожным путям.
На дороге стоят стражники. Cтража может стоять на выходе из населенного пункта (вашей локальной или корпоративной сети), но обычно вы встречаете её на крупных перекрестках - у вашего провайдера. Если вы захотите, то сможете выставить стражу на входе в ваше здание,
Стражники - это файервол.
Задача стражников - спрашивать у человечков откуда они идут, куда и в какую дверь. И действуют в зависимости от инструкции - не пускать по определенному адресу, не пускать тех, кто идет в определенные двери, не пускать тех, кто идет из определенных мест.
Более того, стража ведет записи на тему того, кто, куда и когда ходил.
Как в этом контексте работает VPN? Все человечки из вашего здания идут только по одному адресу - в крепость, ходить в которую не запрещено. А уже оттуда разбредаются по всему интернету, встречая на дорогах лояльную, не отягощенную инструкциями стражу, которая говорит - "иди куда хочешь".
Что же до местной стражи? Она догадывается, зачем ваши человечки идут в крепость (впрочем, использование VPN тоже можно замаскировать), но не знает, кто они и куда пойдут дальше. И сегодня в их инструкциях сказано - пропускать.
А если им дадут новые инструкции - мы проложим новые пути !