OpenVPN+RADIUS - даже при неправильном пароле пускает в сеть

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Jeque
рядовой
Сообщения: 45
Зарегистрирован: 2009-01-23 12:28:33

OpenVPN+RADIUS - даже при неправильном пароле пускает в сеть

Непрочитанное сообщение Jeque » 2014-05-15 13:14:45

Приветствую коллеги.
Столкнулся со странной ситуацией. Настроил связку OpenVPV+RADIUS по широко известным в сети мануалам. Например тут:
http://openvpn.net/archive/openvpn-user ... 00323.html
или тут:
https://doc.pfsense.org/index.php/Using ... FreeRADIUS

Конфиги выглядят следующим образом:

/etc/pam.d/openvpn

Код: Выделить всё

#%PAM-1.0
auth            sufficient      pam_radius.so   debug
account         sufficient      pam_permit.so
session         sufficient      pam_permit.so
/etc/radius.conf

Код: Выделить всё

auth 192.168.1.230 password 3 2
Конфиг OpenVPN:

Код: Выделить всё

mode server
local 111.111.111.111
port 1194
proto udp
dev tun1
management 192.168.0.2 8330
ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh2048.pem
server 10.1.1.0 255.255.255.0
topology subnet
ifconfig-pool-persist /usr/local/etc/openvpn/ipp1.txt 3600
push "dhcp-option DNS 192.168.1.251"
push "dhcp-option DOMAIN domain.ru"
client-config-dir ccd
route 192.168.10.0 255.255.255.0 10.1.1.1
tls-server
tls-auth keys/ta.key 0
tls-timeout 30
auth SHA1
cipher BF-CBC
keepalive 5 15
comp-lzo
max-clients 100
user nobody
group nobody
persist-key
persist-tun
persist-local-ip
persist-remote-ip
push "persist-key"
push "persist-tun"

plugin /usr/local/lib/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

status /var/log/openvpn/openvpn_udp_bee-status.log
log /var/log/openvpn/openvpn_udp_bee.log
verb 4
mute 20
Пробуем подключаться с правильным логином и паролем:

Код: Выделить всё

AUTH-PAM: BACKGROUND: received command code: 0
AUTH-PAM: BACKGROUND: USER: user
AUTH-PAM: BACKGROUND: my_conv[0] query='RADIUS Password:' style=1
Thu May 15 13:51:17 2014 us=161928 91.77.214.118:1194 PLUGIN_CALL: POST /usr/local/lib/openvpn/plugins/openvpn-plugin-auth-pam.so/PLUGIN_AUTH_USER_PASS_VERIFY status=0
Thu May 15 13:51:17 2014 us=161976 91.77.214.118:1194 TLS: Username/Password authentication succeeded for username 'user'
На сервере RADIUS в логах пишет:
"User user was granted access"

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

Код: Выделить всё

AUTH-PAM: BACKGROUND: received command code: 0
AUTH-PAM: BACKGROUND: USER: user
AUTH-PAM: BACKGROUND: my_conv[0] query='RADIUS Password:' style=1
AUTH-PAM: BACKGROUND: my_conv[0] query='pam_radius: pam_sm_authenticate: Radius rejection' style=3
Thu May 15 13:56:39 2014 us=534837 195.16.56.106:1194 PLUGIN_CALL: POST /usr/local/lib/openvpn/plugins/openvpn-plugin-auth-pam.so/PLUGIN_AUTH_USER_PASS_VERIFY status=0
Thu May 15 13:56:39 2014 us=534883 195.16.56.106:1194 TLS: Username/Password authentication succeeded for username 'user'
На сервере RADIUS в логах пишет:
"User user was denied access"
"Reason = Authentication was not successful because an unknown user name or incorrect password was used."

И при этом, VPN прекрасно работает. Причём, можно даже ввести несуществующий логин и пароль и сервер всё равно пустит в сеть.

Собственно вопрос: почему это происходит? Где я напутал в конфигурации, что независимо от ответа RADIUS-сервера, сессия OpenVPN запускается и работает?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Jeque
рядовой
Сообщения: 45
Зарегистрирован: 2009-01-23 12:28:33

Re: OpenVPN+RADIUS - даже при неправильном пароле пускает в

Непрочитанное сообщение Jeque » 2014-05-15 14:56:02

Похоже, нашёл в чём проблема. Файл /etc/pam.d/openvpn должен выглядеть следующим образом:

Код: Выделить всё

#%PAM-1.0
auth            requisite       pam_radius.so
account         optional        pam_permit.so
session         optional        pam_permit.so
password        optional        pam_permit.so
По крайней мере у меня всё заработало, как надо: при правильном логине и пароле пускает, при неправильном не пускает и просит ввести заново.