====== Empfehlungen für die Verwendung des "Radius-Health-Check" ====== Der Radius-Health-Check (RHC) ist seit AOS 6.7.1.R03 in der AOS Software enthalten und soll für per MAC oder 802.1x-authentifizierte Nutzer eine schnellere Fehlererkennung ermöglichen wenn der RADIUS nicht verfügbar ist / nicht antwortet. Der eingerichtete RADIUS "rad01" wird nach Eingabe des Kommandos ''aaa radius-health-check name status enable'' periodisch abgefragt. OS6450-P10-> show configuration snapshot aaa ! AAA : aaa radius-server "rad01" host 192.168.5.1 key 3851dff6d9e5ddb1d77cba2e58159549 retransmit 3 timeout 2 auth-port 1812 acct-port 1813 aaa authentication default "local" user password-size min 9 user password-policy min-uppercase 1 user password-policy min-lowercase 1 user password-policy min-digit 1 user password-policy min-nonalpha 1 aaa switch-access mode enhanced aaa radius-health-check name "rad01" status enable Eine Anpassung des Benutzernamen/Passwort die für die Anfrage genutzt werden ist möglich, aber unnötig und aus meiner Sicht **nicht** zu empfehlen. Der Radius-Health-Check prüft ob der RADIUS auf die Anfrage antwortet. Es ist dabei egal ob ein Access-Accept, Access-Challenge oder Access-Reject zurückgemeldet wird. In jedem Fall gilt der Server als "UP". **Ein gültiger RADIUS-Account führt im schlimmsten Fall zu einem Sicherheitsproblem, daher halte ich es für sinnvoll den verwendeten Account zu deaktivieren und auf Basis des "Access-Reject" zu arbeiten.** Wir streben in AOS 6.7.1.**R05** weitere Verbesserungen an dieser Funktion an, bis dahin möchte ich mit folgenden Hinweisen zu einem möglichst sicheren Betrieb beitragen. Anfrage eines OmniSwitch am RADIUS per Radius-Health-Check (ohne Korrekturen an der RADIUS-Konfiguration): rad_recv: Access-Request packet from host 192.168.5.102 port 1071, id=79, length=73 User-Name = "alcatel" EAP-Message = 0x0250000c01616c636174656c NAS-IP-Address = 172.18.16.42 NAS-Port-Type = Ethernet Message-Authenticator = 0x39b53e4608b9fd6bd8d2f9cbccb35266 # Executing section authorize from file /etc/freeradius/sites-enabled/default +group authorize { ++[preprocess] = ok ++[chap] = noop ++[mschap] = noop ++[digest] = noop [suffix] No '@' in User-Name = "alcatel", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] = noop [eap] EAP packet type response id 80 length 12 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] = updated [files] users: Matched entry alcatel at line 105 ++[files] = ok ++[expiration] = noop ++[logintime] = noop [pap] WARNING: Auth-Type already set. Not setting to PAP ++[pap] = noop +} # group authorize = updated Found Auth-Type = EAP # Executing group from file /etc/freeradius/sites-enabled/default +group authenticate { [eap] EAP Identity [eap] processing type md5 rlm_eap_md5: Issuing Challenge ++[eap] = handled +} # group authenticate = handled Sending Access-Challenge of id 79 to 192.168.5.102 port 1071 EAP-Message = 0x0151001604106d6476e552bfc4fcef07042a5881e0b3 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xab784abcab294ef8bc3a9ed9189b7460 Finished request 16. Going to the next request Waking up in 4.9 seconds. Cleaning up request 16 ID 79 with timestamp +824 Ready to process requests. Es fallen eine Reihe von Dingen auf: * NAS-IP-Address "172.18.16.42" ist nicht korrekt * EAP in der Anfrage enthalten, obwohl es PAP sein sollte * User-Password fehlt, daher ist die ganze Anfrage hinfällig (und daher auch ein benutzerdefinierten Passwort überflüssig) * Die enthaltene EAP-Identity führt zu einer EAP-MD5 Challenge, die den RADIUS unnötig beschäftigt * Der Request muss in den "cleanup_delay" laufen Daher meine Empfehlung für den RHC-Benutzer in ''/etc/freeradius/users'': # Deaktivierter Benutzer fuer OmniSwitch Radius-Health-Check "alcatel" Auth-Type := Reject Ergebnis: rad_recv: Access-Request packet from host 192.168.5.102 port 1093, id=123, length=73 User-Name = "alcatel" EAP-Message = 0x027c000c01616c636174656c NAS-IP-Address = 172.18.16.42 NAS-Port-Type = Ethernet Message-Authenticator = 0x45f67b77eb649c1baf1c5df5011e23d1 # Executing section authorize from file /etc/freeradius/sites-enabled/default +group authorize { ++[preprocess] = ok ++[chap] = noop ++[mschap] = noop ++[digest] = noop [suffix] No '@' in User-Name = "alcatel", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] = noop [eap] EAP packet type response id 124 length 12 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] = updated [files] users: Matched entry alcatel at line 105 ++[files] = ok ++[expiration] = noop ++[logintime] = noop [pap] WARNING: Auth-Type already set. Not setting to PAP ++[pap] = noop +} # group authorize = updated Found Auth-Type = Reject Auth-Type = Reject, rejecting user Failed to authenticate the user. Using Post-Auth-Type REJECT # Executing group from file /etc/freeradius/sites-enabled/default +group REJECT { [attr_filter.access_reject] expand: %{User-Name} -> alcatel attr_filter: Matched entry DEFAULT at line 11 ++[attr_filter.access_reject] = updated +} # group REJECT = updated Delaying reject of request 0 for 1 seconds Going to the next request Waking up in 0.9 seconds. Sending delayed reject for request 0 Sending Access-Reject of id 123 to 192.168.5.102 port 1093 Waking up in 4.9 seconds. Cleaning up request 0 ID 123 with timestamp +9 Ready to process requests. Auf dem Switch sieht dies so aus: OS6450-P10-> show aaa server Server name = rad01 Server type = RADIUS, IP Address 1 = 192.168.5.1, Retry number = 3, Time out (sec) = 2, Authentication port = 1812, Accounting port = 1813, Nas port = default, Nas port id = disable, Nas port type = ethernet, Mac Addr Format Status = disable, Mac Address Format = uppercase, Unique Acct Session Id = disable, Health Check Status = ENABLED, Server oper status = UP, Primary oper status = UP, Polling interval = 50, User name = alcatel, Failover Status = DISABLED