web-dev-qa-db-ja.com

FreeRadiusでのrlm_restモジュールの構成

freeRADIUSを使用して、Webバックエンドに対してRADIUSユーザーを認証する必要があり、rlm_restモジュールを使用して認証しようとしています。 ここ を参照してください。

私のサイト構成には、次のようなものがあります。

authorize {
    rest
}

認証セクションでは、次のようなことを試しました。

authenticate {
    Auth-Type REST {
        rest
    }
}

または

authenticate {
    rest
}

いずれの場合も、次のエラーが発生します:(2) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject

私のWebサーバーでは、追加のプロセスなしでユーザーを認証する必要があるように見えるため、204 codeを返しています。 ここ を参照してください。承認は正常に機能しているようですが、認証セクションに到達すると、そのエラーが返されます。

私が知る必要があるのは、「ユーザー」ファイルエントリとサイトで利用可能なエントリの組み合わせであり、rlm_restモジュールがリクエストの認証部分を完了することを許可する必要があります。ありがとう、

3
freb

RestはAuth-Typeを設定しません。手動で設定する必要があります。

authorize {
    rest
    if (ok) {
        update control {
            Auth-Type := rest
        }
    }
}

authenticate {
    rest
}

Auth-Typeは、authenticateにリストされているモジュールに対して自動的に作成されます(実際にはAuth-Typeスタンザは必要ありません)。

必要がない場合は、承認でrestを呼び出す必要はありません。次のようなものでも、問題なく機能します。

authorize {
    if (User-Password) {
        update control {
            Auth-Type := rest
        }
    }
}

編集:

注:バージョン3.0.4より前では、RESTモジュールはcontrol:Cleartext-Passwordを使用してユーザーのパスワードを取得したため、モジュールを機能させるには、から値をコピーする必要があります。 request:User-Password

authorize {
    if (User-Password) {
        update control {
            Cleartext-Password := &User-Password
            Auth-Type := rest
        }
    }
}

バージョン3.0.4以降では、代わりにrequest:User-Passwordを探します。これは、ほとんどの場合に機能するはずです。

7