Korzystanie z komunikacji localhost TCP / IP w programie - zawsze bezpieczne?

4

Mam aplikację, która jest podzielona na kilka części (procesów) komunikujących się przez TCP / IP, używając wstępnie zdefiniowanego portu na localhost.

Czy to zawsze jest bezpieczne? Czy jakaś zapora (korporacyjna, lokalnie zainstalowana, zapora systemu Windows itp.) Blokuje ten ruch? Czy może niektóre ustawienia użytkownika w systemie operacyjnym mogą blokować ten ruch?

Zainteresowane przeze mnie systemy to Windows (XP do 7) i Linux (Ubuntu, RHEL, SUSE)

Eli Bendersky
źródło
Nie jestem pewien, czy próbujesz zapobiec ruchowi lub upewnić się, że ruch przechodzi? Ruch przechodzący przez określony port może być zawsze blokowany, jeśli ktoś się do tego zgłosi.
CreeDorofl
@CreeDorofl: upewnij się, że przechodzi
Eli Bendersky

Odpowiedzi:

7
  • Ruch do 127.0.0.0/8 i do ::1/128 jest przetwarzany wewnętrznie przez stos TCP / IP. Nie dociera do fizycznej karty sieciowej i nigdy nie opuszcza komputera, więc nie może zostać zablokowany przez korporacyjne zapory sieciowe.

  • Ponieważ gniazda pętli zwrotnej są bardzo powszechne dla IPC, dobre zapory ogniowe nigdy nie powinny go blokować. (Zapora systemu Windows tego nie robi.) Są jednak pewne zbyt paranoiczne sytuacje ... W takich przypadkach jednak obwiniam zaporę, a nie oprogramowanie.

  • W systemie Unix możliwe jest (przypadkowe) wyłączenie interfejsu pętli zwrotnej (zwykle lo ). Ponownie, jest to bardzo nietypowe.

  • Zamiast zakodowanego portu, socketpair() powinien być używany, gdy ma to zastosowanie, aby uniknąć kolizji portów.

  • Jeszcze lepiej byłoby korzystać z gniazd Unix w systemie Linux i nazwanych potoków w systemie Windows.

grawity
źródło
2

Wszystkie te systemy obsługują uruchamianie oprogramowania zapory. Mogą one blokować połączenia localhost, chociaż nie jest to bardzo powszechne (w moim doświadczeniu).

Istnieje wiele aplikacji / usług, które to robią. Po prostu spróbuj uruchomić netstat -an na twoim pudełku: są szanse, że zobaczysz sporo aplikacji z otwartymi gniazdami nasłuchowymi 127.0.0.1.

Nie znam ustawień użytkownika, które mogłyby uniemożliwić pracę w systemie Linux. Nie mam pojęcia dla Windows. Ale znowu jest to powszechna technika.

Mat
źródło