IPv6을 사용할 때 MAC 주소가 노출되지 않도록하는 방법은 무엇입니까?


140

내 Mac에서 각 IPv6 주소 에는 특정 컴퓨터 ( 라우터가 아닌) 의 MAC 주소가 포함됩니다 . ipv6-test.com 과 같은 사이트는 사이트를 보여줄뿐만 아니라 Apple 컴퓨터에 속한다고 말합니다.

이것은 슈퍼 쿠키처럼 느껴지며 다른 운영 체제에도 적용될 수 있습니다. MAC 주소가 노출되지 않도록하려면 어떻게해야합니까?

배경 : MAC 주소가 제대로 보이지 않습니다 . 좋아요 2001:0db8:1:2:60:8ff:fe52:f9d8:

  • 마지막 64 비트 (호스트 식별자)를 가져와 앞에 0을 추가하십시오 0060:08ff:fe52:f9d8.
  • ff:fe중간 에서 부품을 제거하십시오. 이 바이트는하지가있는 경우, 다음 에는 MAC 주소가 없습니다.
  • 첫 번째 바이트의 경우 : 두 번째 하위 비트 (범용 / 로컬 비트; 비트가 1이면 0으로 설정하고 0이면 1로 설정)를 보완합니다. 따라서 : 0x00(00000000)은 0x02(00000010)이됩니다.
  • Presto : 60:8ff:fe52:f9d8MAC 주소로 다시 변환됩니다 02:60:08:52:f9:d8.

참고 : MacOS 10.12 Sierra 이후 Ars Technica에 따르면 Apple은 MAC 주소를 기반으로하지 않는 안정적인 주소를 생성하는 새로운 방법을 채택했습니다 .


이 질문은 금주슈퍼 사용자 질문입니다 . 자세한 내용
블로그 항목 을 읽 거나 블로그에 직접 참여 하십시오.


14
와우 나는 IPV6에 대해 알지 못했습니다.
Supercereal

18
물론 그것은 애플 컴퓨터를 보여줍니다. 결국 MAC 주소입니다.
Graeme Perrow

@Kronos, 블로그 항목에서 이미지가 누락되었습니다. blog.superuser.com/2011/02/11/… URL에 ".stack"을 추가하면 도움이됩니다. i.stack.imgur.com/RNXoA.png
Arjan

...하지만 @ .ronk에 ".stack"을 추가하면 실제로 i.imgur.com/vjK73.png(okay ) vs. i.stack.imgur.com/vjK73.png ( 예 : i.imgur.com/vjK73.png(okay ))와 같은 동일한 블로그 게시물이 사라지는 다른 이미지 형식이 만들어집니다. 안 괜찮아). 즉 , 현재 사용하지 않는 블로그의 모든 이미지를 .stack다시 업로드해야합니까?
Arjan

@Arjan 확실하지 않습니다. 이 부분을 확인해야합니다. 블로그에 업로드 된 모든 이미지가 자동으로 스택의 imgur 계정에 업로드되는 기능을 원합니다. 일반 사이트가 현재하는 것과 유사
James Mertz

답변:


134

이는 IPv6에 대한 두 가지 확장으로 해결됩니다.

  • RFC 4941 ( "개인 정보 주소 지정")은 아웃 바운드 연결에서 임의로 생성 된 임시 주소 (몇 시간마다 회전)를 사용할 수 있도록합니다.
  • RFC 7217을 사용하면 정보를 공개하지 않는 불투명 해시에서 기본 정적 주소를 생성 할 수 있습니다.

널리 사용되는 운영 체제에서 하나 이상이지만 점차 두 가지 방법 모두 지원됩니다.

이러한 기능은 직교합니다. 원하는 경우 두 가지를 동시에 사용할 수 있습니다.

안정적인 개인 주소

