Formatting code for SecutiryRadiusCiscoVPN


show source only

{{parent page="Security"}}

==Using Radius as auth backend for Cisco VPN==
Ref: http://www.ibm.com/developerworks/library/l-radius/

===Install freeradiusd===
%%
yum -y install freeradius
%%

===Start service and perform basic test===
%%
service radiusd start
chkconfig radiusd on
radtest test test localhost 0 testing123
%%

===Configure logging for radiusd===
%%(text;radiusd.conf)
log_auth = yes
log_auth_badpass = no
log_auth_goodpass = no
%%

=== Configure client shared secret ===
%%
# Make sure this IP is the inside address
client FIREWALL-IP {
secret = some-shared-secret
shortname = cisco-vpn
nastype = other
}

%%

===Create a local user and test===
%%
useradd -gvpn client1
passwd client1 < "some-pass"
%%

For system auth to work, /etc/shadow needs to be readable by the radiusd user. Do what you have to (hint: chmod)

===test it===
%%
> radtest client1 some-pass localhost 0 testing123
Sending Access-Request of id 79 to 127.0.0.1 port 1812
User-Name = "client1"
User-Password = "some-pass"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=79, length=20

> tail -1 /var/log/radius/radius.log
Thu Feb 18 23:20:23 2010 : Auth: Login OK: [client1/some-pass] (from client localhost port 0)
%%


===Set this up to be used with cisco: ===
%%(text;clients.conf)
client1 Auth-Type = System
Service-Type = Framed-User,
cisco-avpair = "shell:priv-lvl=15"
%%

Auth should be ok and the specified service type should be returned.
%%
> radtest client1 some-pass localhost 0 testing123
Sending Access-Request of id 77 to 127.0.0.1 port 1812
User-Name = "client1"
User-Password = "some-pass"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=77, length=51
Service-Type = Framed-User
Cisco-AVPair = "shell:priv-lvl=15"
%%


===Firewall===
I'm not a cisco guy but here's the config
%%
aaa-server RADIUS protocol radius
aaa-server RADIUS (web) host 1.2.3.4
key radius-secret-here
authentication-port 1812

tunnel-group inmarkit_vpn type ipsec-ra
tunnel-group inmarkit_vpn general-attributes
address-pool mypool
default-group-policy client_vpn
authentication-server-group RADIUS
authentication-server-group (web) RADIUS

tunnel-group client_vpn ipsec-attributes
pre-shared-key xxx
%%
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki