WireGuard · 2026-03-04

WireGuard에 PSK 적용과 설정 방법

WireGuard에서 PSK(Pre-shared key)를 활용한 추가 암호화, 설정 절차, 검증 방법과 운영 시 고려사항을 정리한 기술자료

작성일 : 2026-03-04 ㆍ 작성자 : 관리자
post
목차

개요

WireGuard는 간결하고 고성능인 최신 VPN 프로토콜이다. 기본적으로 공개키 기반 암호화로 통신을 보호하지만, Pre-shared key(이하 PSK)를 함께 사용하면 대칭키 기반의 추가 암호화가 더해진다. 본문에서는 PSK의 개념, 적용 이점, 구체적인 설정 절차와 주의사항을 초심자도 이해할 수 있도록 단계별로 설명한다.

PSK(Pre-shared key)란

PSK는 통신 당사자가 미리 공유한 대칭 키다. WireGuard에서는 각 피어간의 암호화 레이어에 PSK를 추가할 수 있다. 공개키로 세션 키를 교환한 뒤, PSK가 결합되어 추가적인 암호화를 제공한다. 공격자가 한 레벨의 키를 얻더라도 PSK가 없으면 트래픽 복호화가 어렵다.

왜 PSK를 더하나

  • 다중 암호화: 공개키 기반 암호화 외에 대칭키를 추가하여 복호화 난이도를 높임.
  • 키 분리: 특정 상황에서 한 키가 노출되어도 PSK가 별도로 요구되므로 안전성 향상.
  • 호환성: 기존 WireGuard 설정에 최소한의 변경으로 적용 가능.

장단점 요약

장점

  • 추가 보안 계층 제공으로 데이터 안전성 강화.
  • 설정이 단순하여 운영 부담이 크지 않음.

단점

  • PSK 관리가 추가로 필요하므로 키 유출 위험 관리 필요.
  • 잘못된 배포나 재사용으로 인해 오히려 취약점이 발생할 수 있음.

적용 전 고려사항

  • PSK는 피어별로 생성하는 것이 권장된다. 동일 PSK를 여러 연결에 재사용하면 위험이 커진다.
  • 안전한 생성 방법과 전달 경로를 확보한다(예: 안전한 파일 전송, 물리적 전달 등).
  • 키 교체 주기와 폐기 정책을 문서화한다.

실제 설정 절차

아래 예시는 서버(예: vpn-server)와 클라이언트(예: client1) 간의 PSK 적용 방법을 보여준다. wg(또는 wg-quick)를 사용하며, 키 생성과 구성 파일 수정 순서로 설명한다.

1. PSK 생성

서버에서 psks를 생성한다. Linux 환경에서는 wg 명령을 사용한다.

wg genpsk > /etc/wireguard/psk-client1.key
chmod 600 /etc/wireguard/psk-client1.key

2. 서버 구성에 PSK 추가

서버의 피어 블록에 preshared key 항목을 추가한다. 아래는 /etc/wireguard/wg0.conf의 예시다.

[Interface]
Address = 10.0.0.1/24
PrivateKey = SERVER_PRIVATE_KEY
ListenPort = 51820

[Peer]
PublicKey = CLIENT1_PUBLIC_KEY
PresharedKey = $(cat /etc/wireguard/psk-client1.key)
AllowedIPs = 10.0.0.2/32

3. 클라이언트 구성에 PSK 추가

클라이언트의 피어 블록에도 동일한 preshared key를 넣는다. 파일 전송은 안전한 방법으로 수행한다.

[Interface]
Address = 10.0.0.2/32
PrivateKey = CLIENT1_PRIVATE_KEY

[Peer]
PublicKey = SERVER_PUBLIC_KEY
PresharedKey = CLIENT1_PRESHARED_KEY_VALUE
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0

4. 서비스 재시작 및 검증

  • 서버와 클라이언트에서 WireGuard 인터페이스를 다시 시작한다: wg-quick down wg0; wg-quick up wg0.
  • wg show output을 통해 핸드셰이크와 송수신 바이트가 발생하는지 확인한다.

테스트와 문제 해결

연결이 되지 않을 때는 아래 항목을 순서대로 점검한다.

  • PublicKey/PrivateKey 쌍이 정확한지 확인.
  • PresharedKey가 양쪽에서 동일한지 확인.
  • 포트 및 방화벽 규칙이 허용되는지 확인.
  • wg show을 이용해 최근 핸드셰이크 시간과 송수신 바이트를 확인.

운영상 권장사항

  • PSK는 피어별로 생성하고 주기적으로 교체한다.
  • 키 저장소는 권한을 최소화하여 접근을 제한한다.
  • 감사 기록과 키 교체 기록을 남겨 문제 발생 시 추적 가능하도록 한다.

결론

WireGuard에 PSK를 추가하면 추가적인 암호화 계층을 얻을 수 있다. 설정 자체는 간단하지만, 키 관리와 배포 정책을 엄격히 지켜야 한다. 적절한 키 생성과 안전한 전달, 정기적인 교체로 보안성을 높일 수 있다. 예제를 따라하면 WireGuard PSK 설정과 검증을 무리 없이 수행할 수 있다.

WireGuard PSK 설정 Pre-shared key WireGuard WireGuard PSK 사용법 WireGuard PSK wg genpsk VPN 보안 네트워크 보안