헤드리스 OpenVPN 게이트웨이에 필요한 소프트웨어 역할
작은 OpenVPN 게이트웨이에는 모든 선택적 서버 역할이 아니라 의도적으로 고른 터널 서비스와 관리 경로가 필요합니다. 터널을 SSH 및 PKI와 분리하십시오.
OpenVPN 게이트웨이 전용 머신에는 지원되는 서버 설치와 실제로 수행하는 작업에 필요한 소프트웨어가 필요합니다. SSH, 웹 호스팅 및 기타 서버 역할을 제공하는 설치 프로그램 메뉴는 OpenVPN의 전제 조건 목록이 아닙니다. 헤드리스 배포는 충분히 합리적입니다. 중요한 것은 세 가지 작업, 즉 터널을 나르고 호스트를 관리하고 자격 증명을 발급하는 일을 분리하는 것입니다.
다음은 제가 쓰는 점검 순서이며, 각 단계를 마무리하는 확인도 함께 둡니다.
1. 터널 서비스에 자체 패키지와 프로필을 부여하십시오
우분투의 OpenVPN 서버 안내서는 배포판의 openvpn 패키지를 명령줄 및 서비스 구성과 함께 사용합니다. 같은 패키지가 리눅스 클라이언트로도 작동하며, 역할은 구성이 선택합니다.
즉, 클라이언트 GUI를 설치하는 것이 호스트를 서버로 만드는 일도 아니고, 그것을 제거하는 것이 헤드리스로 만드는 일도 아닙니다. 실행 중인 인스턴스가 어느 프로필을 읽는지 기록하십시오, 같은 디렉터리의 두 번째 구성 파일이 아무도 모르게 로드될 수 있고 데몬은 어느 경우든 성공을 보고하기 때문입니다. 프로필이 둘 존재하면 어느 쪽이 이기는지는 서비스 관리자가 결정하며, 그 결정은 추측이 아니라 여러분의 기록에 속합니다.
2. 터널보다 먼저 관리 경로를 정하십시오
OpenSSH는 별도의 openssh-server 패키지에서 오며 자체 서비스로 실행됩니다. 관리자가 SSH로 머신에 접근해야 할 때 유용하지만, OpenVPN은 VPN 패킷을 주고받는 데 SSH 서버를 필요로 하지 않습니다. 로컬 콘솔이나 승인된 플랫폼 관리 채널도 유효한 경로입니다. 라우팅이나 필터링을 바꾸기 전에 어느 쪽에 의존할지 결정하십시오, 새 터널이 스스로를 고치는 유일한 미검증 수단이 되어서는 안 되기 때문입니다.
3. 승인된 소유자로부터 자격 증명을 발급하십시오
우분투 예제는 작은 PKI를 구축하기 위해 OpenVPN과 함께 easy-rsa를 설치하는데, 이는 실행 중인 터널 서비스가 아니라 자격 증명 발급 역할입니다. 조직에 이미 승인된 발급 절차가 있다면 튜토리얼에 하나가 들어 있다는 이유로 무관한 CA를 만드는 대신 그것을 사용하십시오. 게이트웨이 자체의 개인 키와 인증서는 CA 서명 키와 분리해 두고, 서명과 백업 위치는 의도적으로 선택하십시오. 모든 PKI 파일을 모든 호스트에 복사하는 것은 소프트웨어 요구 사항이 아닙니다.
4. 데스크톱 플러그인은 데스크톱에 맡기십시오
NetworkManager 편집기나 가져오기 플러그인은 그 워크플로를 쓰는 머신에서 목적이 있습니다. 게이트웨이가 OpenVPN을 말한다고 해서 필요한 추가 서버 기능은 아닙니다.
연결의 소유자를 하나로 정하고, 같은 프로필의 두 번째 데스크톱 관리 사본을 시작하지 마십시오.
5. 실제 클라이언트로 게이트웨이를 승인하십시오
패키지가 적다고 완성된 게이트웨이는 아닙니다. 서버에는 여전히 승인된 리스너, ID, 경로, 필요할 때의 전달, 좁은 방화벽 정책, 의도한 반환 경로가 필요합니다. 로그가 어디에 나타나고 업데이트가 어떻게 적용되는지 적어 두십시오, 그 두 답이 나중에 장애를 어떻게 진단할지 결정하기 때문입니다.
인터넷 출구 설계와 사설 네트워크 접근 설계는 전달 요구가 다르므로, 무엇이든 열기 전에 어느 쪽을 만드는지 결정하십시오. 승인된 클라이언트 하나를 올리고 터널 표시가 아니라 의도한 리소스를 확인하십시오. 그다음 서비스를 통제된 방식으로 다시 시작하고 무인 시작 경로를 확인하십시오, 누군가 지켜볼 때만 올라오는 게이트웨이는 아직 배포되지 않았기 때문입니다.