Linux에서 Surfshark VPN 유출

Linux에서 Surfshark VPN 유출

오늘 Surfshark VPN을 설정했는데 Amazon이 이를 감지할 수 있는 것 같습니다.

장치는 VPN 또는 프록시 서비스를 사용하여 인터넷에 연결합니다. 비활성화하고 다시 시도하십시오. 추가 도움이 필요하면 amazon.com/pv-vpn을 방문하세요.

고객 지원팀에 연락하여 resolv.conf 지점을 Surfshark 서버로 수동으로 변경했지만 여전히 작동하지 않습니다.

누출을 감지하고 VPN을 구성하려면 어떻게 해야 합니까?

고쳐 쓰다: 내 DNS가 유출된 것 같습니다. 이거 따라해보려고 하는데우편 엽서네트워크를 수정했지만 아직 성공하지 못했습니다.

mengo@mengo-desktop:~$ grep hosts /etc/nsswitch.conf
hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname

mengo@mengo-desktop:~$ head /etc/resolv.conf 
nameserver 162.252.172.57
nameserver 149.154.159.92
nameserver 162.252.172.57
nameserver 149.154.159.92
nameserver 127.0.0.53

mengo@mengo-desktop:~$ head /etc/resolvconf/interface-order 
# interface-order(5)
lo.inet6
lo.inet
lo.@(dnsmasq|pdnsd)
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
vpn*

mengo@mengo-desktop:~$ cat /etc/NetworkManager/NetworkManager.conf 
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

업데이트 2:

mengo@mengo-desktop:~$ resolvectl status
Global
...
   Current DNS Server: 162.252.172.57      
         DNS Servers: 162.252.172.57      
                      149.154.159.92
...
// This entry is shown when vpn is active
Link 3 (tun0)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no
Link 2 (enp0s25)
...
  Current DNS Server: 192.168.1.1
         DNS Servers: 192.168.1.1

// connect vpn will create a new file `tun0.openvpn` which contains their server address
mengo@mengo-desktop:~$ ls /run/resolvconf/interface/
systemd-resolved  tun0.openvpn
mengo@mengo-desktop:~$ cat /run/resolvconf/interface/tun0.openvpn 
nameserver 162.252.172.57
nameserver 149.154.159.92
// I don't see vpn related entry here
mengo@mengo-desktop:~$ nmcli c show tun0 | grep -i dns
connection.mdns:                        -1 (default)
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      100
ipv4.ignore-auto-dns:                   no
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      100
ipv6.ignore-auto-dns:                   no
// DNSOverTLS seems enabled by default
mengo@mengo-desktop:~$ cat /etc/systemd/resolved.conf | grep DNSOverTLS
#DNSOverTLS=no

업데이트 3 VPN이 시작되거나 종료될 때 일부 패킷이 콘솔에 기록되는 것 같습니다. 이것은 정기적으로 발생합니다.

sudo tcpdump -i any -s0 -Knpvv host 192.168.1.1 and \(tcp port 53 or udp port 53\)
18:00:28.037630 IP (tos 0x0, ttl 64, id 35268, offset 0, flags [DF], proto UDP (17), length 86)
    192.168.1.24.42322 > 192.168.1.1.53: 62333+ [1au] AAAA? connectivity-check.ubuntu.com. ar: . OPT UDPsize=512 (58)
18:00:28.049945 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 147)
    192.168.1.1.53 > 192.168.1.24.42322: 62333 q: AAAA? connectivity-check.ubuntu.com. 0/1/1 ns: ubuntu.com. SOA ns1.canonical.com. hostmaster.canonical.com. 2018053142 10800 3600 604800 3600 ar: . OPT UDPsize=512 (119)
18:01:56.945889 IP (tos 0x0, ttl 64, id 37261, offset 0, flags [DF], proto UDP (17), length 86)
    192.168.1.24.50380 > 192.168.1.1.53: 11200+ [1au] A? connectivity-check.ubuntu.com. ar: . OPT UDPsize=512 (58)
18:01:56.958968 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 118)
    192.168.1.1.53 > 192.168.1.24.50380: 11200 q: A? connectivity-check.ubuntu.com. 2/0/1 connectivity-check.ubuntu.com. A 35.222.85.5, connectivity-check.ubuntu.com. A 35.224.99.156 ar: . OPT UDPsize=512 (90)

