Telegram botlu OpenVPN'de iki faktörlü kimlik doğrulama

Makalede, bağlanırken onay isteği gönderecek bir Telegram botu ile iki faktörlü kimlik doğrulamayı etkinleştirmek için bir OpenVPN sunucusunun kurulması açıklanmaktadır.

OpenVPN, çalışanların dahili kurumsal kaynaklara güvenli erişimini düzenlemek için yaygın olarak kullanılan, iyi bilinen, ücretsiz, açık kaynaklı bir VPN sunucusudur.

Bir VPN sunucusuna bağlanmak için kimlik doğrulama olarak genellikle bir anahtar ve kullanıcı oturum açma adı/şifresinin birleşimi kullanılır. Aynı zamanda istemcide saklanan şifre, tüm seti yeterli düzeyde güvenlik sağlamayan tek bir faktöre dönüştürür. Bir istemci bilgisayara erişim sağlayan saldırgan, aynı zamanda VPN sunucusuna da erişim kazanır. Bu özellikle Windows çalıştıran makinelerden gelen bağlantılar için geçerlidir.

İkinci faktörün kullanılması, yetkisiz erişim riskini %99 oranında azaltır ve kullanıcılar için bağlantı sürecini hiçbir şekilde zorlaştırmaz.

Hemen bir rezervasyon yapayım: uygulama için, ihtiyaçlarınız için ücretsiz bir tarife kullanabileceğiniz üçüncü taraf bir kimlik doğrulama sunucusu multifactor.ru'ya bağlanmanız gerekecek.

Çalışma prensibi

  1. OpenVPN, kimlik doğrulama için openvpn-plugin-auth-pam eklentisini kullanır
  2. Eklenti, sunucudaki kullanıcının şifresini kontrol eder ve Multifactor hizmetindeki RADIUS protokolü aracılığıyla ikinci faktörü ister.
  3. Multifactor, Telegram botu aracılığıyla kullanıcıya erişimi onaylayan bir mesaj gönderir
  4. Kullanıcı, Telegram sohbetindeki erişim isteğini onaylar ve VPN'ye bağlanır

OpenVPN sunucusu kurma

İnternette OpenVPN'i kurma ve yapılandırma sürecini anlatan birçok makale var, bu yüzden bunları çoğaltmayacağız. Yardıma ihtiyacınız varsa makalenin sonunda öğreticilere yönelik çeşitli bağlantılar bulunmaktadır.

Multifactor'u ayarlama

Git Çok faktörlü kontrol sistemi, "Kaynaklar" bölümüne gidin ve yeni bir VPN oluşturun.
Oluşturulduktan sonra kullanabileceğiniz iki seçeneğiniz olacaktır: NAS Tanımlayıcı и Paylaşılan Sır, sonraki yapılandırma için gerekli olacaklardır.

Telegram botlu OpenVPN'de iki faktörlü kimlik doğrulama

"Gruplar" bölümünde, "Tüm kullanıcılar" grup ayarlarına gidin ve "Tüm kaynaklar" işaretini kaldırın, böylece yalnızca belirli bir grubun kullanıcıları VPN sunucusuna bağlanabilir.

Yeni bir "VPN kullanıcıları" grubu oluşturun, Telegram dışındaki tüm kimlik doğrulama yöntemlerini devre dışı bırakın ve kullanıcıların oluşturulan VPN kaynağına erişimi olduğunu belirtin.

Telegram botlu OpenVPN'de iki faktörlü kimlik doğrulama

"Kullanıcılar" bölümünde, VPN'ye erişimi olacak kullanıcıları oluşturun, bunları "VPN kullanıcıları" grubuna ekleyin ve onlara ikinci kimlik doğrulama faktörünü yapılandırmaları için bir bağlantı gönderin. Kullanıcı oturum açma bilgileri VPN sunucusundaki oturum açma bilgileriyle eşleşmelidir.

Telegram botlu OpenVPN'de iki faktörlü kimlik doğrulama

OpenVPN sunucusu kurma

Dosyayı aç /etc/openvpn/server.conf ve PAM modülünü kullanarak kimlik doğrulama için bir eklenti ekleyin

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

Eklenti dizinde bulunabilir /usr/lib/openvpn/plugins/ veya /usr/lib64/openvpn/plugins/ sisteminize bağlı olarak.

Daha sonra pam_radius_auth modülünü kurmanız gerekiyor

$ sudo yum install pam_radius

Dosyayı düzenlemek için açın /etc/pam_radius.conf ve Multifactor'un RADIUS sunucusunun adresini belirtin

radius.multifactor.ru   shared_secret   40

burada:

  • radius.multifactor.ru — sunucu adresi
  • paylaşılan_secret - ilgili VPN ayarları parametresinden kopyalayın
  • 40 saniye - büyük marjlı bir isteğin beklenmesi için zaman aşımı

Kalan sunucular silinmeli veya yorumlanmalıdır (başlangıçta noktalı virgül koyun)

Ardından, hizmet türü openvpn için bir dosya oluşturun

$ sudo vi /etc/pam.d/openvpn

ve içine yaz

auth    required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth    substack     password-auth
account substack     password-auth

İlk satır pam_radius_auth PAM modülünü aşağıdaki parametrelere bağlar:

  • skip_passwd - kullanıcının şifresinin RADIUS Multifactor sunucusuna aktarımını devre dışı bırakır (bunu bilmesine gerek yoktur).
  • client_id - [NAS Tanımlayıcısı]'nı VPN kaynak ayarlarındaki ilgili parametreyle değiştirin.
    Olası tüm parametreler şurada açıklanmıştır: modül için belgeler.

İkinci ve üçüncü satırlar, sunucunuzdaki kullanıcı adı, parola ve kullanıcı haklarının sistem doğrulamasının yanı sıra ikinci bir kimlik doğrulama faktörünü içerir.

OpenVPN'i yeniden başlatın

$ sudo systemctl restart openvpn@server

İstemci kurulumu

İstemci yapılandırma dosyasına kullanıcı adı ve parolası için bir istek ekleyin

auth-user-pass

Kontrol

OpenVPN istemcisini başlatın, sunucuya bağlanın, kullanıcı adınızı ve şifrenizi girin. Telegram botu iki düğmeyle bir erişim isteği gönderecek

Telegram botlu OpenVPN'de iki faktörlü kimlik doğrulama

Bir düğme erişime izin veriyor, ikincisi ise engelliyor.

Artık şifrenizi istemciye güvenle kaydedebilirsiniz; ikinci faktör, OpenVPN sunucunuzu yetkisiz erişime karşı güvenilir bir şekilde koruyacaktır.

Bir şey işe yaramazsa

Hiçbir şeyi kaçırmadığınızı sırayla kontrol edin:

  • OpenVPN'li sunucuda şifre ayarlanmış bir kullanıcı var
  • Sunucunun UDP bağlantı noktası 1812 üzerinden radius.multifactor.ru adresine erişimi vardır.
  • NAS Tanımlayıcı ve Paylaşılan Sır parametreleri doğru şekilde belirtildi
  • Multifactor sisteminde aynı oturum açma bilgilerine sahip bir kullanıcı oluşturuldu ve VPN kullanıcı grubuna erişim izni verildi
  • Kullanıcı kimlik doğrulama yöntemini Telegram aracılığıyla yapılandırdı

Daha önce OpenVPN kurmadıysanız okuyun detaylı makale.

Talimatlar CentOS 7'deki örneklerle yapılmıştır.

Kaynak: habr.com

Yorum ekle