Kilka metod bezpieczniejszego korzystania z publicznego IPv6
Categories:
Niektórzy ludzie mają potrzebę używania publicznego IPv6, aby łączyć się z domem, w przeciwieństwie do VPN-ów takich jak tailscale/zerotier, które wymagają przebijania się przez NAT (hole punching) w celu nawiązania połączenia bezpośredniego, połączenie IPv6 jest bezpośrednie, a sieci komórkowe w telefonach większość czasu posiadają IPv6, więc powrót do domu jest bardzo wygodny.
Wcześniej udostępniałem artykuł Używanie powszechnych subdomen DDNS w domowym dostępie szerokopasmowym może spowodować degradację usług operatora, opisujący pułapkę zastawioną przez operatorów przy użyciu IPv6, krótko mówiąc, domena jest skanowana, ujawnienie własnej domeny jest równoznaczne z ujawnieniem IPv6, dlatego może ona zostać zeskanowana, a po wykryciu usługi duża liczba połączeń przychodzących powoduje degradację usługi szerokopasmowej.
W tamtym wpisie wspomniano tylko o skanowaniu domen, a nie o skanowaniu cyberprzestrzeni, to rodzaj skanowania, który niezależnie od ujawnionych informacji bezpośrednio iteruje przez pule IP i skanuje, tej sytuacji trudno jest zapobiec.
Skanowanie cyberprzestrzeni zazwyczaj obejmuje następujące aspekty:
- Wykrywanie aktywności IP: wykorzystanie protokołów ARP, ICMP, TCP itp. do identyfikacji hostów online.
- Wykrywanie portów/usług: filtrowanie otwartych portów hostów online poprzez skanowanie portów i uzyskiwanie informacji o usługach, wersjach i systemie operacyjnym hosta docelowego.
- Wykrywanie systemu operacyjnego: wnioskowanie o typie i wersji systemu operacyjnego hosta docelowego poprzez analizę pakietów odpowiedzi.
- Zbieranie ruchu: monitorowanie ruchu sieciowego w celu wykrywania anomaliów lub wzorców ataków.
- Rozwiązywanie aliasów: dla routerów posiadających wiele adresów IP, tworzenie mapowania między adresami IP a routerem.
- Sondowanie DNS: tworzenie mapowania między adresami IP a nazwami domen poprzez odwrócone rozwiązywanie adresów IP.
Oto kilka metod, aby uniknąć wykrycia przez skanowanie cyberprzestrzeni:
- Serwer DNS sieci wewnętrznej nie zwraca rekordów AAAA
- Usługi sieci wewnętrznej pozwalają na dostęp tylko przez domenę, nie bezpośrednio przez IP
- Korzystanie z prywatnej usługi DNS AdGuardPrivate
Serwer DNS sieci wewnętrznej nie zwraca rekordów AAAA
Podczas przeglądania różnych stron internetowych, naturalny dostęp może ujawnić źródłowe IPv6, serwer drugiej strony może pobrać źródłowe IPv6, jeśli po stronie użytkownika nie włączono zapory sieciowej, to IPv6 można umieścić w puli priorytetowego przeglądania skanowania cyberprzestrzeni.
Można również umieścić adresy IPv6 z prefiksem /56 w puli skanowania, przeglądając tylko 16 najmniej znaczących bitów, zakres skanowania można również znacznie zmniejszyć.
Z mojego wieloletniego doświadczenia z IPv6, codzienne przeglądanie Internetu z użyciem IPv6 nie różni się znacząco od IPv4. Dlatego możemy poświęcić zewnętrzny dostęp IPv6 i używać go tylko do bezpośredniego połączenia z domem.
Metoda konfiguracji nie zwracająca rozwiązań IPv6
Na serwerze DNS sieci wewnętrznej ustaw brak zwracania rekordów AAAA.
Usługa DNS sieci wewnętrznej to zazwyczaj AdGuardHome, patrz ustawienia:

Po ustawieniu, urządzenia w sieci wewnętrznej będą używać tylko IPv4 do dostępu do Internetu, nie będą już używać IPv6.
Usługi sieci wewnętrznej pozwalają na dostęp tylko przez domenę
Możliwe, że usługi udostępnione w domu są dostępne na podstawie portu, dzięki czemu można je bardzo łatwo wykryć podczas skanowania.
Najlepiej podczas tworzenia usługi nie ustawiać nasłuchiwania na 0.0.0.0 i ::, osoby doświadczone mogą odczuć, że prawie wszystkie instrukcje uruchamiania usług domyślnie nasłuchują tylko na 127.0.0.1 i ::1, ponieważ nasłuchiwanie na publicznym IP wiąże się z ryzykiem.
Metoda konfiguracji odwrotnego proxy zezwalająca tylko na domenę
Przykład nginx
Kluczem jest ustawienie server_name na domenę, nie ustawiaj na _ lub IP.
server {
listen 80;
server_name yourdomain.com; # Zamień yourdomain.com na swoją rzeczywistą domenę
# Zwraca 403 Forbidden dla użytkowników próbujących uzyskać dostęp przez adres IP
if ($host != 'yourdomain.com') {
return 403;
}
location / {
# Tutaj znajduje się katalog główny Twojej witryny i inne konfiguracje
root /path/to/your/web/root;
index index.html index.htm;
}
# Inne konfiguracje...
}
Przykład IIS
Kluczem jest ustawienie host name na domenę, nie zostawiaj go pustego.

