웹사이트 검색

Ubuntu 16.04에서 StrongSwan으로 IKEv2 VPN 서버를 설정하는 방법


소개

가상 사설망(VPN)을 사용하면 커피숍, 회의 또는 공항과 같은 신뢰할 수 없는 네트워크를 통해 이동하는 트래픽을 안전하게 암호화할 수 있습니다.

IKEv2(Internet Key Exchange v2)는 서버와 클라이언트 간에 직접 IPSec 터널링을 허용하는 프로토콜입니다. IKEv2 VPN 구현에서 IPSec은 네트워크 트래픽에 대한 암호화를 제공합니다. IKEv2는 추가 애플리케이션 없이 새로운 플랫폼(OS X 10.11+, iOS 9.1+ 및 Windows 10)에서 기본적으로 지원되며 클라이언트 딸꾹질을 매우 원활하게 처리합니다.

이 자습서에서는 Ubuntu 16.04 서버에서 StrongSwan을 사용하여 IKEv2 VPN 서버를 설정하고 Windows, iOS 및 macOS 클라이언트에서 연결합니다.

전제 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • 루트가 아닌 sudo 사용자 및 방화벽을 포함하여 Ubuntu 16.04 초기 서버 설정 가이드에 따라 구성된 다중 CPU가 있는 Ubuntu 16.04 서버 1개

또한 IPTables에 대해 잘 알고 있어야 합니다. 계속 진행하기 전에 Iptables 방화벽 작동 방식을 검토하십시오.

1단계 - StrongSwan 설치

먼저 VPN 서버로 구성할 오픈 소스 IPSec 데몬인 StrongSwan을 설치합니다. 또한 인증서 기반 인증과 달리 클라이언트에 대한 암호 인증을 허용하는 StrongSwan EAP 플러그인을 설치합니다. 이 구성의 일부로 일부 특수 방화벽 규칙을 만들어야 하므로 새 방화벽 규칙을 영구적으로 만들 수 있는 유틸리티도 설치합니다.

다음 명령을 실행하여 이러한 구성 요소를 설치합니다.

  1. sudo apt-get install strongswan strongswan-plugin-eap-mschapv2 moreutils iptables-persistent

참고: iptables-persistent를 설치하는 동안 설치 프로그램은 현재 IPv4 및 IPv6 규칙을 저장할지 여부를 묻습니다. 이전 방화벽 구성이 동일하게 유지되기를 원하므로 두 프롬프트에서 모두 예를 선택합니다.

이제 모든 것이 설치되었으므로 인증서 생성으로 이동하겠습니다.

2단계 - 인증 기관 생성

IKEv2 서버에는 클라이언트에 자신을 식별하기 위한 인증서가 필요합니다. 필요한 인증서를 생성하는 데 도움이 되도록 StrongSwan은 인증 기관 및 서버 인증서를 생성하는 유틸리티와 함께 제공됩니다. 시작하려면 작업할 모든 항목을 저장할 디렉토리를 만들어 봅시다.

  1. mkdir vpn-certs
  2. cd vpn-certs

이제 모든 것을 저장할 디렉토리가 있으므로 루트 키를 생성해 보겠습니다. 이는 루트 인증 기관에 서명하는 데 사용되는 4096비트 RSA 키이므로 루트 사용자만 읽을 수 있도록 하여 이 키를 보호하는 것도 매우 중요합니다.

다음 명령을 실행하여 키를 생성하고 보호하십시오.

  1. ipsec pki --gen --type rsa --size 4096 --outform pem > server-root-key.pem
  2. chmod 600 server-root-key.pem

이제 키가 있으므로 키를 사용하여 루트 인증서에 서명하여 루트 인증 기관을 생성할 수 있습니다.

  1. ipsec pki --self --ca --lifetime 3650 \
  2. --in server-root-key.pem \
  3. --type rsa --dn "C=US, O=VPN Server, CN=VPN Server Root CA" \
  4. --outform pem > server-root-ca.pem

원하는 경우 국가, 조직 및 일반 이름과 같은 고유 이름(DN) 값을 다른 것으로 변경할 수 있습니다. 여기서 통용되는 이름은 지표일 뿐이므로 꾸며낼 수도 있습니다.

