首頁>技術>

簡介

files模組透過users檔案對每個使用者請求進行授權。使用者檔案位於RADIUS資料庫目錄中。

使用者檔案將以 # 開頭的每一行視為要忽略的註釋。

每個條目由交替的檢查條目和回覆條目行組成。

檢查或回覆條目列表中的每個條目都是name = value形式的屬性。每行可以放置多個條目。如果每行有多個條目,條目之間必須用逗號分隔。

該檔案以一個檢查條目行開始:一個使用者名稱後跟一個(可能為空的)檢查條目列表。檢查條目行必須限制在一行內。

然後回覆條目目行以一個製表符和回覆條目列表(可能為空)開始。回覆條目可以在多行中指定;但是,除了最後一行,每一行都必須以逗號結束。回覆條目的最後一行不能以逗號結束。

檢查條目是伺服器用於匹配傳入訪問請求的屬性列表。如果使用者名稱和所有檢查項與傳入的訪問請求相匹配,伺服器就會將這些屬性新增到應答中。對使用者檔案中的所有條目重複此過程。

如果傳入的請求不匹配任何一個條目中的所有檢查項,則files模組返回一個notfound應答,宣告它找不到使用者的記錄。

下面是一個使用者檔案條目的示例。它宣告存在一個使用者“bob”,密碼為“hello”。當用戶“bob”登入時,使用者將收到一條說“Hello, bob”的回覆訊息。

bob Cleartext-Password := “hello”Reply-Message := “Hello, %{User-Name}”

特殊使用者名稱預設匹配所有使用者名稱

條目是按順序處理的,從users檔案的頂部開始。如果一個條目包含特殊條目Fall-Through = No作為應答屬性,那麼檔案的處理將在此時停止,不再匹配任何條目。如果回覆條目列表不包含Fall-Through屬性,它將被視為包含一個預設的Fall-Through = No屬性。如果一個條目包含特殊項Fall-Through = Yes作為應答屬性,那麼處理將繼續到下一個條目。

應該小心地使用Fall-Through,並且應該在除錯模式下測試伺服器,使用一些測試請求來驗證配置的條目是否如預期的那樣執行。

運算子

=以外的運算子可以用於檢查條目或回覆條目列表中的屬性。下面是運算子及其定義的列表。

Attribute = Value

雖然不允許作為RADIUS協議屬性的檢查項,但可以用於伺服器配置屬性(如Auth-Type)。只有當沒有相同屬性的其他項時,它才會設定屬性的值。

作為一個回覆項,它被解釋為“將該項新增到回覆列表中,但僅在沒有相同屬性的其他條目的情況下。”

Attribute := Value

總是作為一個檢查匹配項。在配置項中,它將替換同名的任何屬性。如果請求中沒有該名稱的屬性,則會新增該屬性。但對於回覆項而言,作為回覆項,它具有相同的含義。

Attribute == Value

作為一個檢查項,它只在指定的屬性出現在請求中並且具有給定值時才匹配。不允許作為回覆專案。

Attribute += Value

總是作為一個檢查項進行匹配,並將當前屬性的值新增到配置項列表中。

作為回覆項,該屬性被新增到回覆項中。

Attribute != Value

作為一個檢查項,它只在給定屬性在請求中且沒有給定值時才匹配。不允許作為回覆專案。

Attribute > Value

作為一個檢查項,它匹配請求是否包含一個值大於給定值的屬性。不允許作為回覆專案。

Attribute >= Value

作為檢查項,它匹配請求是否包含值大於或等於給定值的屬性。不允許作為回覆專案。

Attribute < Value

作為一個檢查項,如果請求包含一個值小於給定值的屬性,它會匹配。不允許作為回覆專案。

Attribute <= Value

作為一個檢查項,它匹配請求是否包含一個值小於或等於給定值的屬性。不允許作為回覆專案。

Attribute =~ Expression

作為一個檢查項,如果請求包含與給定正則表示式匹配的屬性,它就匹配。此運算子只能應用於字串屬性。不允許作為回覆專案。

Attribute !~ Expression

作為一個檢查項,如果請求包含一個與給定正則表示式不匹配的屬性,它就匹配。此運算子只能應用於字串屬性。不允許作為回覆專案。

Attribute =* Value

作為一個檢查項,它匹配請求是否包含命名的屬性,而不考慮其值。不允許作為回覆專案。

Attribute !* Value

作為一個檢查項,如果請求不包含命名的屬性,它將匹配,而不考慮其值。不允許作為回覆專案。

示例

下面提供可以包含在users檔案中的FreeRADIUS程式碼示例。

1.下面的示例告訴伺服器“bob”有一個已知的正確密碼“hello”。沒有回覆項,因此回覆將為空。

bob Cleartext-Password := "hello"

2.這個示例告訴伺服器根據/edc/passwd檔案對所有使用者進行身份驗證。注意,本例導致EAP認證失敗。

DEFAULT Auth-Type = SystemFall-Through = Yes

如果請求資料包包含具有給定Service-Type和Framed-Protocol屬性的值,那麼這些屬性包含在應答中。這個示例還展示瞭如何指定多個應答項。

DEFAULT Service-Type == Framed-User, Framed-Protocol == PPPService-Type = Framed-User,Framed-Protocol = PPP,Fall-Through = Yes

有關其他示例和註釋,請參閱伺服器附帶的users檔案。

使用者檔案故障處理

