Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.7.8. Libreswan を使用したロードロードアクセス VPN および X.509 による XAUTH

Libreswan では、XAUTH IPsec 拡張を使用して接続を確立する際に、VPN クライアントに IP アドレスと DNS 情報をネイティブに割り当てる方法を利用できます。XAUTH は、PSK または X.509 証明書を使用してデプロイできます。X.509 を使用する方が安全です。クライアント証明書は、証明書失効リストまたは オンライン証明書ステータスプロトコル() で取り消すことができます。OCSP).X.509 証明書では、個々のクライアントはサーバーの権限を借用することができません。PSK(Group Password)を使用すると、これは理論的に可能になります。
XAUTH は、追加でユーザー名とパスワードで自身を識別するために VPN クライアントを必要とします。Google Authenticator または RSA SecureID トークンなどのワンタイムパスワード(OTP)では、ワンタイムトークンがユーザーパスワードに追加されます。
XAUTH には、以下の 3 つのバックエンドがあります。
xauthby=pam
これにより、の設定を使用 /etc/pam.d/pluto してユーザーを認証します。pam は、単独でさまざまなバックエンドを使用するように設定できます。システムアカウントのユーザーパスワードスキーム、LDAP ディレクトリー、RADIUS サーバー、またはカスタムパスワード認証モジュールを使用できます。
xauthby=file
これは、設定ファイルを使用します /etc/ipsec.d/passwd (混同しない /etc/ipsec.d/nsspassword)。このファイルの形式は Apache .htpasswd ファイルと似ていますが、Apache htpasswd コマンドを使用してこのファイルにエントリーを作成できます。ただし、ユーザー名とパスワードの後には、リモートユーザーに VPN を提供するために使用する IPsec 接続の接続名が含まれる 3 番目のコラムが必要になります。たとえば、を使用してリモートユーザーに VPN を conn remoteusers 提供する場合、パスワードファイルのエントリーは以下のようになります。
user1:$apr1$MIwQ3DHb$1I69LzTnZhnCT2DPQmAOK.:remoteusers
注記: htpasswd コマンドを使用する場合は、各行に user:password 部分の後に接続名を手動で追加する必要があります。
xauthby=alwaysok
サーバーは、常に XAUTH ユーザーとパスワードの組み合わせが正しいことになります。クライアントはユーザー名とパスワードを指定する必要がありますが、サーバーはこれを無視します。これは、ユーザーが X.509 証明書ですでに特定されている場合、または XAUTH バックエンドを使用せずに VPN をテストする場合にのみ使用してください。
X.509 証明書が含まれる設定の例:
conn xauth-rsa
    auto=add
    authby=rsasig
    pfs=no
    rekey=no
    left=ServerIP
    leftcert=vpn.example.com
    #leftid=%fromcert
    leftid=vpn.example.com
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    rightaddresspool=10.234.123.2-10.234.123.254
    right=%any
    rightrsasigkey=%cert
    modecfgdns1=1.2.3.4
    modecfgdns2=8.8.8.8
    modecfgdomain=example.com
    modecfgbanner="Authorized Access is allowed"
    leftxauthserver=yes
    rightxauthclient=yes
    leftmodecfgserver=yes
    rightmodecfgclient=yes
    modecfgpull=yes
    xauthby=pam
    dpddelay=30
    dpdtimeout=120
    dpdaction=clear
    ike_frag=yes
    # for walled-garden on xauth failure
    # xauthfail=soft
    #leftupdown=/custom/_updown
をソフトに設定すると、認証の失敗 xauthfail は無視され、VPN はユーザーが適切に認証されたかのように設定されます。カスタムのアップダウンスクリプトを使用して、環境変数を確認することができ XAUTH_FAILEDます。このようなユーザーは、たとえば iptables DNAT を使用してにリダイレクトできます。 グラデーション ここで管理者に連絡したり、サービスに有料サブスクリプションを更新したりできます。
VPN クライアントは modecfgdomain 値と DNS エントリーを使用して、指定したドメインのクエリーを指定されたネームサーバーにリダイレクトします。これにより、ローミングユーザーは内部 DNS 名を使用して内部のみのリソースにアクセスできます。
0.0.0.0/0 では、トンネリング設定要求 leftsubnet はクライアントに自動的に送信されます。たとえば、を使用すると leftsubnet=10.0.0.0/8、VPN クライアントは VPN を介して 10.0.0.0/8 のトラフィックのみを送信します。