나중에 루트 인증서(server-root-ca.pem)를 클라이언트 장치에 복사하여 연결할 때 서버의 신뢰성을 확인할 수 있도록 합니다.

이제 루트 인증 기관을 설정하고 실행했으므로 VPN 서버에서 사용할 인증서를 만들 수 있습니다.

3단계 - VPN 서버용 인증서 생성

이제 VPN 서버에 대한 인증서와 키를 생성합니다. 이 인증서를 통해 클라이언트는 서버의 신뢰성을 확인할 수 있습니다.

먼저 다음 명령을 사용하여 VPN 서버의 개인 키를 만듭니다.

  1. ipsec pki --gen --type rsa --size 4096 --outform pem > vpn-server-key.pem

그런 다음 이전 단계에서 생성한 인증 기관의 키로 VPN 서버 인증서를 생성하고 서명합니다. 다음 명령을 실행하되 일반 이름(CN) 및 주체 대체 이름(SAN) 필드를 VPN 서버의 DNS 이름 또는 IP 주소로 변경합니다.

  1. ipsec pki --pub --in vpn-server-key.pem \
  2. --type rsa | ipsec pki --issue --lifetime 1825 \
  3. --cacert server-root-ca.pem \
  4. --cakey server-root-key.pem \
  5. --dn "C=US, O=VPN Server, CN=server_name_or_ip" \
  6. --san server_name_or_ip \
  7. --flag serverAuth --flag ikeIntermediate \
  8. --outform pem > vpn-server-cert.pem

StrongSwan이 인증서를 읽을 수 있는 경로에 인증서를 복사합니다.

  1. sudo cp ./vpn-server-cert.pem /etc/ipsec.d/certs/vpn-server-cert.pem
  2. sudo cp ./vpn-server-key.pem /etc/ipsec.d/private/vpn-server-key.pem

마지막으로 루트 사용자만 읽을 수 있도록 키를 보호하십시오.

  1. sudo chown root /etc/ipsec.d/private/vpn-server-key.pem
  2. sudo chgrp root /etc/ipsec.d/private/vpn-server-key.pem
  3. sudo chmod 600 /etc/ipsec.d/private/vpn-server-key.pem

이 단계에서는 클라이언트와 서버 간의 통신을 보호하는 데 사용할 인증서 쌍을 만들었습니다. 또한 루트 키로 인증서에 서명했으므로 클라이언트는 VPN 서버의 신뢰성을 확인할 수 있습니다. 이제 모든 인증서가 준비되었으므로 소프트웨어 구성으로 넘어갑니다.

4단계 - StrongSwan 구성

필요한 모든 인증서를 이미 만들었으므로 이제 StrongSwan 자체를 구성할 차례입니다.

StrongSwan에는 기본 구성 파일이 있지만 변경하기 전에 문제가 발생할 경우를 대비하여 참조 파일을 갖도록 먼저 백업해 두겠습니다.

  1. sudo cp /etc/ipsec.conf /etc/ipsec.conf.original

예제 파일이 상당히 길기 때문에 구성 오류를 방지하기 위해 기본 구성 파일을 지우고 처음부터 자체 구성을 작성합니다. 먼저 원래 구성을 지웁니다.

  1. echo '' | sudo tee /etc/ipsec.conf

그런 다음 텍스트 편집기에서 파일을 엽니다.

  1. sudo nano /etc/ipsec.conf

먼저 StrongSwan에게 디버깅을 위해 데몬 상태를 기록하고 중복 연결을 허용하도록 지시합니다. 파일에 다음 줄을 추가합니다.

config setup
  charondebug="ike 1, knl 1, cfg 0"
  uniqueids=no

그런 다음 VPN에 대한 구성 섹션을 만듭니다. 또한 StrongSwan에 IKEv2 VPN 터널을 생성하고 시작할 때 이 구성 섹션을 자동으로 로드하도록 지시합니다. 파일에 다음 줄을 추가합니다.

conn ikev2-vpn
  auto=add
  compress=no
  type=tunnel
  keyexchange=ikev2
  fragmentation=yes
  forceencaps=yes