일부 운영 체제에서 MAC (EUI-48) 주소는 더 이상 인터페이스 식별자에 사용되지 않습니다. 대신 일반적으로 RFC 7217에 따라 임의 또는 해시 기반 식별자가 사용됩니다.

  • Windows 는 기본적으로 Windows Vista부터 사용자 지정 구성표를 사용합니다.

    기능이 활성화되어 있는지 확인하려면 PowerShell 명령을 실행하십시오.

    Get-NetIPv6Protocol | fl RandomizeIdentifiers
    

    기능을 활성화 / 비활성화하려면

    Set-NetIPv6Protocol -RandomizeIdentifiers Enabled
    Set-NetIPv6Protocol -RandomizeIdentifiers Disabled
    
  • Linux (NetworkManager) 는 시드의 일부로 연결 프로필의 UUID를 사용하여 NetworkManager v1.2.0부터 RFC 7217을 지원합니다. 이 기능은 최신 NM 버전에서 기본적으로 활성화됩니다.

    이 기능을 활성화 또는 비활성화하려면 :

    nmcli con modify "<profilename>" ipv6.addr-gen-mode stable-privacy
    nmcli con modify "<profilename>" ipv6.addr-gen-mode eui64
    
  • Linux (커널 SLAAC)커널 v4.1.0부터 RFC 7217을 지원합니다. 그러나 sysctl을 통해 비밀 시드를 저장하여 수동으로 활성화해야합니다.

    비밀 키는 128 비트 16 진 문자열 (IPv6 주소 모양)이며 net.ipv6.conf.default.stable_secretsysctl에 저장해야합니다 . 지속성을 유지하기 위해 다음 /etc/sysctl.d/50-rfc7217.conf과 같이 넣을 수 있습니다 .

    net.ipv6.conf.default.stable_secret = 84a0:d5aa:52b0:4d35:k567:3aa6:7af5:474c
    

    비밀을 설정하면 모든 네트워크 인터페이스에 대해이 모드가 자동으로 활성화됩니다. 기능이 활성화되어 있는지 확인하려면에서 "addrgenmode stable_secret" ip -d link또는에서 "2"값을 찾으십시오 sysctl net.ipv6.conf.<ifname>.addr_gen_mode.

임시 개인 주소

