가능한? 인증서 및 비밀번호 기반 로그인이 모두 필요한 OpenVPN 서버(토마토 라우터 펌웨어를 통해)

가능한? 인증서 및 비밀번호 기반 로그인이 모두 필요한 OpenVPN 서버(토마토 라우터 펌웨어를 통해)

저는 OpenVPN 서버를 실행하기 위해 Asus N66U 라우터에서 Shibby의 Tomato 빌드(64k NVRAM 버전)를 사용해 왔습니다.

이 OpenVPN 서버에 인증서와 인증서를 모두 요구하도록 설정할 수 있는지 궁금합니다.그리고사용자에게 액세스가 허용되기 전의 사용자 이름/비밀번호.

인증서 세부 정보를 작성할 때 "암호 확인" 항목이 있다는 것을 알았지만 모두가 "또는 다른 방법"으로 비워 두라고 말합니다. 왜 그런지 모르겠고 설명도 찾을 수 없습니다. 또한 저는 이 문제를 Google에서 검색한 결과 사람들이 사용자 이름/비밀번호를 통해 인증하기 위해 OpenVPN용 PAM 모듈에 대해 이야기하는 것을 발견했습니다.등장둘 중 하나 또는 옵션이 됩니다. 즉, 사용자 이름/비밀번호를 통해 인증을 강제할 수 있습니다.또는자격증. 나는 둘 다 요구하고 싶다.

이것이 가능한가? 그렇다면 어떻게?

답변1

당신이 찾고 있는 OpenVPN 기능은 서버가 다음을 기반으로 클라이언트를 인증할 수 있게 해줍니다.둘 다해당 인증서와 자격 증명은 입니다 auth-user-pass-verify. 이 기능을 사용하면 서버는 원격 사용자가 제공한 사용자 이름/비밀번호를 인증을 수행하는 스크립트에 전달할 수 있습니다. 이 시점에서 PAM, RADIUS, LDAP, 연기 신호 등 원하는 항목에 대해 자격 증명을 확인할 수 있습니다.

저는 "Tomato" 펌웨어에 대해 아무것도 모르기 때문에 여기서는 단계별로 설명하지 않겠습니다. 몇 가지 빠른 검색을 해보니 OpenVPN "사용자 정의 구성" 옵션을 사용하여 참조를 포함할 수 있을 것 같습니다 auth-user-pass-verify. 인증을 수행하려면 스크립트가 필요합니다.

검색을 좀 해보면 "토마토"와 관련된 참고 자료를 찾을 수 있을 것 같습니다.

답변2

auth-user-pass-verify가 올바른 일입니다. 또한 인증 사용자 사용자 이름이 인증된 CN이어야 하며 openvpn이 각 인증서마다 한 번에 하나의 연결만 만들도록 강제할 수도 있습니다.

그런 식으로 "모방"은 인증서 CN 및 올바른 패스와 비교하여 올바른 사용자를 가져야 하며 실제 소유자가 수행하지 못하는 시간에 로그온해야 합니다.

또한 IDS에 대해 생각해 볼 수도 있습니다. 선택한 항목에 따라 허용된 외부 IP 범위, 로그온 시간 등과 같이 범위를 좁힐 수도 있습니다.

노출된 인증서는 즉시 취소되어야 합니다. 서명 서버는 네트워크 외부에 있어야 합니다(USB로 키 전송). 그러면 정말 강력한 보안 액세스가 가능해집니다.

아니요, 인증서에 비밀번호를 입력하면 안 됩니다.

  1. 무차별 대입이 쉽습니다.
  2. 사용자를 잠글 수 없습니다(인증서 패스는 오프라인에서만 가능).
  3. 사람들은 항상 비밀번호를 잃어버려서 매번 인증서를 취소하고 다시 만들어야 합니다. 때로는 취소를 잊어버릴 수도 있는 많은 인증서가 있을 위험이 큽니다.

그러나 정말로 원한다면 auth-user와 cert 비밀번호를 동시에 사용할 수 있습니다. 대체 조치는 없습니다.

먼저 openvpn은 인증서 비밀번호를 사용하여 개인 키를 해독하여 연결을 설정합니다. 그런 다음 인증 사용자가 서버에 자동으로 시작됩니다. 자격 증명이 잘못된 경우 종료됩니다.

그러나 공격자가 일반 자격 증명을 얻은 경우 이미 문제가 발생한 것이며 공격자가 인증서 비밀번호도 얻었을 가능성이 높습니다.

따라서 여기서는 많은 단점과 더 많은 보안에 대한 잘못된 느낌만으로 실제 이점을 볼 수 없습니다.

답변3

나는 이 튜토리얼을 따랐습니다(내 Asus N66U에 TomatoUSB Shibby 1.28을 사용하여): http://www.dd-wrt.com/wiki/index.php/OpenVPN 이것은 당신에게 많은 도움이 될 수 있습니다.

관련 정보