다음으로 VPN에 사용할 암호화 알고리즘을 StrongSwan에 알려줍니다. 다음 줄을 추가합니다.

  ike=aes256-sha1-modp1024,3des-sha1-modp1024!
  esp=aes256-sha1,3des-sha1!

또한 클라이언트가 예기치 않게 연결이 끊어지는 경우 "dangling\ 연결을 지우도록 데드 피어 감지를 구성합니다. 다음 줄을 추가합니다.

  dpdaction=clear
  dpddelay=300s
  rekey=no

그런 다음 서버(왼쪽) 측 IPSec 매개변수를 구성합니다. 파일에 다음을 추가하십시오.

  left=%any
  leftid=@server_name_or_ip
  leftcert=/etc/ipsec.d/certs/vpn-server-cert.pem
  leftsendcert=always
  leftsubnet=0.0.0.0/0

참고: 서버 ID(leftid)를 구성할 때 VPN 서버가 도메인 이름으로 식별되는 경우 @ 문자만 포함하십시오.

  leftid=@vpn.example.com

서버가 IP 주소로 식별되는 경우 IP 주소를 다음 위치에 입력하십시오.

  leftid=111.111.111.111

그런 다음 사용할 사설 IP 주소 범위 및 DNS 서버와 같은 클라이언트(오른쪽) 측 IPSec 매개변수를 구성합니다.

  right=%any
  rightid=%any
  rightauth=eap-mschapv2
  rightsourceip=10.10.10.0/24
  rightdns=8.8.8.8,8.8.4.4
  rightsendcert=never

마지막으로 클라이언트가 연결할 때 사용자 자격 증명을 요청하도록 StrongSwan에 지시합니다.

  eap_identity=%identity

구성 파일은 다음과 같아야 합니다.

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    ike=aes256-sha1-modp1024,3des-sha1-modp1024!
    esp=aes256-sha1,3des-sha1!
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=@server_name_or_ip
    leftcert=/etc/ipsec.d/certs/vpn-server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightdns=8.8.8.8,8.8.4.4
    rightsourceip=10.10.10.0/24
    rightsendcert=never
    eap_identity=%identity

표시된 대로 항목을 구성했음을 확인한 후 파일을 저장하고 닫습니다.

이제 VPN 매개변수를 구성했으므로 사용자가 서버에 연결할 수 있도록 계정 생성으로 이동하겠습니다.

5단계 - VPN 인증 구성

이제 VPN 서버가 클라이언트 연결을 허용하도록 구성되었지만 아직 구성된 자격 증명이 없으므로 ipsec.secrets라는 특수 구성 파일에서 몇 가지를 구성해야 합니다.

  • 서버 인증서의 개인 키를 찾을 수 있는 위치를 StrongSwan에 알려야 서버가 데이터를 암호화하고 해독할 수 있습니다.
  • 또한 VPN에 연결할 수 있는 사용자 목록을 설정해야 합니다.

편집을 위해 비밀 파일을 열겠습니다.

  1. sudo nano /etc/ipsec.secrets

먼저 StrongSwan에게 개인 키를 찾을 위치를 알려줍니다.

server_name_or_ip : RSA "/etc/ipsec.d/private/vpn-server-key.pem"

그런 다음 사용자 자격 증명을 만듭니다. 원하는 사용자 이름이나 암호 조합을 만들 수 있지만 이 사용자가 어디에서나 연결할 수 있도록 StrongSwan에 알려야 합니다.

your_username %any% : EAP "your_password"

파일을 저장하고 닫습니다. 이제 VPN 매개변수 작업을 마쳤으므로 구성이 적용되도록 VPN 서비스를 다시 로드합니다.

  1. sudo ipsec reload

VPN 서버가 서버 옵션과 사용자 자격 증명으로 완전히 구성되었으므로 이제 가장 중요한 부분인 방화벽 구성으로 넘어갈 차례입니다.

6단계 - 방화벽 및 커널 IP 포워딩 구성

이제 VPN 서버를 구성했으므로 VPN 트래픽을 전달하고 허용하도록 방화벽을 구성해야 합니다. 이를 위해 IPTables를 사용합니다.

