質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.61%

Wifi用のRadiusサーバーを構築し、LDAPに認証情報を集約することは可能でしょうか

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,197

score 210

やりたいこと

samba4ではLDAPSサーバーとしての機能を内包しているので、
WifiのRadiusサーバーを構築し、ユーザー認証とMACアドレス認証の両方を行いたいです。
その際、保存する情報(認証情報及びMACアドレス)はLDAPSに集約したいのですが、可能でしょうか。

詳細

FreeRADIUSを導入し、MACアドレス認証を行うことを検討しましたが、ストアがファイルかデータベースサーバ(MySQL)しかありませんでした。
設定でLDAPから関連するMACアドレスを抽出し、認証をかけることは可能でしょうか。

環境

  • samba-dc (v4.6.x、ldapと読み替えていただいてもよいです)
  • alpine linux (debian 等でも構いません)

補足

検証はこちらで行うつもりですので、ヒントをいただければと存じます。
eg: 設定ファイルでLDAPから情報を読み出す方法

フィードバックは進展があれば行いたいです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

定期的にMACアドレスのリストをLDAPからファイルに落とすようにとかはどうでしょうか?

[追記]
私の持っているldap認証に対応した freeradius サーバでテストしてみました。
radiusd を -X オプションで起動した時に私のサーバでは認証時に下記のリクエストが届きます。
vpnの接続時のppp認証で使用しているので Request に Macアドレスがありません。
Macアドレスがある場合は、 Calling-Station-Id に値が入っていると思います。

(1) Received Accounting-Request Id 11 from 127.0.0.1:56766 to 127.0.0.1:1813 length 108
(1)   Acct-Session-Id = "5C95EDCF6BEF00"
(1)   User-Name = "scsi@example.com" ※認証ID
(1)   Acct-Status-Type = Start
(1)   Service-Type = Framed-User
(1)   Framed-Protocol = PPP
(1)   Acct-Authentic = RADIUS
(1)   NAS-Port-Type = Async
(1)   Framed-IP-Address = 192.168.0.101
(1)   NAS-IP-Address = 123.123.123.123 ※サーバのIP(仮)
(1)   NAS-Port = 0
(1)   Acct-Delay-Time = 0

NAS-IP-Address を Mac アドレスと見立てて、 description アトリビュートに登録しました。

ldapの登録情報
ldapsearch -x mailroutingaddress=scsi@example.com mailroutingaddress description
dn: uid=scsi,ou=People,dc=example,dc=com
mailRoutingAddress: scsi@example.com
description: 123.123.123.123

この状態で /etc/raddb/mods-available/ldap の filter を下記にしました。

filter = "(&(mailRoutingAddress=%{%{Stripped-User-Name}:-%{User-Name}})(description=%{NAS-IP-Address}))"


これで認証が成功しましたので、応用すれば Macアドレスでのフィルタリングはldapでできるのではないでしょうか?

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/03/26 05:33 編集

    ご提案並びに、検証まで誠にありがとうございます。
    当初はご回答のとおり、ldapから定期的にファイルを反映させる方法も検討していましたが、最終手段と考えていました。
    ご検証いただいた通りに一度設定を行ってみて、設定等、一定の確認が取れましたら追って報告させていただきます。
    ソースはgithub等にdockerfileとして公開し、コメントにて通知いたします。
    なお、samba4との連携確認を行っている所ですので、かなり先になるかと存じます。進捗は https://github.com/indication/docker-redmine でご確認いただけるかもしれません。

    キャンセル

+1

検証していませんが、下記 URL の %{ldap:ldap:/// という記法が使えませんでしょうか。

http://lists.freeradius.org/pipermail/freeradius-users/2015-March/076368.html

設定は「Mac-Auth authorisation by SSID SQL」箇所を参考に、%{sql: を LDAP 用に置き換えればいいかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/03/26 05:32

    ご提案のほどありがとうございます。参考にさせていただきます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る