4.6.8. X.509를 사용하여 IKEv1 원격 액세스 VPN Libreswan 및 XAUTH 구성


Libreswan 은 XAUTH IPsec 확장을 사용하여 연결을 설정하므로 VPN 클라이언트에 IP 주소 및 DNS 정보를 기본적으로 할당하는 방법을 제공합니다. 확장 인증(XAUTH)은 PSK 또는 X.509 인증서를 사용하여 배포할 수 있습니다. X.509를 사용하여 배포하는 것이 더 안전합니다. 클라이언트 인증서는 인증서 해지 목록 또는OCSP( Online Certificate Status Protocol )로 취소할 수 있습니다. X.509 인증서를 사용하면 개별 클라이언트는 서버를 가장할 수 없습니다. PSK를 사용하면 그룹 암호라고도 하며 이론적으로 가능합니다.
XAUTH에는 VPN 클라이언트가 사용자 이름과 암호로 자신을 추가로 식별해야 합니다. Google Authenticator 또는 RSA SecureID 토큰과 같은 One Time Passwords(OTP)의 경우 일회성 토큰이 사용자 암호에 추가됩니다.
XAUTH에는 다음 세 가지 백엔드가 있습니다.
xauthby=pam
이렇게 하면 /etc/pam.d/pluto 의 설정을 사용하여 사용자를 인증합니다. PAM(Pluggable Authentication Modules)은 다양한 백엔드를 자체적으로 사용하도록 구성할 수 있습니다. 시스템 계정 사용자 암호 스키마, LDAP 디렉터리, RADIUS 서버 또는 사용자 지정 암호 인증 모듈을 사용할 수 있습니다. 자세한 내용은 PAM(Pluggable Authentication Modules) 사용 장을 참조하십시오.
xauthby=file
이렇게 하면 /etc/ipsec.d/passwd 구성 파일을 사용합니다( /etc/ipsec.d/nsspassword 파일과 혼동해서는 안 됩니다). 이 파일의 형식은 Apache .htpasswd 파일과 유사하며 Apache htpasswd 명령을 사용하여 이 파일에 항목을 생성할 수 있습니다. 그러나 사용자 이름과 암호가 끝나면 예를 들어 conn remoteusers 를 사용하여 사용자를 제거하도록 VPN을 제공하는 경우 암호 파일 항목이 다음과 같이 표시됩니다.
user1:$apr1$MIwQ3DHb$1I69LzTnZhnCT2DPQmAOK.:remoteusers
참고
htpasswd 명령을 사용하는 경우 각 행의 user:password 부분 뒤에 연결 이름을 수동으로 추가해야 합니다.
xauthby=alwaysok
서버는 항상 XAUTH 사용자와 암호 조합을 대체합니다. 서버에서 이러한 이름을 무시하더라도 클라이언트는 사용자 이름과 암호를 지정해야 합니다. 이는 사용자가 이미 X.509 인증서로 식별하거나 XAUTH 백엔드를 필요로 하지 않고 VPN을 테스트할 때만 사용해야 합니다.
X.509 인증서를 사용한 서버 구성 예:
conn xauth-rsa
    ikev2=never
    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
    modecfgdns="1.2.3.4,8.8.8.8"
    modecfgdomains=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이 설정됩니다. 사용자 지정 updown 스크립트는 환경 변수 XAUTH_FAILED 를 확인하는 데 사용할 수 있습니다. 그런 다음 이러한 사용자는 예를 들어 iptables DNAT를 사용하여 관리자에게 연락하거나 유료 서브스크립션을 갱신할 수 있는 월든 으로 리디렉션될 수 있습니다.
VPN 클라이언트는 modecfgdomain 값과 DNS 항목을 사용하여 지정된 도메인의 쿼리를 지정된 이름 서버로 리디렉션합니다. 이를 통해 사용자는 내부 DNS 이름을 사용하여 내부 전용 리소스에 액세스할 수 있습니다. IKEv2는 modecfgdomainsmodecfgdns 를 사용하여 쉼표로 구분된 도메인 이름 및 이름 서버 IP 주소 목록을 지원하지만 IKEv1 프로토콜은 하나의 도메인 이름만 지원하며 libreswan은 두 개의 이름 서버 IP 주소만 지원합니다. 선택적으로 배너 텍스트를 VPN cliens에 보내려면 modecfgbanner 옵션을 사용하십시오.
leftsubnet0.0.0.0/0 이 아닌 경우 분할 터널링 구성 요청이 자동으로 클라이언트로 전송됩니다. 예를 들어 leftsubnet=10.0.0.0/8 을 사용하는 경우 VPN 클라이언트는 VPN을 통해 10.0.0.0/8 에 대한 트래픽만 보냅니다.
클라이언트에서 사용자는 사용된 백엔드에 따라 사용자 암호를 입력해야 합니다. 예를 들어 다음과 같습니다.
xauthby=file
관리자가 암호를 생성하여 /etc/ipsec.d/passwd 파일에 저장했습니다.
xauthby=pam
암호는 /etc/pam.d/pluto 파일의 PAM 구성에 지정된 위치에서 가져옵니다.
xauthby=alwaysok
비밀번호가 확인되지 않고 항상 승인됩니다. 테스트 목적으로 이 옵션을 사용하거나 xauth 전용 클라이언트의 호환성을 보장하려면 이 옵션을 사용합니다.

추가 리소스

XAUTH에 대한 자세한 내용은 ISAKMP/Oakley(XAUTH) Internet-Draft 문서의 확장 인증을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.