RADIUS in Perl: Radiator



Ähnliche Dokumente
Proceedings des Deutschen Perl Workshops

Radius Server. Bericht im Studiengang Computerengineering an der HS-Furtwangen. Student: Alphonse Nana Hoessi Martikelnr.:227106

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

eduroam - Weltweit ins Netz und doch sicher Steffen Klemer Gesellschaft für Wissenschaftliche Datenverarbeitung Göttingen

Erfahrungsbericht Cisco & Remote Access (Radius)

RADIUS. Moritz Blanke (KaWo1) TANAG 2017

RADIUS (Remote Authentication Dial In User Service)

RADIUS Protokoll + Erweiterungen

Windows 7 mittels Shrew Soft VPN Client per VPN mit FRITZ!Box 7390 (FRITZ!OS 6) verbinden

Checkliste. Installation NCP Secure Enterprise Management

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Diameter. KM-/VS-Seminar. Wintersemester 2002/2003. schulze_diameter.ppt Christian Schulze_03-Februar-07

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

1PPP. Copyright 18. November 2004 Funkwerk Enterprise Communications GmbH Bintec Benutzerhandbuch - VPN Access Reihe Version 1.0

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

HowTo: Einrichtung einer IPSec Verbindung mit einem IPSEC VPN Client zum DWC-1000 am Beispiel der Shrewsoft VPN Clientsoftware

Lehrveranstaltung Grundlagen von Datenbanken

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Scharl 2010 Dokument ist Urheberrechtlich geschützt. Port Forwarding via PuTTY und SSH. Was ist Port forwarding?

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Beispielkonfiguration eines IPSec VPN Servers mit dem NCP Client

Man liest sich: POP3/IMAP

Einrichtung von radsecproxy. Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Konfigurationsanleitung Fax over IP (T.38) und CAPI Fax Server (T.30) Graphical User Interface (GUI) Seite - 1 -

Virtual Private Network

BitDefender Client Security Kurzanleitung

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Grundkonfiguration des Routers. - Ein Bootimage ab Version 7.4.x.

Konfiguration des Wireless Breitband Routers.

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Monitoring Wissen, was passiert. Wissen, was zu tun ist. Thorsten Kramm SLAC 2011

D r e ISP S P i m K l K as a s s e s n e r n au a m H.Funk, BBS II Leer

IP-COP The bad packets stop here

KN Das Internet

a.i.o. control AIO GATEWAY Einrichtung

How to install freesshd

Fachbereich Medienproduktion

Eine ausführliche Anleitung finden Sie auf den folgenden Seiten.

FTP Tutorial. Das File Transfer Protocol dient dem Webmaster dazu eigene Dateien wie z.b. die geschriebene Webseite auf den Webserver zu laden.

OP-LOG

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Flowy Apps erzählt eine kurze Geschichte über REDS. Remotely Encrypted Distributed Storage

Applikationsbeispiel für VPN Verbindung mit dem ZR150G und Net-Net Router

IPv6 only under Linux

Einrichtung von VPN für Mac Clients bei Nortel VPN Router

msm net ingenieurbüro meissner kompetent - kreativ - innovativ

Inhalt. Erreichbarkeit von VPN-Gateways hinter einem Genexis FTTH-Abschlussrouter

Konfigurationsanleitung Standortkopplung mit T444 (ISDN) und RT1202 (SIP) Graphical User Interface (GUI) Seite - 1 -

IEEE 802.1x, Dynamic ARP Inspection und DHCP Snooping. von Thorsten Dahm

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Anleitung: Confixx auf virtuellem Server installieren

Remote Access Service (RAS) für iphone und ipad

Windows Integration. von Tino Truppel

RARP, BOOTP, DHCP Wie ermittelt ein Client seine IP-Adresse?

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

1PPP. Copyright 25. Februar 2005 Funkwerk Enterprise Communications GmbH Bintec Benutzerhandbuch - XGeneration Version 1.0

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Informationen zum. LANCOM Management System (LCMS) Version 9.10 Rel

