Zmniejszenie skarg na nadużycia podczas uruchamiania usługi VPN
Uruchamianie VPN lub usługi proxy na serwerze wiąże się z kilkoma zagrożeniami. Jako
właściciel adresu IP, Ty i Twoi użytkownicy odpowiadacie za wszelkie nadużycia lub nielegalne
działania prowadzone za pośrednictwem Twojej usługi. Aby chronić się przed tym
problemem, musisz podjąć proaktywne kroki, aby zabezpieczyć swój
reputation.
Strict Mode:
Whitelisting
Jeden ze sposobów zapewnienia, że twój serwer nie jest nadużywany, to zezwolenie tylko na
określone działania. To podejście, zwane whitelistingiem, nie
zapobiega całkowicie nadużyciom; użytkownicy mogą wciąż atakować innych ludzi i spowodować
wstrzymanie twojego serwera. Jednak może to znacznie utrudnić proces nadużywania i bardzo
prawdopodobnie zniechęci napastników do korzystania z twoich
usług (i niestety również niektórych uczciwych użytkowników).
Proponujemy tutaj odrzucenie wszystkich przychodzących i wychodzących
pakietów z twojego serwera oprócz tych absolutnie niezbędnych.
Oto jak to zrobić.
Jedyne, co musisz wziąć pod uwagę przed zastosowaniem tego przewodnika, to
że nie powinieneś mieć włączonych żadnych innych zapór ogniowych na swoim serwerze.
Chociaż ten przewodnik omawia proces na Ubuntu, nie musisz go mieć
jako swój system operacyjny. Logika procesu jest taka sama dla innych systemów.
well.
1. Installing UFW
Najpierw musisz zainstalować UFW.
sudo apt install ufw
2.
Blokowanie wszystkich przychodzących i wychodzących połączeń
Upewnij się, że wyłączysz UFW, ponieważ następujące polecenia mogą
przerwać twoją połączenie z serwerem:
sudo ufw disable
poniższe polecenia będą zasadniczo odrzucać każdy pakiet, który spróbuje
wejść lub wyjść z twojego serwera. Później zezwolimy tylko na połączenia, które
potrzebują nasi użytkownicy:
sudo ufw default deny incoming
sudo ufw default deny outgoing
3. Allowing
możliwy dostęp do twojego serwera
Teraz zezwolimy na przychodzące połączenia na port 22, czyli port
używany do nawiązywania połączeń SSH. Chociaż zawsze warto
zmienić swój port SSH na coś innego:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
Chociaż połączenia wychodzące są już zablokowane, będziemy konkretnie
zablokuj wszystkie wychodzące pakiety kierowane na port 22 (w
przypadku zmiany domyślnej polityki w przyszłości). To sprawi, że oba
ty i twoi użytkownicy nie możecie się połączyć z innymi serwerami przy użyciu SSH na porcie
22. Choć może się to wydawać kłopotliwe, rozwiąże to jeden z najczęstszych
typowe problemy, które prowadzą do wstrzymania dostępu do serwera. Jeśli korzystasz z tego
command, żaden użytkownik nie będzie w stanie wykonać ataku brute force SSH z
your server:
sudo ufw deny out 22/tcp comment “Stops SSH brute force”
Po zezwoleniu na połączenia przychodzące na port 22 możesz włączyć
firewall bez utraty połączenia z serwerem:
sudo ufw enable
Jeśli z jakiegoś powodu stracisz połączenie z serwerem, możesz użyć
Użyj VNC, aby ponownie uzyskać dostęp do serwera i wyłączyć zaporę sieciową.
4.
Umożliwienie użytkownikom nawiązania połączenia z Twoim serwerem w celu uzyskania proxy/VPN
services
Oczywiście, Twoi użytkownicy muszą się połączyć z proxy serwera i go używać
usługi. Odrzucanie wszystkich przychodzących połączeń uniemożliwia
nimi. Dlatego musimy zezwolić na porty proxy/VPN używane przez
na przykład, chcemy umożliwić użytkownikom połączenie z portem 1194, które
jest zwykle używany dla OpenVPN. Aby to zrobić, wpisz poniższe polecenie:
sudo ufw allow in 1194/tcp comment “OpenVPN port for users”
Lub, jeśli uruchamiasz OpenVPN nad UDP:
sudo ufw allow in 1194/udp comment “OpenVPN port for users”
Logika jest taka sama dla innych serwerów VPN i proxy, po prostu
sprawdź, który port potrzebują twoi użytkownicy, i otwórz dla niego dostęp przychodzący
connections to it.
Teraz Twoi użytkownicy mogą się połączyć z Twoim serwerem i z VPN, ale
nie będzie w stanie nawiązać żadnych połączeń z światem zewnętrznym. To jest
whitelist chroni dostęp: użytkownicy nie będą mogli się połączyć z żadnym
portów, jeśli ich nie otworzymy. To minimalizuje ryzyko
otrzymywanie zgłoszeń nadużyć.
5.
Pozwól swoim użytkownikom na odwiedzanie stron internetowych i korzystanie z
applications
Teraz zezwolimy na ruch wychodzący do portów używanych do przeglądania
sieci web i wykonywania żądań API na serwerach. Aby to zrobić, musisz zezwolić
na port TCP 80 i port TCP 443. Zezwolenie na port UDP 443 umożliwi także
użytkownikom nawiązywanie połączeń HTTP3:
sudo ufw allow out 80/tcp comment “HTTP connections”
sudo ufw allow out 443 comment “HTTPS and HTTP3 connections”
6. Allowing
różne usługi w razie potrzeby
Zwykle otwarcie portów 80 i 443 jest wystarczające, ale aby uzyskać pełną
funkcjonalność określonych aplikacji lub oprogramowania, możesz potrzebować zezwolić
użytkownikom na używanie również innych portów.
Generalnie zalecane jest przeprowadzenie własnych badań i zezwolenie
na porty tylko wtedy, gdy są absolutnie wymagane. Każda większa aplikacja posiada
dokumentację sieciową z informacjami dla administratorów sieci
takich jak ty. W tych dokumentach możesz znaleźć porty, które
aplikacje używają i dodać je do białej listy. Wymienimykilka popularnych
ones as examples.
WhatsApp
(Bez wideo lub połączeń głosowych):
sudo ufw allow out 443/tcp comment “WhatsApp”
sudo ufw allow out 5222/tcp comment “WhatsApp”
Git:
sudo ufw allow out 9418/tcp comment “Git”
Niektóre usługi takie jak Discord,
Zoom,
lub połączenia głosowe i wideo WhatsApp wymagają szerokiego zakresu portów UDP, możesz
otworzyć je według własnego uznania.
Lenient Mode:
Blacklisting
W białej liście blokujesz wszystko i zezwalasz na określone porty. W
czarnej liście zezwalasz na wszystko i blokujesz określone porty.
1. Installing UFW
Najpierw musisz zainstalować UFW
sudo apt install ufw
2. Blocking the
incoming connections
Upewnij się, że wyłączysz UFW, ponieważ następujące polecenia mogą
przerwać twoją połączenie z serwerem:
sudo ufw disable
Ma sens blokowanie wszystkich połączeń przychodzących, jeśli nie udostępniamy
określonych usług. Odrzućmy więc cały ruch przychodzący:
sudo ufw default deny incoming
Zauważ, że tym razem nie blokujesz wszystkich połączeń wychodzących.
To pozwala użytkownikom łączyć się z dowolnym portem. To nie jest
wskazane, chyba że całkowicie ufasz swoim użytkownikom.
3.
Nawiązywanie połączenia z serwerem
Teraz zezwolimy na połączenia przychodzące na port 22, którym jest port
używany do nawiązywania połączeń SSH z serwerem. Chociaż dobrze jest
zmienić port SSH na inny:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
Jeśli chcesz zablokować port SSH, aby uniknąć zgłoszeń dotyczących brutalnych ataków SSH,
możesz użyć następującego polecenia:
sudo ufw allow out 22/tcp comment “Block Outgoing SSH ”
4. Block BitTorrent
Korzystając z tej samej logiki, musisz zablokować porty używane przez
BitTorrent. Jednak ponieważ istnieje wiele portów do tego celu, musisz
przeprowadzić badania i zablokować publiczne adresy IP trackerów oraz porty
zwykle używane przez BitTorrent.
Jeśli masz jakieś pytania, nie wahaj się skontaktować z nami przez submitting a
ticket.
Also in Security
Related guides.
Potrzebujesz pomocy w czymś innym?
Mediana czasu odpowiedzi poniżej 1 godziny. Prawdziwi ludzie, nie boty.