OpenVPN-비밀번호 인증 만


11

Windows 용 OpenVPN 클라이언트를 사용할 때 사용자 이름과 비밀번호만으로 OpenVPN 서버에 로그인 할 수 있습니다. 우분투에서 똑같은 일을하는 방법을 알 수 없습니다. 일종의 인증서가 필요한 것 같습니다.

사용자 이름과 비밀번호만으로 OpenVPN 서버로 인증하는 방법을 알고 있습니까?

답변:


5

서버 / CA 인증서없이 사용자 이름 / 암호를 사용하여 완벽하게 인증 할 수 있습니다. 그러나, 나는 매우 추천 을 확인하기 위해 그것을 구성 Man-in-the-Middle 공격을 방지하기 위해 CA 인증서.

서버 확인없이 누구나 OpenVPN 서버를 가장하여 사용자 이름 / 암호를 수락 할 수 있습니다. 결과 :

  • 공격자는 모든 트래픽을 가로 챌 수 있습니다. 연결중인 서버를 확인하지 않으면 누구나 공용 네트워크 (또는 공격자가 제어하는 ​​개인 네트워크)의 서버라고 주장 할 수 있습니다.
  • 공격자는 사용자 이름 / 암호 조합을 알고 있습니다. 다른 암호에도 동일한 암호를 재사용 할 경우 매우 나쁩니다.

Network Manager에서는 아래와 같이 CA Cert 없이도 잘 작동하지만 그렇게 사용하지 마십시오! Windows에서 서버 / CA 인증서를 사용하지 않으면 위의 공격에 실제로 취약합니다.

여기에 이미지 설명을 입력하십시오


Ubuntu 16.04에서는 작동하지 않습니다. '저장'버튼은 인증서를 선택할 때까지 비활성화됩니다.
leo

1
@ leo 아, 아주 좋은 소식입니다. 그러면 안전하지 않은 구성이 한 번 더 방지됩니다! :-)
gertvdijk

3

나는 여기에 답을 찾았습니다 : http://openvpn.net/index.php/open-source/documentation/howto.html#auth

여전히 서버 인증서가 필요합니다.

클라이언트 인증의 유일한 형식으로 사용자 이름 / 암호 인증 사용

기본적으로 서버에서 auth-user-pass-verify 또는 사용자 이름 / 암호 확인 플러그인을 사용하면 이중 인증을 사용할 수 있으며 클라이언트 인증을 위해 클라이언트 인증서 및 사용자 이름 / 암호 인증이 모두 필요합니다.

보안 관점에서 권장하지는 않지만 클라이언트 인증서 사용을 비활성화하고 사용자 이름 / 암호 인증 만 강제 실행하는 것도 가능합니다. 서버에서 :

클라이언트 인증서가 필요하지 않음 이러한 구성은 일반적으로 다음을 설정해야합니다.

username-as-common-name-클라이언트 인증서를 통해 인증 된 클라이언트의 공통 이름을 사용할 때와 같이 서버가 색인 목적으로 사용자 이름을 사용하도록 지시합니다.

client-cert-not-required는 서버 인증서가 필요하지 않으므로 client-cert-not-required를 사용하는 서버에 연결하는 클라이언트는 클라이언트 구성 파일에서 cert 및 key 지시문을 제거 할 수 있지만 그렇지는 않습니다. 클라이언트가 서버 인증서를 확인해야하기 때문에 ca 지시문.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.