IEEE 802.1x Erfahrungsbericht aus der Fraunhofergesellschaft

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems

WLAN Konfiguration. Michael Bukreus Seite 1

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

ASV-Betrieb für die Coburger Schulen. Einbindung externer Schulen via RemoteApp

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Nagios. Jens Link September Jens Link () Nagios September / 1

NetDot und RANCID. Jens Link. NetDot und RANCID. Jens Link IPv6 1 / 24

OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Bedienungsanleitung für den Dokumentenserver

Installationsbeschreibung Flottenmanager 7.1

Grundlegende Informationen zur Einrichtung des SSLVPN beim DSR-1000N/DSR-500N(FW 1.03B27).

IPv6. Übersicht. Präsentation von Mark Eichmann Klasse WI04f 22. November 2005

Dynamisches VPN mit FW V3.64

Cisco AnyConnect VPN Client - Anleitung für Windows7

Switching. Übung 9 EAP 802.1x. 9.1 Szenario

HowTo: erweiterte VLAN Einrichtung & Management von APs mittels des DWC- 1000/DWS-4026/DWS-3160

WLAN an der Ruhr-Universität Bochum

VPN/WLAN an der Universität Freiburg

Herzlich Willkommen. Roland Kistler. Tel. +49 (89) Sales Engineer. Folie 1

AlwinPro Care Modul Schnittstelle TV-Steuerung

Konfigurationsanleitung Standortkopplung mit SIP Trunking (Client / Server) Graphical User Interface (GUI) Seite - 1 -

Aufgabe 12.1b: Mobilfunknetzwerke

WLAN: Single SSID + Multiple VLANs = Multicast-Problem

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo

