Устанавливаем OpenConnect на Oracle Linux 9 с PAM-аутентификацией на основе локальных пользователей


Включаем маршрутизацию IPv4-пакетов между интерфейсами

echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/0-ocserv.conf
sysctl -w net.ipv4.ip_forward=1

Устанавливаем репозиторий EPEL

dnf install epel-release

Устанавливаем OpenConnect

dnf install ocserv

Генерируем самоподписанный сертификат и DH параметры

openssl req -x509 -newkey rsa:8192 -days 3650 -keyout /etc/ocserv/private.pem -out /etc/ocserv/public.pem -subj "/CN=$(uuidgen)/" -addext "subjectAltName=IP:1.2.3.4" -nodes
openssl dhparam -out /etc/ocserv/dh.pem 8192

Редактируем файл /etc/ocserv/ocserv.conf

auth = "pam"
tcp-port = 443
udp-port = 443
server-cert = /etc/ocserv/public.pem
server-key = /etc/ocserv/private.pem
dh-params = /etc/ocserv/dh.pem
max-clients = 0
max-same-clients = 0
log-level = 1
device = ocs
default-domain = domain.corp
ipv4-network = 192.168.100.0/24
dns = 10.10.1.1
route = 10.10.0.0/16
camouflage = true
camouflage_secret = "c767ccd0-9aa4-49dd-8d75-02bf6dca171b"
camouflage_realm = "0ff89d28-dd03-4d50-b538-455eef138daf"

Редактируем файл /etc/pam.d/ocserv

auth			[success=ok default=die]		pam_succeed_if.so quiet user ingroup vpn_users
auth			[success=1 default=bad]			pam_unix.so
auth			[default=die]					pam_faillock.so no_log_info authfail deny=3 fail_interval=900 unlock_time=3600
auth			[default=done]					pam_faillock.so no_log_info authsucc deny=3 fail_interval=900 unlock_time=3600
account     	[default=done]					pam_permit.so

Создаем пользователей

groupadd vpn_users
useradd --no-create-home --no-user-group --groups vpn_users test
passwd test

Замечание 1: изменить членство пользователя в группе можно командой gpasswd

Замечание 2: просмотреть список пользователей группы можно командой lid -g

Тестируем аутентификацию

pamtester -v ocserv test authenticate
faillock --user test

На клиенте устанавливаем через Microsoft Store приложение AnyConnect и добавляем новое VPN-подключение

  VPN Provider - AnyConnect
  Conection Name - AnyConnect
  Hostname - https://1.2.3.4?c767ccd0-9aa4-49dd-8d75-02bf6dca171b

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