먼저 UFW를 설정한 경우 구성해야 하는 규칙과 충돌할 수 있으므로 UFW를 비활성화합니다.

  1. sudo ufw disable

그런 다음 UFW에서 만든 나머지 방화벽 규칙을 모두 제거합니다.

  1. iptables -P INPUT ACCEPT
  2. iptables -P FORWARD ACCEPT
  3. iptables -F
  4. iptables -Z

SSH 세션이 잠기는 것을 방지하기 위해 이미 수락된 연결을 수락합니다. 또한 서버에 대한 향후 SSH 연결을 위해 포트 22(또는 구성한 포트)를 엽니다. 다음 명령을 실행합니다.

  1. sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  2. sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

또한 로컬 루프백 인터페이스에서 연결을 수락해야 합니다.

  1. sudo iptables -A INPUT -i lo -j ACCEPT

그런 다음 IPTables에 IPSec 연결을 수락하도록 지시합니다.

  1. sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
  2. sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT

다음으로 VPN 클라이언트가 연결할 수 있도록 ESP(Encapsulating Security Payload) 트래픽을 전달하도록 IPTables에 지시합니다. ESP는 VPN 패킷이 신뢰할 수 없는 네트워크를 통과할 때 추가 보안을 제공합니다.

  1. sudo iptables -A FORWARD --match policy --pol ipsec --dir in --proto esp -s 10.10.10.10/24 -j ACCEPT
  2. sudo iptables -A FORWARD --match policy --pol ipsec --dir out --proto esp -d 10.10.10.10/24 -j ACCEPT

당사의 VPN 서버는 VPN 클라이언트와 인터넷 간의 게이트웨이 역할을 합니다. VPN 서버에는 단일 공용 IP 주소만 있으므로 서버가 클라이언트를 대신하여 인터넷에서 데이터를 요청할 수 있도록 가장을 구성해야 합니다. 이렇게 하면 트래픽이 VPN 클라이언트에서 인터넷으로 또는 그 반대로 흐를 수 있습니다.

  1. sudo iptables -t nat -A POSTROUTING -s 10.10.10.10/24 -o eth0 -m policy --pol ipsec --dir out -j ACCEPT
  2. sudo iptables -t nat -A POSTROUTING -s 10.10.10.10/24 -o eth0 -j MASQUERADE

일부 클라이언트에서 IP 패킷 조각화를 방지하기 위해 패킷의 최대 세그먼트 크기를 조정하여 패킷 크기를 줄이도록 IPTables에 지시합니다. 이것은 일부 VPN 클라이언트의 문제를 방지합니다.

  1. sudo iptables -t mangle -A FORWARD --match policy --pol ipsec --dir in -s 10.10.10.10/24 -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360

더 나은 보안을 위해 우리가 구성한 규칙과 일치하지 않는 다른 모든 항목을 삭제합니다.

  1. sudo iptables -A INPUT -j DROP
  2. sudo iptables -A FORWARD -j DROP

이제 재부팅 시 모든 구성 작업이 지워지지 않도록 방화벽 구성을 영구적으로 만들 것입니다.

  1. sudo netfilter-persistent save
  2. sudo netfilter-persistent reload

마지막으로 서버에서 패킷 전달을 활성화합니다. 패킷 포워딩은 우리 서버가 한 IP 주소에서 다른 IP 주소로 데이터를 "라우팅\할 수 있게 해주는 것입니다. 본질적으로 우리는 서버가 라우터처럼 작동하도록 만들고 있습니다.

/etc/sysctl.conf 파일을 편집합니다.

  1. sudo nano /etc/sysctl.conf

여기서 몇 가지를 구성해야 합니다.

  • 먼저 IPv4 패킷 전달을 활성화합니다.
  • 패킷 조각화 문제를 방지하기 위해 경로 MTU 검색을 비활성화합니다.
  • 또한 중간자 공격을 방지하기 위해 ICMP 리디렉션을 허용하거나 전송하지 않습니다.

파일에 적용해야 하는 변경 사항은 다음 코드에서 강조 표시됩니다.