{tip4u://033} VPN mit Mac OS X

Grundlegende Informationen zur Einrichtung des SSLVPN beim DSR-500N/1000N (FW 1.04Bxx).

Remote Tools. SFTP Port X11. Proxy SSH SCP.

VIRTUAL PRIVATE NETWORKS

Formular»Fragenkatalog BIM-Server«

1. Integration von Liferay & Alfresco 2. Single Sign On mit CAS

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Technische Grundlagen von Internetzugängen

Transkript:

RADIUS in Perl: Radiator 11. Deutscher Perl Workshop Kurt Jaeger, pi@nepustil.net http://www.nepustil.net/ Frankfurt, 27. Februar 2009

Übersicht Kurzvorstellung Meta-Ebene RADIUS Radiator Perl Beispiele

Kurzvorstellung Geschäftsführer eines regionalen ISPs (Dr.-Ing. Nepustil & Co. GmbH) Vorstand ISP Service eg Perl Anwender seit 1992 (ab 4.0) Radiator Anwender seit 1998

Meta-Ebene Anwendung vorstellen Nutzt Perl Stärken ist weltweit verbreitet und: völlig unbekannt wirtschaftliche Relevanz Schlüsselfunktion Abrechnung Lizenzpflichtige Software

Was ist RADIUS? Remote Authentication Dial In User Service Spec: RFC2865 (und weitere), siehe auch RFC5080 Kurz: Username + Passwort: Zugriff erlauben oder verweigern Zugangskontrolle für NAS Devices AAA: Authentication: Who s calling whom? Authorisation: What resource is he allowed to access? Accounting: How much resources were used?

Kurze Geschichte TACACS RADIUS Diameter (RFC3588)

Was sind NAS Devices? Network Access Server Dialin-Router (Portmaster, Ascend, Cisco, Funkwerk,...) BBRAS der Telekom WLAN Access Points Ethernet Switche Unix Hosts (PAM!), auch andersrum Anderer Name: RAS (Remote Access Server) Nicht verwechseln mit Network Attached Storage!... Geräte, die selbst keine Kennungen speichern, verwenden RADIUS

Ausführlicher: Welche Form von Zugriff? address assignment address filtering route assignment QoS/differential services bandwidth control/traffic management compulsory tunneling to a specific endpoint encryption...

Wie funktioniert RADIUS? Clients Requests/Response Über UDP Notwendige Daten sind einfach strukturiert Pakete auch! tcpdump-kompatibel

RADIUS ist tcpdump kompatibel auth# tcpdump -i fxp0 -n -s 1500 -vv host <radiushost> and port 1812 [...] 15:15:20.639322 <nasip>.1645 > <radiushost>.1812: [udp sum ok] rad-access-req 190 [id 79] Attr[ Framed_proto{PPP} User{username} Pass NAS_port{192} NAS_port_id{Uniq-Sess-ID192} Calling_station{eth 7/0/0:4096.4096 0/0/0/0/0/0} Connect_info{1184000/160000} NAS_port_type{Virtual} Service_type{Framed} NAS_ipaddr{<nasip>} NAS_id{nashostname} ] (ttl 254, id 9491, len 218)

RADIUS Benutzereintrag für Telnet username User-Password = "password" Service-Type = Login-User, Login-Service = Telnet, Login-IP-Host = 192.168.10.1, Ascend-Idle-Limit = 600

RADIUS Benutzereintrag für PPP username@my-dsl User-Password = "password" Service-Type = Framed-User, Framed-Protocol = PPP, Framed-MTU = 1456, Framed-IP-Address = 192.168.5.1, Framed-IP-Netmask = 255.255.255.255, Framed-Compression = Van-Jacobsen-TCP-IP

RADIUS Benutzereintrag für L2TP Tunnel username Service-Type = Outbound-User, cisco-avpair = "vpdn:ip-addresses=10.1.1.1", cisco-avpair = "vpdn:tunnel-id=mytunnelid", cisco-avpair = "vpdn:tunnel-type=l2tp", cisco-avpair = "vpdn:l2tp-tunnel-password=tunnelpw", cisco-avpair = "vpdn:source-ip=192.168.1.1"

Was ist ein Radius-Request/Response? Menge von Elementen: TLV Type of Attribute Length Value id (8 bit) Authenticator (shared secret)

Welche Elemente sind möglich? Viele ca. 120 im Standard http://www.iana.org/assignments/radius-types ca. 180 legacy ca. 2000 bekannte herstellerspezifische Konfigurierbar Hersteller-spezifische Attribute möglich http://www.iana.org/assignments/enterprise-numbers dictionary

dictionary ATTRIBUTE Service-Type 6 integer VALUE Service-Type Login-User 1 VALUE Service-Type Framed-User 2 VALUE Service-Type Callback-Login-User 3 [...] VALUE Service-Type Fax 13

Was ist ein Radius Accounting? Dasselbe wie Requests nur andere Attribute und anderer Port Start- und Stop Records Wirklich wichtig sind nur die Stop-Records Geht einer verloren, verliert der NAS-Betreiber Geld

Beispiel Accounting Record Teil 1 Sun Oct 26 20:40:32 2008 Acct-Session-Id = "00000130" Tunnel-Type:0 = L2TP Tunnel-Medium-Type:0 = IPv4 Tunnel-Server-Endpoint:0 = "212.178.180.11" Tunnel-Client-Endpoint:0 = "212.118.171.165" Tunnel-Assignment-Id:0 = "ISPEG" Tunnel-Client-Auth-Id:0 = "lac_ispeg_opsec" Tunnel-Server-Auth-Id:0 = "LNS-OPSEC" Acct-Tunnel-Connection = "436601532" Framed-Protocol = PPP Framed-IP-Address = 195.30.35.16 Framed-IPv6-Route = "2001:14f8:0700:0008::/64" Framed-IPv6-Route = "2001:14f8:0400::/48" Framed-Interface-Id = 0:0:0:1 User-Name = "opsec-nep#eg@dsl-direkt"

Beispiel Accounting Record Teil 2 Acct-Authentic = RADIUS X-Ascend-Connect-Progress = LAN-Session-Up Cisco-AVPair = "connect-progress=lan Ses Up" X-Ascend-PreSession-Time = 0 X-Ascend-Xmit-Rate = 17696000 Cisco-AVPair = "nas-tx-speed=17696000" X-Ascend-Data-Rate = 1184000 Cisco-AVPair = "nas-rx-speed=1184000" Acct-Session-Time = 342 Acct-Input-Octets = 1102 Acct-Output-Octets = 1667 X-Ascend-Pre-Input-Octets = 0 X-Ascend-Pre-Output-Octets = 40 Acct-Input-Packets = 51 Acct-Output-Packets = 57 X-Ascend-Pre-Input-Packets = 0

Beispiel Accounting Record Teil 3 X-Ascend-Pre-Output-Packets = 2 Acct-Terminate-Cause = User-Request X-Ascend-Disconnect-Cause = PPP-Rcv-Terminate-Req Cisco-AVPair = "disc-cause-ext=ppp Receive Term" Acct-Status-Type = Stop NAS-Port = 105 NAS-Port-Id = "Uniq-Sess-ID105" Connect-Info = "17696000/1184000" NAS-Port-Type = Virtual Service-Type = Framed-User NAS-IP-Address = 212.178.180.11 NAS-Identifier = "vgate.opsec.eu" Acct-Delay-Time = 0 Client-IP-Address = 212.178.180.11 Acct-Unique-Session-Id = "d03978a8140211a7" Timestamp = 1225050032

Radiator Implementiert RADIUS Server 8000 Installationen in 180 Ländern 100% Perl Lizenzpflichtige Software! Entwickler: http://www.open.com.au Kosten: 1000 AU$/ca. 600 EUR, für eine Single-Instanz-Lizenz Läuft auf allen Plattformen, die Perl bereitstellen Sehr leicht erweiterbar Doku: http://www.open.com.au/radiator/ref.pdf

Technisch Radiator startet wie ein normaler Daemon (oder Dienst) Radiator liest config file Führt diverse Hooks aus Fängt dann an, auf eingehende Anfragen zu antworten Lang-laufender Prozess keine Threads in Beta: Serverfarm Option

Beispiel Config 1 # Allgemeine Angaben Foreground #LogStdout Trace 5 AuthPort 1812 AcctPort 1813 LogDir /var/log/radiator DbDir /usr/local/etc/radiator DictionaryFile /usr/local/etc/radiator/dictionary PidFile /var/log/radiator/pid LogFile /var/log/radiator/log.%y%m%d BindAddress 213.178.180.15,ipv6:2001:14f8:0200:0000:000

Beispiel Config 2 # NAS Devices (Clients) <Client ipv6:2001:14f8:0200:0000:0000:0000:0000:000f> Secret ArAtVap1 DupInterval 0 IgnoreAcctSignature </Client> <SNMPAgent> Port 1814 ROCommunity Ejukhacji BindAddress 213.178.180.15 </SNMPAgent>

Beispiel Config 3 <AuthLog FILE> Identifier flat Filename /var/log/radiator/flat SuccessFormat %l:%u:%p:ok FailureFormat %l:%u:%p:fail LogSuccess 1 LogFailure 1 </AuthLog> <Handler> AuthLog flat AcctLogFileName /var/log/radiator/flat.%y%m%d AuthByPolicy ContinueWhileReject <AuthBy FILE> Filename /usr/local/etc/radiator/users/flatfile </AuthBy> </Handler>

Wie funktioniert Radiator? Clients Usernames and Realms user@domain: user and realm Handler AuthBy Module

Welche AuthBy Module? FILE Radius SQL LDAP IMAP NTLM... (ca. 60!)

Welche Datenbanken? Mysql Oracle Sybase Postgres ODBC Interbase Informix SQLite2 CSV

TODO: Vergleich RADIUS gegen... LDAP Kerberos PAM NIS NTLM AD...

Perl-Code ca. 60K LoC 600 Zeilen für den Server Rest: Eigene Module und CPAN Class Inheritance: siehe Seite 315 Lesenswerte Module: Radius/Radius.pm Radius/ServerHTTP.pm: Einfacher Webserver Radius/Resolver.pm: DNS-Lookup Radius/SNMPAgent.pm: SNMP Server Radius/ApplePasswordServer.pm Radius/RSAAM.pm: SecureID goodies/nntp-redirect.pl: NNTP Auth für Newsserver

Beispiele ISP Service eg: lokale Testuser, Radius Peering L2TP EAP: Extensible Authentication Protocol EDUROAM NNTP Proxy Mobilfunk-Anwendung IPv6

ISP Service eg Zusammenschaltungen mit diversen Carriern (Telekom u.a.) und unterschiedlichen DSL Plattformen einkommende DSL Sessions Auth über Radius Peering (anhand des Benutzernamens) lokal reinlassen oder per L2TP weiter zu den Mitglieds-ISPs Abrechnung der Nutzung über Radius Accounting Monitoring der Radius-Server der ISPs möglich, aber noch offen

L2TP Weiterleitung Einkommende PPPoE über L2TP Sessions werden angenommen Radius übergibt je nach Usernamen L2TP Tunnelparameter an den Gateway PPPoE Session wird per L2TP weitergeleitet

EAP: Extensible Authentication Protocol RFC2284 und RFC2869 z.b. Ethernet oder WLAN siehe Doku, Seite 326ff siehe Demo

EDUROAM http://www.eduroam.org/, http://www.eduroam.edu.au/ 33 Länder nehmen in EU teil 6 in Asien, u.a. Japan und China Handbuch für den Setup ist online behandelt u.a. Radiator

NNTP Proxy Sourcecode ist Teil von Radiator goodies/nntp-redirect.pl NNTP Proxy: Server und Client Spricht RADIUS für NNTP Authentisierung Leitet dann weiter an den ursprünglichen NNTP Server

Mobilfunk-Anwendung Intranet/Extranet-Zugriff 600K Benutzer aus den Netzen dreier Mobilfunkbetreiber im Peak: 180 requests/sec (auth, acct start/stop) Radius-Request mit Rufnummer kommt rein Antwort mit IP-Adresse geht zurück Benutzerdaten kommen aus Oracle-Datenbank 6 Server, zwei als Radius-Proxies, 4 als Backend-Radius Server: 8 GB RAM, Sun x4200, Dual-Core, Debian Linux Realisiert von T-Systems

IPv6 RADIUS ist eine zentrale Anwendung für grosse Netze IPv6 Ready? Ja, aber manche NASe noch nicht schicken nur ueber IPv4 aber können IPv6 Adressen austeilen/verwalten

Beispiel: IPv6 Adressvergabe testingv6 User-Password == "testing" Service-Type == Framed-User, Framed-Protocol = PPP, Idle-Timeout = 86400, Framed-MTU = 1456, Framed-IP-Address = 197.30.35.16, Framed-IP-Netmask = 255.255.255.255, Framed-Interface-Id = "0:0:0:1", Cisco-AVPair = "ipv6:prefix=2001:14f8:0200:0008::/64 Cisco-AVPair += "ipv6:route=2001:14f8:0700:0008::/64 Cisco-AVPair += "ipv6:route=2001:14f8:0400::/48"

Probleme und Lösungen RADIUS maximal 255 offene Anfragen: Loadbalancer Verzögerungen bei externe Datenquellen: Loadbalancer Sicherheit? RADSEC, Diameter Radius Peering und Verzögerungen/Ausfälle Zustand und Radius: Das ls -l Problem Crash/Reboot eines NAS Radiator Serielle Abarbeitung: Loadbalancer Not enterprisy enough Does not do the dishes

Literatur http://deployingradius.com/blog/ http://eu.wiley.com/wileycda/wileytitle/productcd- 0470011947.html SIP/VoIP und Radius http://oreilly.com/catalog/9780596003227/

Danke! Hugh Irvine und Mike McCauley, Open System Consultants Stefan Feurle, T-Systems