Czy bezpiecznie jest obsługiwać HTTP / HTTPS przez porty 8080/8443

9

Ze względu na ograniczenia infrastrukturalne jednym z proponowanych rozwiązań w zakresie obsługi usługi HTTP na świecie jest oferowanie jej za pośrednictwem portów 8080 i 8443.

Obawiam się, że niektórzy użytkownicy mogą nie mieć dostępu do tych usług, ponieważ nie działają one na standardowych portach, a treść może być filtrowana według (na przykład) w ramach zasad sieci korporacyjnej.

Więc ... jak prawdopodobne jest, że użytkownik z całego Internetu może nie mieć dostępu do tych usług?

wydać
źródło
nie możesz podać adresu do portu 80 i 443?
Froggiz,
1
Używamy ról sieci Web i Worker w usługach Azure Cloud. O ile mi wiadomo, nie można wskazać drugiego adresu VIP na inną maszynę, chyba że przejdziemy na maszyny wirtualne Azure. Inne opcje obejmują zastąpienie całego serwera frontonu serwerem proxy, ale oczywiście użycie różnych portów rozwiązałoby ten problem przy mniejszych kosztach.
spędzić
2
Chciałbym rozwiązać problem, który wydaje się tutaj brakować. Fakt, że nie możesz używać portów 80lub 443może sugerować, że działasz na serwerze współdzielonym. Jeśli tak, istnieje możliwość, że inny użytkownik może połączyć się z tymi portami, jeśli Twój kiedykolwiek przestanie działać . Ten użytkownik może następnie podszyć się pod Twoją witrynę (chociaż protokół SSL może to złagodzić).
Nathan Osman,
@NathanOsman, myślę, że martwi się dostępem użytkowników i zaporami użytkowników.
Pacerier

Odpowiedzi:

7

Sieci korporacyjne zwykle będą domyślnie przestrzegać następujących zasad:

deny all; allow 80; allow 443; allow 21; allow 22; etc...

Jest o wiele łatwiej skonfigurować w ten sposób, niż jawnie odmawiać 99% z 65 535 dostępnych portów.

Powiedziawszy to, przejąłem portal skierowany do klienta, który korzystał z niestandardowego portu z powodu ograniczeń sieci; Nie znam szczegółów NAT. W każdym razie uniemożliwiło to około 50% naszych użytkowników / odwiedzających dostęp do witryny i za każdym razem, gdy zadzwoniliby do nas, aby zgłosić ten problem, musielibyśmy skoordynować z ich nieistniejącym IT, aby spróbować wdrożyć regułę zezwalającą.


Nie znam szczegółów ograniczeń infrastruktury, ale wyobrażam sobie, że coś innego działa na 80/443

W takim przypadku jedynym wyjściem może być użycie wewnętrznego serwera proxy lub zmiana przełącznika na coś z bardziej zaawansowanymi funkcjami NAT, które mogą odpowiednio kierować żądania.


TL; DR

Nie używaj niestandardowego portu do usług publicznych, które mają już standardowy port.

MonkeyZeus
źródło
1
„Dużo łatwiej jest skonfigurować w ten sposób, niż jawnie odmawiać 99% z 65 535 dostępnych portów”. - nawet gdyby wyraźnie odmówili 99% portów, miałoby to ten sam skutek.
user253751,
Skończyło się to na użyciu głównego serwera do przesyłania żądań proxy do usług oferowanych na innych portach. Ponieważ inne usługi muszą skalować się pod kątem dodatkowej mocy przetwarzania, a nie dlatego, że osiągnęły ograniczenia sieci, a wielkość żądań i odpowiedzi jest stosunkowo niska, układ ten działa bardzo dobrze z główną witryną z równoważeniem obciążenia, łatwo absorbującą koszty proxy.
spędzić
@spender Cieszę się, że udało wam się to rozwiązać bez korzystania z niestandardowych portów skierowanych do klienta :)
MonkeyZeus
6

Jest bardzo prawdopodobne, że zostaną zablokowane, szczególnie w sieciach korporacyjnych lub w publicznej sieci Wi-Fi. Mniej prawdopodobne w przypadku zwykłego domowego połączenia internetowego.

Z pewnością zostałby zablokowany w mojej sieci służbowej.

Ponadto ludzie będą musieli pamiętać o wpisaniu numeru portu, aby dostać się do Twojej witryny, co stanowi dodatkowy ból głowy, z którym nie chcesz sobie poradzić. W przypadku witryn wewnętrznych lub prywatnych nie jest to duży problem, ale jeśli dotyczy to ogółu społeczeństwa, odniesiesz większy sukces przy użyciu standardowych portów.

Dotacja
źródło
Omawiane usługi nigdy nie są wpisywane do przeglądarki ... raczej są wskazywane przez zasoby obsługiwane przez normalne porty. Wydaje się jednak, że moje obawy dotyczące wiarygodności mojego podejścia są dobrze uzasadnione.
spędzić
możesz wyjaśnić, dlaczego zostałby zablokowany? korzystałem z portu 800 przez długi czas bez żadnych problemów, nawet z narzędziami Google SEO i odnośnikami ..
Froggiz
1
Jednym z moich zadań jest prowadzenie strony internetowej, która indeksuje strumienie shoutcast, i powszechna jest skarga, że ​​niektórzy użytkownicy za sieciami korporacyjnymi nie mogą słuchać strumieni przesyłanych przez niestandardowe porty. Jednak 8080 i 8443 wydają się być trochę wyjątkowe, ale prawdopodobnie niewystarczające. Powiedziałbym, że uruchomienie usługi na 800 jest szczególnie ryzykowne, ponieważ mieści się w „dobrze znanych” portach, które są znacznie bardziej prawdopodobne, że zostaną zablokowane.
spędzić
Prostym rozwiązaniem jest pozostawienie serwera działającego na porcie 8080/8443, a na zaporze ogniowej porty NAT / forward 80/443 do 8080/8443.
SnakeDoc,
1
@SnakeDoc Zgoda, w odpowiedzi odpowiedziałem na opcję proxy :-)
MonkeyZeus,
2

Nietrudno jest sprawić, by Twoja przeglądarka powiedziała http://example.com:8080/index.html , ale kiedy mówisz o zasadach korporacyjnych blokujących niestandardowe porty, wydaje się to niezwykle trudne.

Jeśli masz skonfigurowaną funkcję równoważenia obciążenia, nadal możesz skonfigurować aplikacje tak, aby działały na standardowym porcie i aby port modułu równoważenia obciążenia był przekazywany wewnętrznie do nieparzystego portu. Nawet jeśli nie masz równoważenia obciążenia, jestem pewien, że możesz znaleźć sposób przekierowania do portu wewnętrznego, który jest niestandardowy.

Wewnętrznie użytkownicy mogą uzyskać dostęp do nieparzystego portu (jeśli nie jest to częścią zasad firmy do zablokowania), zewnętrznie widzą http://example.com .

Można to zrobić na wiele sposobów, musisz wykazać się kreatywnością w zależności od typów napotkanych przeszkód. To zawsze wyzwanie!

Brett Salmiery
źródło