透過在除錯模式(-X)下執行伺服器,並使用radclient程式向伺服器傳送測試包以匹配特定的條目,可以檢查users檔案。伺服器將打印出該請求的匹配條目,以便驗證預期的結果。如果懷疑檔案有問題,請在執行其他操作之前執行此操作。

在為users檔案寫入條目時要小心。很容易錯誤地將伺服器配置為接受請求而不是拒絕請求。對條目進行排序,並只在需要的地方使用Fall-Through的條目。

拒絕某些請求的條目應該位於檔案的頂部,並且在它們的回覆條目中不應該有一個Fall-Through條目。接下來應該是針對沒有Fall-Through條目的特定使用者的條目。任何預設條目都應該出現在檔案的末尾。當伺服器達到一個預設條目時,它會停止處理,除非它設定了Fall-Through。

AAA:身份驗證、授權和計費——分散式系統的一種安全架構,它提供對使用者訪問服務和資源的控制,並跟蹤使用者活動。

ACL:訪問控制列表-附加到一個物件的許可權列表。它指定授予哪些使用者或系統程序訪問物件,以及允許對給定物件進行哪些操作。

ADSL:非對稱數字使用者線路

AVP:屬性值對。

CHAP:挑戰握手認證協議 —— 對網路使用者進行認證的協議。

EAP:可擴充套件認證協議 —— 一個認證框架。EAP-TTLS和EAP-TLS等變體添加了傳輸層安全協議。

FreeRADIUS:一個模組化、高效能、開源的RADIUS。

FTP:檔案傳輸協議-一種標準的網路協議,用於透過基於傳輸控制協議的網路(如internet)將檔案從一臺主機傳輸到另一臺主機。

HTTP:超文字傳輸協議-一種在全球資訊網上用於分散式、協作、超媒體資訊系統的應用協議。

IANA:網際網路名稱和號碼分配機構的部門,負責監管全球IP地址分配、自治系統號碼分配、域名系統根區域管理、媒體型別以及其他與網際網路協議相關的符號和號碼。

IETF:網際網路工程任務小組-一個由網路設計者、運營者、供應商和研究人員組成的國際社群,關注網際網路架構的演變和網際網路的順利執行。

ISP:因特網服務提供商(也稱為因特網接入提供商)-為使用者提供因特網接入和相關服務的企業或組織。

L2TP:二層隧道協議-一種用於支援vpn的隧道協議,或作為ISP提供服務的一部分。

LAN:區域網—一種利用網路媒體將辦公大樓、學校或計算機實驗室等有限區域內的計算機連線起來的計算機網路。

LDAP:輕量級目錄訪問協議-在Internet協議(IP)網路上訪問和維護分散式目錄資訊服務的應用協議。

MAC address:媒介訪問控制地址——為物理網段上的通訊分配給網路介面的唯一識別符號。

NAC:網路訪問控制—定義和實現策略的一組協議,該策略描述了當裝置首次嘗試訪問網路時,如何確保對網路節點的訪問安全。

NAS:網路訪問伺服器——對遠端資源、任何執行使用者名稱和密碼身份驗證的裝置或應用程式的單一訪問點。

PAP:密碼認證協議—使用未加密的ASCII密碼的認證協議。

PEAP:受保護的可擴充套件認證協議——將EAP封裝在加密和認證的TLS隧道中的協議。

POP:存在點-因特網的接入點。它是存放伺服器、路由器、ATM交換機和數字/模擬呼叫聚合器的物理位置

PPP:點對點協議-一種資料鏈路協議,用於兩個網路節點之間的直接通訊。

QoS:服務質量——網路實現最大頻寬和處理網路效能元素(如延遲、錯誤率和正常執行時間)的能力。

RADIUS:遠端認證撥入使用者服務-用於遠端使用者認證和計費的網路協議。

RFC:一份關於網際網路標準和協議的網際網路工程任務小組備忘錄。

SLIP:序列線因特網協議-一種因特網協議的封裝,設計用來在串列埠和調變解調器連線上工作。

SNMP:簡單網路管理協議-用於管理IP網路上的裝置的internet標準協議。這些裝置包括路由器、交換機、伺服器、工作站和印表機。

SSID:服務集識別符號 —— 一個人類可讀的文字字串,用於標識擴充套件的服務集。

SSL:安全套接字層-在網際網路上提供通訊安全的非對稱加密協議。它是TLS協議的前身。

SQL:結構化查詢語言 —— 一種專門用於管理關係資料庫管理系統中的資料的程式語言。開源版本包括MySQL和PostgreSQL。

TLS:傳輸層安全性-在Internet上提供通訊安全性的非對稱加密協議。它是SSL協議的繼承者。

TTLS:隧道傳輸層安全——對TLS的擴充套件,使用已建立的安全連線或隧道來驗證客戶端。隧道的增加提供了防止竊聽和中間人攻擊的保護。在EAP-TTLS中使用。

UDP:使用者資料報協議—— 一種網路通訊方法。

VLAN:虛擬區域網 —— 一組邏輯上的工作站、伺服器和網路裝置,不管地理分佈如何,它們的功能就像在同一個區域網中一樣。

VPN:虛擬專用網—存在於公網中的專用網路。

VSA:特定於供應商的屬性——由遠端訪問伺服器供應商(通常是硬體供應商)定義的屬性,用於自定義RADIUS在其伺服器上的工作方式。

7
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • python入門教程12-09(語法入門之生產者消費者模型)