IPv6 kullanırken MAC adresimi göstermek nasıl engellenir?


140

Mac'lerde her IPv6 adresi , belirli bir bilgisayarın MAC adresini ( yönlendiricimin değil ) içerir. İpv6-test.com gibi siteler yalnızca göstermiyor, hatta bir Apple bilgisayarına ait olduğunu bile gösteriyor.

Bu süper bir çerez gibi geliyor ve diğer işletim sistemlerinde de geçerli olabilir. MAC adreslerimin açığa çıkmasını nasıl önleyebilirim?

Arka plan: MAC adresi görünürde değil . Gibi 2001:0db8:1:2:60:8ff:fe52:f9d8:

  • Son 64 bit (ana bilgisayar tanımlayıcı) alın ve önde gelen sıfır ekleyin: 0060:08ff:fe52:f9d8.
  • Parçayı ff:feortasından soyun . Bu bayt değil varsa, o zaman hiçbir MAC adresi var.
  • İlk bayt için: ikinci düşük sıra bitini tamamlayın (evrensel / yerel bit; bit 1 ise, 0 yapın ve 0 ise 1 yapın). Böylece: 0x00(00000000) 0x02(00000010) olur .
  • Presto: 60:8ff:fe52:f9d8geri MAC adresine çevirir 02:60:08:52:f9:d8.

Not: macOS 10.12'den beri Sierra, Ars Technica'ya göre Apple, Windows’un zaten yıllardır yapmakta olduğu MAC adreslerine dayanmayan yeni adresler üretme yöntemini benimsemiştir .


Bu soru Haftanın Süper Kullanıcısı Sorusuydu . Daha fazla ayrıntı için blog girişini
okuyun veya bloga kendiniz katkıda bulunun


14
Vay ben IPV6 hakkında bilmiyordum, güzel buldum.
Süper Balık

18
Tabii ki bir Apple bilgisayarı gösteriyor. Sonuçta bu bir MAC adresi.
Graeme Perrow,

@Kronos, blog girişinde bir resim kayboldu; blog.superuser.com/2011/02/11/… URL’ye ".stack" eklemek yardımcı olur: i.stack.imgur.com/RNXoA.png
Arjan

... ama, @KronoS ekleyerek ".stack" aslında aynı blog yazısı gibi kaybolur başka görüntü biçimi yapar i.imgur.com/vjK73.png vs (tamam) i.stack.imgur.com/vjK73.png ( tamam değil). Başka bir deyişle: blogda şu anda kullanmadığınız tüm resimler .stackyeniden yüklenmeli ...?
Arjan

@Arjan Emin değilim. Bunu kontrol etmek zorunda kalacağım. Bloga yüklenen tüm resimlerin otomatik olarak yığının imgur hesabına yüklenmesini sağlayan bir özellik istiyorum. Normal sitelerin şu anda yaptığı gibi
James Mertz

Yanıtlar:


134

Bu IPv6'ya iki uzantı ile çözüldü:

  • RFC 4941 aka "Privacy Addressing", giden bağlantıların geçici, rasgele oluşturulmuş adresleri kullanmasına izin verir (birkaç saatte bir döndürülür).
  • RFC 7217 , birincil, statik adresin, herhangi bir bilgiyi açığa çıkarmayan opak bir karma değerden üretilmesine izin verir.

En az bir fakat giderek artan bir şekilde her iki yöntem de popüler işletim sistemleri tarafından desteklenmektedir.

Bu özelliklerin dikey olduğuna dikkat edin. İsterseniz ikisini de aynı anda kullanabilirsiniz.

Kararlı özel adresler

Bazı işletim sistemlerinde MAC (EUI-48) adresi, artık arabirim tanımlayıcıları için kullanılmamaktadır. Bunun yerine, genellikle RFC 7217'ye göre rastgele veya karma tabanlı bir tanımlayıcı kullanılır.

  • Windows , Windows Vista'dan başlayarak varsayılan olarak özel bir şema kullanır.

    Özelliğin etkin olup olmadığını kontrol etmek için bir PowerShell komutu çalıştırın:

    Get-NetIPv6Protocol | fl RandomizeIdentifiers
    

    Özelliği etkinleştirmek / devre dışı bırakmak için:

    Set-NetIPv6Protocol -RandomizeIdentifiers Enabled
    Set-NetIPv6Protocol -RandomizeIdentifiers Disabled
    
  • Linux (NetworkManager) , bağlantı profilinin UUID'sini tohumun bir parçası olarak kullanan, NetworkManager v1.2.0'dan itibaren RFC 7217'yi destekler. Bu özellik, son NM sürümlerinde varsayılan olarak etkindir.

    Bu özelliği etkinleştirmek veya devre dışı bırakmak için:

    nmcli con modify "<profilename>" ipv6.addr-gen-mode stable-privacy
    nmcli con modify "<profilename>" ipv6.addr-gen-mode eui64
    
  • Linux (çekirdek SLAAC) , çekirdek v4.0.0'dan itibaren RFC 7217'yi destekler; Ancak, gizli tohum sysctl ile saklanarak elle aktive edilmelidir.

    Gizli anahtar, net.ipv6.conf.default.stable_secretsysctl'de saklanması gereken 128 bitlik onaltılık bir dizedir (IPv6 adresi gibi şekillendirilir) . Kalıcı hale getirmek için, içine konulabilir /etc/sysctl.d/50-rfc7217.confveya benzer şekilde:

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

    Sırrı ayarlamak, otomatik olarak tüm ağ arayüzleri için bu modu etkinleştirir. Özelliğin etkin olup olmadığını kontrol etmek için içinde "addrgenmode stable_secret" ip -d linkveya "2" in değerini bulun sysctl net.ipv6.conf.<ifname>.addr_gen_mode.