RFC 4941에 정의 된대로 임시 개인 정보 주소는 무작위로 생성되고 몇 시간마다 순환됩니다.

  • Windows 는 Windows XP SP2부터 임시 주소를 지원합니다.

    이 기능을 활성화 / 비활성화하려면

    netsh interface ipv6 set privacy state=enabled
    netsh interface ipv6 set privacy state=disabled
    

    Windows는 더 이상 Windows Vista부터 MAC 주소 기반 기본 주소를 사용하지 않습니다.

  • Linux (NetworkManager) : 최신 버전의 NetworkManager는 RA를 자체적으로 처리하지만 아래 두 값은 sysctl과 동일한 의미를 갖습니다 (2 = 개인 정보 주소 선호, 1 = 기본 주소 선호).

     nmcli con modify <name> ipv6.ip6-privacy 2
    

    또한 1.2.0부터 더 나은 모드를 사용할 수있게되었으며, 이로 인해 기본 주소가 더 이상 MAC 기반이 아니라 모든 네트워크에 고유합니다 (RFC 7217).

    (개인 정보 보호 주소 지정은 addr-gen-mode와 직교하므로 두 가지를 모두 사용할 수 있습니다.)

    참고 사항 : 1.4.0부터 NM은 MAC 주소 자체를 무작위화할 수 있습니다. 설정 wifi.cloned-mac-address하기 위해 stable모든 네트워크 (권장)에 대해 서로 다른 MAC을 가지고, 또는 random그것을 무작위로하는 모든 (문제가 발생할 수 있습니다) 연결.

    모든 경우에 <name>연결 이름 (예 : WiFi SSID 또는)이어야합니다 "Wired Connection 1". nmcli con모두 나열하는 데 사용하십시오 .

    1.2.0부터 새로운 연결 의 기본값으로 설정하려면 다음을 변경할 수 있습니다 /etc/NetworkManager/NetworkManager.conf.

     [connection]
     ipv6.addr-gen-mode=stable-privacy
     wifi.cloned-mac-address=stable
    
  • Linux (커널 SLAAC) 는 임시 주소를 지원하지만 기본적으로는 사용하지 않습니다. sysctls를 통해 활성화 할 수 있습니다.

    임시 주소를 활성화 하고 발신 연결에 선호 하도록하려면 :

     sysctl net.ipv6.conf.all.use_tempaddr=2
     sysctl net.ipv6.conf.default.use_tempaddr=2
    

    임시 주소 생성을 활성화하지만 정적 SLAAC 주소를 원하는대로 유지하려면 다음을 수행하십시오.

     sysctl net.ipv6.conf.all.use_tempaddr=1
     sysctl net.ipv6.conf.default.use_tempaddr=1
    

    all또는 default일부는 특정 인터페이스의 이름으로 대체 할 수있다; 예 net.ipv6.conf.eth0.use_tempaddr.

    ( ip link set eth0 down && ip link set eth0 up주소 할당을 강요했지만 rdisc6 eth0다음주기적인 라우터 알림을 실행 하거나 몇 분 정도 기다릴 수도 있습니다 .)

  • Mac OS X – OS X 10.7 Lion 이후 기본적으로 활성화됩니다 :

     sysctl -w net.inet6.ip6.use_tempaddr=1
    

    사용 가능한 경우 임시 주소가 선호됩니다.

  • FreeBSD :

     sysctl net.inet6.ip6.use_tempaddr=1
    
     sysctl net.inet6.ip6.prefer_tempaddr=1
    
  • NetBSD :

     sysctl -w net.inet6.ip6.use_tempaddr=1
    

    임시 주소 환경 설정? 나도 몰라 autoconf 주소가 선호되는 것 같습니다. ifconfig주소 속성을 표시하지 않는 것 같습니다.

  • OpenBSD5.2에 추가 된 지원 ; 5.3 에서 기본적으로 활성화되고 선호됩니다 .

     ifconfig em0 autoconfprivacy
    

    ifconfig 임시 주소 옆에 "autoconfprivacy"가 표시됩니다.

구성에 대한 참고 사항 :

  • Linux, OS X 및 모든 BSD /etc/sysctl.conf에서 설정을 영구적으로 편집 하십시오.

  • Windows에서는 변경 사항이 자동으로 유지됩니다. ( 재부팅 할 때까지만 지속 store=active되도록하려면 netsh명령에 추가 할 수 있습니다 .)


IPv6INT.net의 IPv6 운영 체제 를 부분적으로 기반으로 합니다 . 참조 일반 IPv6의 노트


하드웨어 주소가 IPv6 주소에 사용되면 일반적으로 네트워크에서 IPv6 Stateless Autoconfiguration을 사용한다는 의미입니다. 이러한 경우, 고유 한 주소 접미사를 선택하고 IPv6을 수동으로 구성 할 수 있습니다.

그러나 수동으로 추가 한 주소에 하드웨어 정보가없는 경우에도 주소가 자주 변경되는 개인 정보 주소 지정과 달리 고정되어 있습니다. 또한 고정 주소는 2 ~ 3 개 장치보다 큰 네트워크에서 문제가 될 수 있습니다.


2
내 Mac과 FRITZ! Box 7340 라우터의 좋은 부작용 :에 두 개의 주소가 ifconfig있습니다. 발신 연결은 임의 autoconf temporary주소를 사용하며 ,이 주소는 때때로 변경됩니다. 좋은! 그러나 들어오는 연결 (라우터에서 열었을 때)에 대해서는 여전히 autoconf주소를 사용할 수 있습니다 . 나는 DNS 레코드에 그것을 노출시키는 것을 신경 쓰지 않습니다 (아마도 다른 주소를 선택할 수도 있습니다).
Arjan

아, 후이즈 스팸 이후 우리는 이제 IPv6 스팸을받습니다 : dig -t AAAA www.v6.facebook.com ;-)
Arjan