운영 체제: 리눅스 민트 20.

답변1

현재 5개의 nameserver항목이 있으며 /etc/resolv.conf그 중 2개는 중복됩니다. 일반적으로 지원되는 최대 항목 수는 3개입니다. 이것이 유출의 원인은 아닐 수도 있지만 DNS 확인이 정의되지 않은 방식으로 작동하여 무슨 일이 일어나고 있는지 파악하기 어렵게 만들 수 있습니다. 아니면 추가 항목이 무시될 수도 있습니다. 하지만 시스템이 처음 3개를 사용합니까, 아니면 마지막 3개를 사용합니까?

또한 127.0.0.53이 마지막 항목으로 나열되어 있습니다 systemd-resolved.service. 이는 해당 systemctl status systemd-resolved항목이 실행 중인지 확인하고, 그렇다면 resolvectl status어떤 DNS 서버를 사용하도록 구성되었는지 확인하세요 /etc/resolv.conf.

DNS 유출은 Amazon이 VPN을 감지하는 것과 아무 관련이 없을 수도 있습니다. MariusMatutiae가 언급한 것처럼, 그들은 연결 시도가 알려진 SurfShark 종료 지점인 IP 주소에서 오는 것을 단순히 감지하여 연결을 거부할 수 있습니다.

/etc/resolvconf/interface-order시스템에 존재 하므로 아마도 resolvconf설치되었을 가능성이 높습니다. 이 경우 ls /run/resolvconf/interfaceDHCP 및/또는 기타 구성 방법을 통해 수신된 DNS 설정이 포함된 하나 이상의 파일이 표시되어야 합니다. SurfShark를 활성화하면 다른 파일이 표시되는 경우 SurfShark VPN 클라이언트가 NetworkManager를 우회할 수 있으므로 resolvconfVPN이 활성화된 경우에만 SurfShark의 설정을 사용하도록 설정을 조정해야 할 수 있습니다 .

라는 파일이 하나만 있는 경우 NetworkManagerNetworkManager /run/resolvconf/interface/는 운영 체제 수준 DNS 구성을 완전히 제어합니다. 이 경우 일부 진단 단계는 다음과 같습니다.

  • nmcli c showNetworkManager에 알려진 모든 네트워크 연결의 이름을 보려면 실행합니다 . SurfShark VPN이 여기에 포함되어 있나요?

  • SurfShark가 나열되면 나열된 이름을 기록한 다음 SurfShark VPN을 활성화하고 실행하십시오 nmcli c show "place the actual connection name of SurfShark VPN here" | grep -i dns. SurfShark VPN 연결이 NetworkManager에 DNS 서버 정보를 제공한 경우 이 명령을 사용하면 해당 정보가 나열됩니다.

/etc/resolv.conf두 방법 모두 SurfShark와 관련된 DNS 설정을 표시하지 않는 경우 SurfShark VPN을 활성화/비활성화할 때 콘텐츠 및/또는 출력이 변경되는지 확인해야 합니다 . resolvectl statusVPN 클라이언트는 이들 중 하나 또는 둘 다를 직접 조작할 수 있습니다.

어디서나 VPN을 활성화/비활성화하는 것과 관련된 명확한 DNS 설정 변경 없이 SurfShark VPN 클라이언트는 커널 수준의 모든 DNS 트래픽을 SurfShark 서버로 리디렉션할 수 있습니다. 수행 방법에 따라 로컬에서 표시되거나 표시되지 않을 수 있습니다. 가장 까다로운 경우에는 DNS 트래픽이 실제로 SurfShark로 리디렉션되는지 확인하기 위해 외부 트래픽 스니퍼가 필요할 수 있습니다.

또한 최신 웹 브라우저는 DNS-over-HTTPS 또는 DNS-over-TLS를 사용할 수 있습니다. 이러한 기술은 전체 운영 체제 수준 호스트 이름 확인 인프라를 우회하고 DoH 또는 DoT 공급자에 대한 직접 암호화 연결을 설정합니다. 이는 DNS 누출 테스트에서 감지된 것일 수 있습니다.

(에서 설정이 활성화된 경우 DNS-over-TLS도 사용할 수 있습니다 systemd-resolved.)DNSOverTLS/etc/systemd/resolved.conf

관련 정보