. . .

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

. . .

# Do not accept ICMP redirects (prevent MITM attacks)
net.ipv4.conf.all.accept_redirects = 0
# Do not send ICMP redirects (we are not a router)
net.ipv4.conf.all.send_redirects = 0

. . .

net.ipv4.ip_no_pmtu_disc = 1

변경하고 파일을 저장한 다음 편집기를 종료합니다. 그런 다음 서버를 다시 시작합니다.

  1. sudo reboot

재부팅하면 서버와의 연결이 끊어지지만 이는 예상된 일입니다. 서버가 재부팅된 후 루트가 아닌 sudo 사용자로 서버에 다시 로그인합니다. 클라이언트에서 연결을 테스트할 준비가 되었습니다.

7단계 – Windows, iOS 및 macOS에서 VPN 연결 테스트

모든 설정이 완료되었으므로 이제 사용해 볼 차례입니다. 먼저 생성한 루트 인증서를 복사하여 VPN에 연결할 클라이언트 장치에 설치해야 합니다. 이를 수행하는 가장 쉬운 방법은 서버에 로그인하고 다음 명령을 실행하여 인증서 파일의 내용을 표시하는 것입니다.

  1. cat ~/vpn-certs/server-root-ca.pem

다음과 유사한 출력이 표시됩니다.

Output
-----BEGIN CERTIFICATE----- MIIFQjCCAyqgAwIBAgIIFkQGvkH4ej0wDQYJKoZIhvcNAQEMBQAwPzELMAkGA1UE . . . EwbVLOXcNduWK2TPbk/+82GRMtjftran6hKbpKGghBVDPVFGFT6Z0OfubpkQ9RsQ BayqOb/Q -----END CERTIFICATE-----

-----BEGIN CERTIFICATE----------END CERTIFICATE----- 줄을 포함하여 이 출력을 컴퓨터에 복사합니다. vpn_root_certificate.pem과 같이 인식할 수 있는 이름으로 파일에 저장합니다. 생성한 파일에 .pem 확장자가 있는지 확인합니다.

또는 SFTP를 사용하여 파일을 컴퓨터로 전송합니다.

컴퓨터에 vpn_root_certificate.pem 파일을 다운로드했으면 VPN에 대한 연결을 설정할 수 있습니다.

Windows에서 연결

먼저 다음 단계에 따라 루트 인증서를 가져옵니다.

그런 다음 다음 단계에 따라 VPN을 구성합니다.

  1. 제어판을 시작한 다음 네트워크 및 공유 센터로 이동합니다.
  2. 새 연결 또는 네트워크 설정을 클릭한 다음 직장에 연결을 선택합니다.
  3. 내 인터넷 연결(VPN) 사용을 선택합니다.
  4. VPN 서버 세부 정보를 입력합니다. 인터넷 주소 필드에 서버의 도메인 이름 또는 IP 주소를 입력한 다음 VPN 연결을 설명하는 이름으로 대상 이름을 입력합니다. 그런 다음 완료를 클릭합니다.

네트워크 목록 아래에 새 VPN 연결이 표시됩니다. VPN을 선택하고 연결을 클릭합니다. 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 입력하고 확인을 클릭하면 연결됩니다.

iOS에서 연결

iOS 장치에서 VPN 연결을 구성하려면 다음 단계를 따르십시오.

  1. 루트 인증서가 첨부된 이메일을 자신에게 보냅니다.
  2. iOS 장치에서 이메일을 열고 첨부된 인증서 파일을 탭한 다음 설치를 탭하고 비밀번호를 입력하십시오. 설치되면 완료를 탭합니다.
  3. 설정, 일반, VPN으로 이동하고 VPN 구성 추가를 누릅니다. 그러면 VPN 연결 구성 화면이 나타납니다.
  4. 유형을 탭하고 IKEv2를 선택합니다.
  5. 설명 필드에 VPN 연결의 짧은 이름을 입력합니다. 이것은 당신이 좋아하는 무엇이든 될 수 있습니다.
  6. 서버 및 원격 ID 필드에 서버의 도메인 이름 또는 IP 주소를 입력합니다. 로컬 ID 필드는 비워둘 수 있습니다.
  7. 인증 섹션에 사용자 이름과 비밀번호를 입력한 다음 완료를 탭합니다.
  8. 방금 생성한 VPN 연결을 선택하고 페이지 상단의 스위치를 탭하면 연결됩니다.

