Folosim AWS SSO cu TOTP peste RADIUS. Serverul nostru RADIUS este un FreeRADIUS cu linotp-auth-freeradius-perl.
Problema este că conexiunea dintre AWS SSO și FreeRADIUS nu este complet de încredere - există anumite perioade, când pare să existe o pierdere semnificativă de pachete între ele.
RADIUS folosește UDP, ceea ce înseamnă că chiar și un singur pachet de returnare pierdut poate cauza eșec de autentificare. AWS SSO încearcă din nou, după ceva timp, dar TOTP RFC interzice utilizarea aceleiași valori a simbolului de două ori, iar prima încercare a epuizat TOTP.
Deci, există multe jurnale precum:
24/05/2022 - 05:59:49 WARNI {140508089116416} [linotp.tokens.totptoken][checkOtp #429] [checkOTP] a fost folosită din nou o valoare OTP anterioară!
fost tokencounter: 55112395, contor prezentat 55112395
Și mulți utilizatori nu se pot conecta la AWS SSO chiar și cu mai multe încercări.
Caut idei despre cum să îmbunătățesc fiabilitatea acestui lucru.Nu am putut găsi o modalitate ca FreeRADIUS să-l facă să trimită mai multe pachete de răspuns cu o oarecare întârziere (de exemplu, 10 pachete la fiecare 1 secundă), ceea ce ar face mult mai puțin probabil ca fiecare pachet de răspuns să se piardă.
Dar poate că există o modalitate ca nucleul Linux să dubleze astfel de pachete de răspuns de mai multe ori cu întârzieri tot mai mari. Dacă există, atunci cum? În același timp, evitând duplicarea acestor duplicate din nou, ceea ce, deși oarecum amuzant de gândit, nu este mai degrabă de dorit...
Nu cred că AWS SSO acceptă alt protocol pentru a utiliza TOTP decât RADIUS (cu UDP), dar s-ar putea să mă înșel. Vă rog să mă corectați dacă acesta este cazul.