Korzystanie z prywatnej usługi DNS
W usłudze DNS używanej tylko przez siebie dodaj niestandardowe rozwiązywanie, aby sfałszowana domena rozwiązywała się do usługi sieci wewnętrznej.

Robienie to ma kilka oczywistych zalet.
- Po pierwsze, domena może być dowolnie skonstruowana, nie trzeba kupować domeny, co oszczędza koszt domeny. Jeśli taka sfałszowana domena zostanie wykryta, to atakujący musi poprosić o Twoją usługę DNS, aby uzyskać poprawny wynik rozwiązywania.
- Należy jednocześnie ujawnić adres swojej prywatnej usługi DNS oraz wirtualną domenę, a następnie skaner musi zmodyfikować logikę rozwiązywania domeny, poprosić prywatny serwer DNS o rozwiązanie domeny, a następnie wpisać wirtualną domenę do skonstruowanych
Headersżądania, aby rozpocząć skanowanie.
sequenceDiagram
participant Scanner as Skaner sieci
participant DNS as Prywatny serwer DNS
participant Service as Usługa sieci wewnętrznej
Scanner->>DNS: 1. Wykrywa adres prywatnego serwera DNS
Scanner->>DNS: 2. Żąda rozwiązania wirtualnej domeny
DNS-->>Scanner: 3. Zwraca IP usługi sieci wewnętrznej
Scanner->>Service: 4. Konstruuje Headers używając wirtualnej domeny
Note right of Service: Jeśli w Headers nie ma poprawnej wirtualnej domeny<br/>odmów dostępu
alt Poprawne Headers
Service-->>Scanner: 5a. Zwraca odpowiedź usługi
else Błędne Headers
Service-->>Scanner: 5b. Zwraca błąd 403
endTylko jeśli skaner wykona wszystkie powyższe kroki, może skanować usługę sieci wewnętrznej, co znacznie zwiększa trudność skanowania.
Na AdGuardPrivate można utworzyć prywatną usługę DNS, użyć funkcji niestandardowego rozwiązywania, aby dodać sfałszowaną domenę, można też użyć dnspod.cn.
Usługi tych dwóch firm różnią się znacznie, AdGuardPrivate to zmodyfikowany natywny AdGuardHome, funkcjonalnie jest znacznie bogatszy niż dnspod, wszyscy sami to ocenią.
Podsumowanie
- Serwer DNS sieci wewnętrznej nie zwraca rekordów AAAA
- Warunki wstępne
- Posiada publiczne IPv6
- Posiada serwer DNS sieci wewnętrznej
- Ustawienia
- Nie zwraca rekordów AAAA
- Warunki wstępne
- Usługi sieci wewnętrznej pozwalają na dostęp tylko przez domenę, nie pozwalają na bezpośredni dostęp przez IP
- Warunki wstępne
- Posiada własną domenę
- Dostawca domeny zapewnia DDNS
- Sieć wewnętrzna posiada usługę odwrotnego proxy
- Ustawienia
- Ustaw zadanie DDNS
- Pozwól na dostęp tylko przez domenę
- Warunki wstępne
- Korzystanie z prywatnej usługi DNS
- Warunki wstępne
- Posiada prywatną usługę DNS
- Prywatna usługa DNS zapewnia niestandardowe rozwiązywanie
- Prywatna usługa DNS zapewnia DDNS
- Ustawienia
- Ustaw zadanie DDNS
- Dodaj niestandardowe rozwiązywanie, sfałszowana domena rozwiązuje do usługi sieci wewnętrznej
- Warunki wstępne
Na koniec,
- Najprostszym i najbezpieczniejszym bezpośrednim połączeniem z domem jest udane przebijanie się przez tailscale/zerotier, ale czasami z różnych powodów sieciowych przebijanie się może się nie udać.
- Nie podłączaj się losowo do nieznanego Wi-Fi, można jednorazowo wyciec wszystkie informacje. Zdobądź kartę SIM z dużym transferem, tymczasowo powierz zaufanie operatorowi, jeśli potrzebujesz taniej karty z dużym transferem, skontaktuj się ze mną (nie), ja też potrzebuję.