macOS에서 연결

인증서를 가져오려면 다음 단계를 따르십시오.

  1. 인증서 파일을 두 번 클릭합니다. 키체인 접근이 "키체인 접근이 시스템 키체인을 수정하려고 합니다. 허용하려면 암호를 입력하세요.\라는 대화 상자와 함께 팝업됩니다.
  2. 암호를 입력한 다음 키체인 수정을 클릭하십시오
  3. 새로 가져온 VPN 인증서를 두 번 클릭합니다. 이렇게 하면 신뢰 수준을 지정할 수 있는 작은 속성 창이 나타납니다. IP 보안(IPSec)을 항상 신뢰로 설정하면 암호를 다시 입력하라는 메시지가 표시됩니다. 이 설정은 비밀번호를 입력하면 자동으로 저장됩니다.

이제 인증서가 중요하고 신뢰할 수 있으므로 다음 단계에 따라 VPN 연결을 구성합니다.

  1. 시스템 환경설정으로 이동하여 네트워크를 선택합니다.
  2. 네트워크 목록의 왼쪽 하단에 있는 작은 "더하기\ 버튼을 클릭합니다.
  3. 표시되는 팝업에서 인터페이스를 VPN으로 설정하고 VPN 유형을 IKEv2로 설정하고 연결 이름을 지정합니다.
  4. 서버 및 원격 ID 필드에 서버의 도메인 이름 또는 IP 주소를 입력합니다. 로컬 ID는 비워둡니다.
  5. 인증 설정을 클릭하고 사용자 이름을 선택한 다음 VPN 사용자에 대해 구성한 사용자 이름과 암호를 입력합니다. 그런 다음 확인을 클릭합니다.

마지막으로 연결을 클릭하여 VPN에 연결합니다. 이제 VPN에 연결되어야 합니다.

연결 문제 해결

인증서를 가져올 수 없는 경우 파일에 .pem.txt가 아닌 .pem 확장자가 있는지 확인하십시오.

VPN에 연결할 수 없는 경우 사용한 서버 이름 또는 IP 주소를 확인하세요. 서버의 도메인 이름 또는 IP 주소는 인증서를 생성하는 동안 일반 이름(CN)으로 구성한 것과 일치해야 합니다. 일치하지 않으면 VPN 연결이 작동하지 않습니다. vpn.example.com의 CN으로 인증서를 설정하는 경우 반드시 VPN에 들어갈 때 vpn.example.com을 사용해야 합니다. 서버 세부 정보. 인증서를 생성하는 데 사용한 명령과 VPN 연결을 만들 때 사용한 값을 다시 확인하십시오.

마지막으로 도메인 이름을 사용하는 경우 VPN 구성을 다시 확인하여 leftid 값이 @ 기호로 구성되었는지 확인하세요.

  leftid=@vpn.example.com

IP 주소를 사용하는 경우 @ 기호가 생략되었는지 확인하세요.

결론

이 자습서에서는 IKEv2 프로토콜을 사용하는 VPN 서버를 구축했습니다. 이제 어디를 가든지 온라인 활동이 안전하게 유지된다는 것을 확신할 수 있습니다!

사용자를 추가하거나 제거하려면 5단계를 다시 살펴보십시오. 각 줄은 한 명의 사용자를 위한 것이므로 사용자를 추가하거나 제거하는 것은 파일을 편집하는 것만큼 간단합니다.

여기에서 StrongSwan이 로그를 syslog에 덤프하기 때문에 로그 파일 분석기 설정을 살펴볼 수 있습니다. VPS에서 Logwatch Log Analyzer 및 Reporter를 설치하고 사용하는 방법 튜토리얼에 설정에 대한 자세한 정보가 있습니다.

온라인 개인 정보 보호에 대한 EFF의 이 가이드에 관심이 있을 수도 있습니다.