Geçici özel adresler

RFC 4941'de tanımlandığı gibi, geçici gizlilik adresleri rastgele oluşturulur ve birkaç saatte bir döndürülür.

  • Windows , Windows XP SP2'den itibaren geçici adresleri desteklemektedir.

    Bu özelliği etkinleştirmek / devre dışı bırakmak için:

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

    Windows'un artık Windows Vista ile başlayan MAC adresi tabanlı birincil adresleri kullanmadığını unutmayın.

  • Linux (NetworkManager) : NetworkManager'ın son sürümleri RA'yı kendi başlarına ele alır, ancak aşağıdaki iki değer sysctl ile aynı anlama gelir (2 = gizlilik adresini tercih, 1 = ana adresi tercih et):

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

    Ayrıca, 1.2.0'dan itibaren, ana adresi artık MAC tabanlı değil, her ağ için benzersiz olacak şekilde değiştiren daha iyi bir mod mevcuttu (RFC 7217):

    (Gizlilik adreslemesinin addr-gen-mode ile ortogonal olduğunu unutmayın; ikisini de kullanmak mümkündür.)

    Yan not: 1.4.0'dan itibaren NM, MAC adresinin kendisinin de rastgele seçilmesine izin verir. Set wifi.cloned-mac-addressiçin stableher ağ (önerilir) için farklı bir MAC olması veya randombunu rastgele kullanmak için her (sorunlara neden olabilir) bağlantısı.

    Her durumda, <name>bağlantı adı, örneğin WiFi SSID veya "Wired Connection 1". nmcli conTümünü listelemek için kullanın .

    Bunu yeni bağlantılar için varsayılan yapmak için , 1.2.0'dan itibaren şunları değiştirebilirsiniz /etc/NetworkManager/NetworkManager.conf:

     [connection]
     ipv6.addr-gen-mode=stable-privacy
     wifi.cloned-mac-address=stable
    
  • Linux (çekirdek SLAAC) geçici adresleri destekler, ancak bunları varsayılan olarak kullanmaz. Sistemler aracılığıyla aktive edilebilirler.

    Geçici adresleri etkinleştirmek ve giden bağlantılar için tercih edilmelerini sağlamak için:

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

    Geçici adres oluşturmayı etkinleştirmek, ancak statik SLAAC adresini tercih edildiği şekilde saklayın:

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

    allYa da defaultparça özel bir arayüz adı ile ikame edilmiş olabilir; örn net.ipv6.conf.eth0.use_tempaddr.

    ( ip link set eth0 down && ip link set eth0 upBir adres tahsisini zorlamak için kullanılırdım , ancak rdisc6 eth0bir sonraki periyodik Yönlendirici Reklamı için de çalışabilir veya birkaç dakika bekleyebilirsiniz.)

  • Mac OS X - OS X 10.7 Lion’dan beri varsayılan olarak etkindir:

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

    Geçici adresler etkinse tercih edilir.

  • FreeBSD :

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

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

    Geçici adres tercihi? Hiç bir fikrim yok. Autoconf adresi tercih ediliyor gibi görünüyor. ifconfigAdres özelliklerini listeleme görünmüyor.

  • OpenBSD - 5.2'de eklenen destek ; 5.3'te varsayılan olarak etkin ve tercih edilir .

     ifconfig em0 autoconfprivacy
    

    ifconfig geçici adreslerin yanındaki "otomatik gizliliği" gösterir.

Yapılandırma ile ilgili notlar:

  • Linux, OS X ve tüm BSD'lerde /etc/sysctl.confayarları kalıcı yapmak için düzenleyin .

  • Windows'ta değişiklikler otomatik olarak devam eder. ( Yalnızca yeniden başlatılıncaya kadar devam etmesini istiyorsanız store=active, netshkomuta ekleyebilirsiniz .)


Kısmen IPv6INT.net'teki IPv6 İşletim Sistemlerine dayanır. Ayrıca bakınız Genel IPv6 Notları


Donanım adresi IPv6 adresinde kullanılıyorsa, bu genellikle ağınızın IPv6 Stateless Autoconfiguration kullandığı anlamına gelir. Bu durumda, kendi adres sonekinizi seçebilir ve IPv6'yı manuel olarak yapılandırabilirsiniz.