6
@Arjan : 라인을 따라 IPv6 주소 de4d:b33f는 그렇게 암기하지 않습니다; 또한 whois스팸은 소유자에 의해 이루어 지지만 스팸은 a) 성 가시고 b) 도메인을 제어 할 수없는 외부인에 의해 발생합니다.
grawity

1
제쳐두고 : 위의 (일부) 위의 OS가 임시 주소 를 선호 하도록 OS에 지시 할 수 있지만 응용 프로그램은 여전히이 환경 설정을 무시할 수 있습니다 .
Arjan

임시 주소 (IPv6 개인 정보 보호)를 사용하는 AFAICS는 일부 ISP에서 유효하지 않은 짧은 최대 수명이 40 초인 라우터 광고로 인해 커널 설정을 무시하므로 사실상 사용할 수 없습니다. 리눅스는 참조 ip a를 위해 preferred_lft. 따라서이 ssh기능을 활성화하면 연결이 각 40 대를 끊습니다. 각 다운로드는 40 대 이내에 완료되어야하기 때문에 일반 웹 서퍼에게는 사용할 수 없습니다.
티노

1

참고로, 이는 특정 IP 주소 지정 체계에만 적용됩니다. 귀하 (또는 귀하의 ISP)가 IPv6 자동 구성을 사용하고있을 가능성이 높으며,이를 위해서는 처음에 상당히 많은 IP 블록이 필요합니다. 해결책은이 기능을 끄는 것입니다. ISP는 DHCP를 사용하여 주소를 할당 할 수도 있습니다. IPv6에서도 가능합니다.


3
큰 블록의 경우 : "일반 할당"의 Wikipedia 에 따르면 : RIR은 작은 블록을 ISP에 할당 한 다음이 크기를 / 48 크기의 부품으로 클라이언트에 배포합니다. 실제로, ISP는 소비자 등급 가입자에게 / 48 접두사도 할당합니다. 그렇다면 너무 이상하지 않습니까?
Arjan

3
그런 다음 위키 백과를 비난하고, 아린의 초안 IPv6은 계획 주소 : 그들이 이상의 65K 서브넷이 필요하다는 것을 보여줄 수없는 한 모든 고객은 하나 / 48를 얻을. 뿐만 아니라 : 당신이 소비자 고객을 많이 가지고 있다면 개인 저택 사이트 / 56S 할당 할 수 있습니다 - 아직도 내가보다 더 필요합니다. ;-) 그러나 상황이 바뀔 수 있습니다. ISP 이를 약속 하지 않았지만 고객은이를 기반으로 모뎀 / 라우터를 구성했습니다.
Arjan

3
Arin이 "고객"이라고 말하면 "ISP"를 의미한다고 생각합니다. 매우 큰 ISP를 포함하여 모든 ISP는 전체 네트워크에 단일 / 64를 할당하여 사용할 수 있습니다. 더 이상의 라우팅이 필요하지 않습니다. 그러나 1 조에 달하는 IP 주소 블록을 평균 거주 고객에게 할당하는 것은 당연한 일입니다.
Ernie Dunbar

3
분명히, 하나의 이유는 적어도 할당/56 : "단일 나누어 ISP가 /64. 그 경우 전혀 서브넷에서 당신을 방지 /64. 당신의 LAN (들)의 WAN 인터페이스에 당신이 얻을 수 없을거야 괜찮은 IPv6을 사용 이것은 ISP의 결함이며 적절한 양 ( /48또는 /56)의 주소 를 제공하여이 문제를 해결해야 합니다. "
Arjan

7
/ 64는 "꽤 큰 블록"이 아닙니다. 그것은 인 작은 서브넷 합리적인 할당 블록. 몇 가지의 IPv6 기능은 서브넷 / 64 일 것을 요구, 당신은 IPv6를이 사람이 방지하기 위해 많은 부분에서 디자인 된 것을 잊어 (또는하지 실현) 한 지금 다시 주소의 부족. 귀중한 주소를 보존 할 필요가 있다는 옛 생각에서 벗어나야합니다. IPv6에는 없습니다.
Michael Hampton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.