User Authentifizierung gegen Radius – Fortinet

Früher oder später kommt man an den Punkt wo man seine User zentral Administrieren will. Und so z.B. seine Admin-User in einem Radiusserver hinterlegt.

Für Fortigates sind die Eintragungen einfach:
Im Radiusserver hinterlegt man nur das für Fortigate gültige admin-profil (hier in /etc/freeradius/users):

"fortiadmin" Cleartext-Password:= "fortiadmin"
        User-Service-Type = Login-User,
        Fortinet-Access-Profile = super_admin
"fortiread" Cleartext-Password:= "fortiread"
        User-Service-Type = Login-User,
        Fortinet-Access-Profile = read_only

Jetzt muss man der Fortigate Konfigurationen vornehmen
Als erstes legen wir ein „read_only“ Profile an und eins was garnichts darf („noaccess“), das ist für gültige User, die keine Fortigate VSAs haben.

config system accprofile
    edit "read_only"
        set admingrp read
        set authgrp read
        set endpoint-control-grp read
        set fwgrp read
        set loggrp read
        unset menu-file
        set mntgrp read
        set netgrp read
        set routegrp read
        set sysgrp read
        set updategrp read
        set utmgrp custom
        set vpngrp read
            config utmgrp-permission
                set antivirus read
                set application-control read
                set data-loss-prevention read
                set ips read
                set spamfilter read
                set webfilter read
            end
    next
    edit "noaccess"
        unset menu-file
    next
end

Wir konfigurieren einen Radiusserver (172.16.1.32) mit PSK 12345678

config user radius
    edit "freeradius"
        set all-usergroup enable
        set auth-type chap
        set nas-ip 172.16.1.2
        set secret 12345678
        set server "172.16.1.32"
    next
end

Dann legen wir eine User Gruppe an die den Server abfragt:

config user group
    edit "radadmin"
    set member "freeradius"         
    next
end

Und ordnen nun eine „Wildcardadmingruppe“ dieser Usergroup zu. Diese heißt hier „wildcard“

config system admin
    edit "wildcard"
        set remote-auth enable
        set accprofile "noaccess"
        set vdom "root"
        set wildcard enable
        set remote-group "radadmin"
        set radius-accprofile-override enable
        set radius-vdom-override enable
    next
end 

Jeder user („wildcard enable“) wird gegen Radius geprüft hat aber standardmäßig „noaccess“ als accprofile. Das verhindert das ein beliebiger gültiger Radiususer irgendwas auf der Fortigate darf.

Dieses accprofil kann (und muss) dann vom Radius überschrieben werden. Ebenso könnte man die vdom auf die ein User Zugriff hat spezifizieren. – Das wird hier aber nicht gemacht.

Lokale User werden lokal an der Fortigate verifiziert, alle anderen dank Wildcard im Radius nachgeschlagen.

SNMPv3 mit Alcatel Lucent Omniswitch

Will man SNMP auf einem Alcatel OmniSwitch nutzen sind die Befehle uU.. nicht völlig eingängig.

Will man einen v2 user zum lesen und einen v3 user zum schreibenden Zugriff haben ist folgendes nötig:


aaa authentication snmp local
user snmpv2user password 111222333 read-only all no auth
user snmpv3user password abcd1234 md5+des read-write all
snmp community map "public" user "snmpv2user" on
snmp security authentication set

– Zum authentifizieren nutzen wir die lokale Datenbank.
– Der User „snmpv2user“ angelegt und darf dank no auth auch snmp.
– Die SNMP community „public“ wird auf den user gemappt. Dank „no auth“ darf dieser snmp machen, fehlt das geht es nicht.
– Der User „snmpv3user“ darf dank „md5+des“ snmpv3 machen und nutzt auch die Privacy Extension -> Verschlüsselt.
– Mit „snmp security authentication set“ sagt man snmpv1/2c ist mit „get“ erlaubt für „set“ braucht man mindestens v3 gesigned.

Kontrolle:
>show snmp community map
Community mode : enabled
status community string user name
--------+--------------------------------+--------------------------------
enabled public snmpv2user
>show user
[..]
User name = snmpv3user,
Password expiration = None,
Password allow to be modified date = None,
Account lockout = None,
Password bad attempts = 0,
Read Only for domains = None,
Read/Write for domains = All ,
Snmp allowed = YES,
Snmp authentication = MD5,
Snmp encryption = DES,
Console-Only = Disabled
User name = snmpv2user,
Password expiration = None,
Password allow to be modified date = None,
Account lockout = None,
Password bad attempts = 0,
Read Only for domains = None,
Read/Write for domains = All ,
Snmp allowed = YES,
Snmp authentication = NONE,
Snmp encryption = NONE,
Console-Only = Disabled

Mit dem SNMP Tester von Paessler kann man schön überprüfen, ob man mit v2c/public oder dem v3 User reinkommt.

Zumindest im Paessler muss man wenn der user mit md5+des angelegt ist sowohl bei v3 Password und v3 encryption key das user Passwort angeben, nur eins reicht nicht.

Dank hierfür geht an Klaus Peras, der hat viel davon schon gewußt.

Im OmniVista macht man zur Nutzung für auto discovery folgendes
Discovery ->Ping Sweep -> Next
[New] SNMP Setup
Hier einen Namen angeben auf dem zweiten Reiter SNMPv3 angeben und auf dem letzten Reiter den Usernamen „Auth Method = MD5“ und Auth/Priv Password angeben.
Auf der nächsten Seite (Next) macht man eine Range und wählt das grade angelegte Setup.
Fertig.
Unter ->Toplogy -> Switches sollten die Geräte dann vorhanden sein.