مرحبًا كريم، أحتاج إلى إعداد مصادقة متعددة العوامل لشبكة Mikrotik VPN الخاصة بي. هنا هو المطلب.

1. إصدار FreeRADIUS 3.0.16
2. أوبنLDAP / phpLDAPadmin
3. وزارة الخارجية (BSA)

اعتبارًا من الآن، قمت بإعداد radius وopenldap وphpLDAPadmin وعملت بشكل جيد. بالنسبة لـ MFA، قمت بإنشاء ملفين تنفيذيين باسم bsa و bsa\_cancel. رمز التفاصيل في الملف المنفذ على النحو التالي.

ملف بسا:-

إكسيك بسا {
 انتظر = نعم
 input\_pairs = request
 الناتج\_أزواج = الرد
 البرنامج = "/usr/bin/Java -cp /etc/freeradius/3.0/mods-available/bsa-authenticator/lib/\* -Dlogback.configurationFile=/etc/freeradius/3.0/mods-available/bsa-authenticator/ config/logback.xml -DbsaType=request -DbsaURL=https://example.com -DbsaClientKey=clientKey -DbsaID='%{User-Name}' com.app.auth.Authenticator"
 شل\_escape = نعم
 المهلة = 30
}

bsa\_إلغاء الملف:-

إكسيك بسا\_إلغاء{
 انتظر = نعم
 input\_pairs = request
 الناتج\_أزواج = الرد
 البرنامج = "/usr/bin/Java -cp /etc/freeradius/3.0/mods-available/bsa-authenticator/lib/\* -Dlogback.configurationFile=/etc/freeradius/3.0/mods-available/bsa-authenticator/ config/logback.xml -DbsaType=cancel -DbsaURL=https://example.com -DbsaClientKey=clientKey -DbsaID='%{User-Name}' com.app.auth.Authenticator"
 شل\_escape = نعم
 المهلة = 30
}

سيشير كلا ملفي التنفيذ إلى وحدة bsa-authenticator الموجودة في /etc/freeradius/3.0/mods-available/bsa-authenticator. هذه هي وحدة مكتبة جافا في ملف بتنسيق .jar.

الآن هناك وقضية مع وزارة الخارجية (BSA). بالنسبة لتكوين MFA، قمت بإجراء تغييرات في الملف أدناه: -

/etc/freeradius/3.0/sites-available/default

التغييرات التي تم إجراؤها في كتلة المصادقة عن طريق التمكين: -

مصادقة نوع LDAP {
 ldap
 }
 
ويضاف أدناه لـ MFA: -

مصادقة نوع BSA {
 bsa
 }
 
في كتلة ما بعد المصادقة، ضمن ldap أضفت عبارة "if else" كما هو موضح أدناه لـ LDAP وMFA.

 ldap

 إذا موافق){
 بسا {
 فاشل = 9
 }
 إذا (رد: نوع المصادقة == "رفض"){
 if("%{reply:Ldap-Group-Name}" =~ /^cn=.\*,cn=(.\*),ou=Client,dc=dev-ldap,dc=fnsmalaysia,dc=com$ /){
 تحديث الرد {
 Ldap-Group-Name := "%{1}"
 الرد-الرسالة := الرد:الرد-الرسالة
 }
 }آخر{
 تحديث الرد {
 رسالة الرد := "اسم المجموعة غير معروف."
 }
 يرفض
 }
 }آخر{
 تحديث الرد {
 نوع المصادقة := الرد: نوع المصادقة
 الرد-الرسالة := الرد:الرد-الرسالة
 }
 يرفض
 }
 }آخر{
 bsa\_cancel
 يرفض
 }
 
المشكلة الآن هي أن المصادقة لا تنتظر اكتمال MFA (BSA) والموافقة على المصادقة على الفور. هل يمكنك مساعدتي على ذلك؟
{"evolved_from": null, "kind": "human", "source": "ewof/sharegpt-instruct-unfiltered-deduped"}