フリー半径。 さまざまなタイプのユーザー認証を同時にサポート

この記事では、さまざまなタイプのユーザー認証をサポートするという点で、freeradiusをセットアップした経験を共有したいと思います。



残念ながら、この問題に直面して、私はグーグルや他のYandexの広大さに既製のソリューションを見つけることができなかったので、自分でマナを吸っていました。



だから、問題とその解決策:



だの:



1)freeradiusパッケージがインストールされたCentOS 6.6を実行しているサーバー(バージョン2.1.12)。

2)SASサーバー(Safenet Authentication Service)は、半径の2要素ユーザー認証を提供します。

3)ユーザーアカウントはSASサーバーとRADIUSサーバーに展開されたMySQLデータベースに保存されます。

4)freeradiusとSASの統合は、 指示に従ってすでに完了しており、正常に機能しています。これについては記事に書きません。

5)freeradiusとMySQLの統合も設定されています



問題:



SAS認証モジュールを有効にすると、radiusは、アカウントがMySQLに保存されているユーザー(RADIUS自体)の認証を停止します。



freeradiusとSASの統合には、追加モジュールchallAvecAuthが使用されます。これは、/ etc / raddb / sitesenabled / defaultファイルの認証セクションに記述されています。 そして、freeradiusのすべての指示では、authorizeセクションを読み取ると記載されていますが、radiusはリストされたすべてのモジュールでユーザーを順番に認証しようとしますが、実際には、場所に関係なく(最初に、最後に、真ん中)、彼は自分自身だけを使用するようにフリー半径を「強制」します。 他のすべてのモジュールは機能しません。



タスク:



SASを介したユーザーuser1とuser2、およびradiusを介したユーザーuser3とuser4の認証を構成します。



解決策:



この問題を解決するために、freeradiusに組み込まれたunlang言語が使用されました。 これを使用して、operatorsグループに属するユーザーuser1とuser2がSASを介して認証され、adminsグループに属するユーザーuser3とuser4がradius自体を介して認証されるという条件が記述されました。 グループ内のユーザーのメンバーシップに関する情報は、ユーザーuser3とuser4のペアのユーザー名とパスワードだけでなく、MySQLデータベースに保存されます。

MySQLテーブル構造:

select * from radusergroup;
      
      





 ユーザー名グループ名優先順位
 user1演算子0
 user2演算子0
 user3管理者0
 user4管理者0 


 Select * from radcheck;
      
      





  IDユーザー名属性op値
 1 user3 Cleartext-Password:= User3pwd
 2 user4 Cleartext-Password:= User4pwd 


承認セクションの/ etc / raddb / sites-enabled / defaultファイルで変更を行います。

1)SQLモジュールのコメントを解除します(まだコメント解除されていない場合)

2)sqlモジュールの後、次の検証条件を追加します。

 if (Sql-Group == admins) { pap } else { challAvecAuth }
      
      





3)そして、別の行をコメントアウトします

パパ

その結果、認証セクションは次のようになります。

 authorize { preprocess chap mschap digest suffix eap { ok = return } sql expiration logintime if (Sql-Group == admins) { pap } else { challAvecAuth } }
      
      





ここでの条件は最も簡単なものによって説明されます:ユーザーがadminsグループの一部である場合、papモジュールはそれを認証し、challAvecAuth(つまりSAS)は他のグループに対してそれを認証します。 どの条件を記述するかは、タスクと想像力にのみ依存します。

4)radiusを再起動し、PROFITを入手してください!



All Articles