Bununla birlikte, manuel olarak eklenmiş adres donanım bilginize sahip olmasa da, yine de statik olacaktır (adresleri sık sık değiştiren Gizlilik Adreslemesinin aksine). Ayrıca statik adresler, 2-3 cihazdan daha büyük bir ağda ağrı olabilir.


2
Mac'im ve bir FRITZ! Box 7340 router'ımda güzel yan etki: İki adres alıyorum ifconfig. Giden bağlantılar autoconf temporaryher şimdi ve sonra değişen rasgele adresi kullanır . İyi! Ancak gelen bağlantılar için (yönlendiricimde açıldığında) autoconfadresi hala kullanabilirim . DNS kayıtlarında bunu açığa çıkarmayı umursamıyorum (yine de belki bunun için başka bir adres seçebilirim).
Arjan


6
@Arjan: IPv6 adresleri satırlar boyunca de4d:b33fezberlemek için o kadar da kötü değildir; ayrıca, sahipleri tarafından yerine konurlar, oysa whoisspam a) can sıkıcıdır ve b) etki alanınızı kontrol etmeyen yabancılardan kaynaklanır.
Grawity

1
Bir yana: Yukarıdakilerin bir kısmı OS'ye geçici adresi tercih etmesini söyleyebilir , ancak uygulamalar hala bu tercihi geçersiz kılabilir .
Arjan

Geçici adresleri kullanan AFAICS (IPv6 gizliliği), çekirdek ayarlarını geçersiz kılan, maksimum 40 yaş saçma saçmalıkları olan yönlendirici reklamları nedeniyle bazı ISS'lerde etkili bir şekilde kullanılamaz. Linux bakınız ip aiçin preferred_lft. Dolayısıyla ssh, bu özelliği etkinleştirirseniz, bağlantılar her 40 saniyede bir kopar. Her indirme 40'lı yıllarda da bitmesi gerektiğinden normal web tarayıcılarında bile kullanılamaz.
Tino

1

Bilginize, bu sadece belirli IP adresleme şemaları için geçerlidir. Büyük olasılıkla siz (veya ISS'niz) IPv6 otomatik yapılandırma kullanıyorsunuz ki bu, ilk etapta gerçekleştirmek için oldukça büyük bir IP bloğu gerektiriyor. Çözüm, bu özelliği kapatmak olabilir. ISS'niz IPv6 ile hala mümkün olan adresleri de atamak için DHCP kullanabilir.


3
Büyük bloklara gelince: "Genel tahsisat" içerisindeki Wikipedia'ya göre : RIR'ler ISS'lere daha küçük bloklar atar ve bu da / / 48 boyutlu parçaları müşterilere dağıtır. Gerçekten de, ISS'im ayrıca tüketici sınıfı abonelere / 48 önek atar. O zaman çok garip değil mi?
Arjan

3
Sonra Wikipedia’yı ve Arin'in IPv6 Adresleme Planlarını suçlayın : 65 k’dan fazla alt ağa ihtiyaç duymadıklarını göstermedikçe, tüm müşteriler bir / 48 puan alır. Ama aynı zamanda: Eğer tüketici bolca müşteri varsa özel konut sitelerine / 56s atamak isteyebilirsiniz - hala daha fazladır zamankinden gerekir. ;-) Ancak, işler değişebilir: ISS'im asla buna söz vermedi , ancak müşterileri buna bağlı olarak modem / yönlendiriciler yapılandırdı.
Arjan,

3
Arin "müşteri" derken "ISS" demek istediklerini düşünüyorum. Herhangi bir ISS (çok, çok büyük olanlar dahil) ağlarının tamamı için tek bir / 64 tahsis edebilir ve bununla yapılabilir. Başka yönlendirme gerekmez. Ancak trilyonlarca numara alan IP adresi bloğunu joe-ortalama konut müşterilerine tahsis etmek tamamen aptalcadır.
Ernie Dunbar,

3
Görünüşe göre, en azından a atamanızın bir nedeni/56 : "Sadece tek /64bir dağıtıcı veren ISS'ler, sizi herhangi bir alt ağdan korumanızı engeller. Eğer /64WAN arayüzündeyse, LAN'larınızda asla iyi IPv6 elde edemezsiniz . ISS'ler hata veriyor ve bunu yeterli miktarda adres ( /48veya /56) dağıtarak düzeltmeleri gerekiyor . "
Arjan

7
A / 64 "oldukça büyük bir blok" değildir; öyle küçük bir alt ağ için makul tahsisi bloğu. Çeşitli IPv6 özellikleri alt ağ / 64 olmasını gerektirir ve IPv6 kimse önlemek için büyük ölçüde dizayn edildiği unutulmuş (ya da değil fark) var hiç bir daha adreslerinin tükenmesi. Aklınızı, değerli adresleri korumak için gereken eski düşünceden kurtarmalısınız; IPv6'da yeri yoktur.
Michael Hampton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.