Dlaczego Debian ma domyślnie włączoną zaporę ogniową?

15

Używam Debiana 9.1 z KDE i zastanawiam się, dlaczego pochodzi on bez zainstalowanej i domyślnie włączonej zapory ogniowej? gufw nie ma nawet w pakietach DVD1.

Czy ludzie oczekują połączenia z Internetem przed uzyskaniem zapory? Dlaczego? Nawet jeśli wszystkie porty są domyślnie zamknięte, różne zainstalowane, zaktualizowane lub pobrane programy mogą je otworzyć (czy nie?) I nie chcę opuszczać komputera bez mojej zgody.

Edycja: Więc właśnie dowiedziałem się o iptables, ale myślę, że pytanie wciąż pozostaje tak samo jak iptables, ponieważ zapora wydaje się być raczej nieznana dla większości, jej domyślne reguły, jej dostępność i łatwość użycia oraz fakt, że domyślnie wszystkie reguły iptable są resetowane przy ponownym uruchomieniu .

MINDSTREMIA
źródło
Bardzo dobre pytanie. Serwer Ubuntu nie jest nawet iptablesfabrycznie zainstalowany! Sądzę, że ludzie po prostu próbują przenieść zasadę end-to-end do warstwy 7 ekstremalnej ...
rlf
8
Jaki masz powód, by stwierdzić, że iptables jest „nieznany większości”?
SaAtomic
1
Zadałem kiedyś coś podobnego unix.stackexchange.com/questions/127397/…
StrongBad
1
„Nawet jeśli wszystkie porty są domyślnie zamknięte, różne zainstalowane, zaktualizowane lub pobrane programy mogą je otworzyć ...” - Jeśli podejmiesz złośliwość, wówczas zainstalowane, zaktualizowane lub pobrane programy mogą również wyczyścić reguły zapory.
marcelm
1
@mYnDstrEAm na przykład, ponieważ dajesz dostęp do skryptów instalacyjnych tych programów rootowi, gdy podajesz sudohasło jako insudo apt-get install package ...
cat

Odpowiedzi:

28

Po pierwsze, Debian zakłada, że ​​wiesz, co robisz, i stara się unikać dokonywania wyborów dla ciebie.

Domyślna instalacja Debiana jest dość niewielka i bezpieczna - nie uruchamia żadnych usług. A nawet standardowe opcjonalne dodatki (np. Serwer WWW, ssh), które są dodawane do instalacji, są zwykle dość konserwatywne i bezpieczne.

W takim przypadku zapora nie jest potrzebna. Debian (lub jego programiści) zakładają, że jeśli uruchomisz dodatkowe usługi, będziesz wiedział, jak je chronić i w razie potrzeby możesz dodać zaporę ogniową.

Co ważniejsze, być może Debian unika dokonywania wyboru dotyczącego używanego oprogramowania zapory. Dostępnych jest wiele opcji - z których należy skorzystać? A nawet jeśli chodzi o podstawowe ustawienie zapory, jakie ustawienie należy wybrać? To powiedziawszy, iptablesma priorytet, więc jest instalowane domyślnie. Ale oczywiście Debian nie wie, jak go skonfigurować, więc nie konfiguruje go dla ciebie. W każdym razie możesz wolić użyć iptablesnastępcy nftables.

Zauważ też, że funkcja zapory jest już w pewnym stopniu wbudowana w jądro Linuksa; np . nftablesi netfilter. Debian i inne dystrybucje Linuksa zapewniają narzędzia przestrzeni użytkownika, takie jak iptableszarządzanie tą funkcjonalnością. Ale to, co z nimi zrobisz, zależy od ciebie.

Pamiętaj, że te podmioty nie są konsekwentnie nazywane. Cytując stronę Wikipediinftables :

nftables jest konfigurowany za pomocą narzędzia przestrzeni użytkownika nft, podczas gdy netfilter jest konfigurowany za pomocą narzędzi iptables, ip6tables, arptables i frameworków ebtables.

Faheem Mitha
źródło
4
@sourcejedi O ile pamiętam, domyślna instalacja Debiana była bardzo podobna od co najmniej ziemniaka, czyli wtedy, kiedy zacząłem go używać. Więc nie jestem pewien, co masz na myśli.
Faheem Mitha
1
@FaheemMitha poprzednie ustawienie nie było tak, aby akceptowało połączenia z zewnątrz, tak czy inaczej :)
hobbs
1
+1 za próby uniknięcia wyborów dla Ciebie. . Istnieje wiele różnych narzędzi do zarządzania zaporami ogniowymi, każde z różnymi zaletami i wadami, każde z różnymi przypadkami użycia. i istnieje jeszcze większa liczba sposobów konfiguracji zapory ogniowej. głęboka obrona (np. samodzielna zapora ogniowa / router ORAZ reguły dla iptables dla hosta) jest dobra, ale uważałbym to za bardzo denerwujące, gdyby instalator Debiana zakładał, że wie, jak skonfigurowano moją sieć i jakie reguły zapory ogniowej chciałem. to muszę wiedzieć i zdecydować.
cas
4
Dobra odpowiedź, chociaż „Debian unika dokonywania wyboru dla ciebie [ponieważ jest wiele dostępnych opcji” dla mnie nie ma większego sensu. Debian już dokonuje wyborów (np. Wybierając Apache zamiast lighttpd, kiedy wybieram „serwer WWW”, deb ponad rpm ... no cóż, oczywiście) tam, gdzie są dostępne alternatywy. Czy nie chodzi o to, by dokonać wyboru?
gd1
1
@ gd1 To prawda; Debian dostarcza i instaluje wartości domyślne - np. Exim, historycznie. Ale łatwo je zmienić. I przypuszczam, że iptablesjest też domyślny dla Debiana. Ale jedna rzecz, której Debian nie robi sam, to nieoczywista konfiguracja systemu dla użytkownika.
Faheem Mitha
12

Po pierwsze, chcę powtórzyć to, co już powiedziano: Debian obsługuje raczej inną grupę użytkowników niż wiele innych głównych dystrybucji, szczególnie Ubuntu. Debian jest skierowany do ludzi, którzy wiedzą, jak działa system, i którzy nie boją się od czasu do czasu majstrować w zamian za wysoki stopień kontroli nad systemem. Na przykład Ubuntu jest przeznaczony dla zupełnie innej grupy docelowej: ludzie, którzy chcą, aby rzeczy działały i nie dbają (naprawdę) o to, co się dzieje pod maską, a na pewno nie chcą modyfikować konfiguracji systemu, aby coś robić praca. Wpływa to na szereg aspektów wynikowego systemu. I do pewnego stopnia jest to jedno piękno Linuksa; ten sam system podstawowy może być wykorzystywany do budowania środowisk spełniających różne potrzeby. Pamiętaj, że Ubuntu jest pochodną Debiana,

gufw nie ma nawet w pakietach DVD1.

Pierwszy dysk zawiera najpopularniejsze oprogramowanie, określone przez opt-in zbieranie anonimowych statystyk z zainstalowanych systemów. Fakt, że gufw nie znajduje się na pierwszym dysku, po prostu wskazuje, że nie jest to bardzo popularny (pod względem zainstalowanej bazy) pakiet w Debianie. Jest również łatwy do zainstalowania, gdy masz podstawowy system z działającym systemem sieciowym, jeśli wolisz go niż alternatywy.

Czy ludzie oczekują połączenia z Internetem przed uzyskaniem zapory? Dlaczego?

Po pierwsze, uważam, że Debian pozwala na instalację przez sieć. (Nie tylko pobieranie pakietów z sieci podczas normalnej instalacji, ale dosłownie rozpoczęcie instalacji z innego hosta niż instalowany ). Zapora skonfigurowana domyślnie z restrykcyjnym zestawem reguł ryzykowałaby zakłóceniem tego. To samo dotyczy instalacji, które wymagają wychodzącego dostępu do sieci podczas procesu instalacji w celach innych niż tylko pobranie najnowszych wersji instalowanych pakietów.

Po drugie, jest to, o czym wspomniałem powyżej; z reguły Debian oczekuje, że wiesz, co robisz. Jeśli chcesz zapory ogniowej, prawdopodobnie będziesz w stanie ją skonfigurować samodzielnie i oczekuje się, że wiesz lepiej niż opiekunowie Debiana, jakie są twoje szczególne potrzeby. Debian jest pod tym względem trochę podobny do OpenBSD, ale nie tak ekstremalny. (Gdy zostanie wybrany wybór między uczynieniem systemu podstawowego trochę bezpieczniejszym a uczynieniem go bardziej użytecznym, opiekunowie OpenBSD praktycznie zawsze wybierają bezpieczeństwo. Pokazuje to ich statystyka podatności na zagrożenia dla systemu podstawowego, ale ma to ogromny wpływ na użyteczność.)

I oczywiście technika: obsługa zapory ogniowej jest zawarta w systemie podstawowym. Po prostu jest ustawiony na całkowicie dopuszczalną regułę ustawioną domyślnie przez jądro, a podstawowa instalacja Debiana nic nie robi, aby to zmienić. Możesz uruchomić kilka poleceń, aby ograniczyć przepływ ruchu.

Nawet jeśli wszystkie porty są domyślnie zamknięte, różne zainstalowane, zaktualizowane lub pobrane programy mogą je otworzyć (czy nie?) I nie chcę opuszczać komputera bez mojej zgody.

Po pierwsze, zapory ogniowe są zwykle używane do ograniczania ruchu przychodzącego . Jeśli chcesz ograniczyć wychodzenieruch uliczny, to raczej inny czajnik ryb; z pewnością wykonalne, ale wymaga znacznie większego dopasowania do konkretnej sytuacji. Domyślnie blokowana zapora ruchu wychodzącego, która pozostawia otwarte często używane porty (gdzie często używanymi portami mogą być ftp / 20 + 21, ssh / 22, smtp / 25, http / 80, https / 443, pop3 / 110, imap / 143 i pakiet innych), a także zezwalanie na ruch związany z ustanowionymi sesjami, nie byłby znacznie bezpieczniejszy niż domyślna zapora sieciowa. Lepiej jest upewnić się, że zestaw pakietów zainstalowanych przez system podstawowy jest ograniczony do zestawu dobrze zrozumiałych, skonfigurowanych bezpiecznych dostarczonych pakietów, i pozwolić administratorowi na skonfigurowanie odpowiednich reguł zapory, jeśli potrzebują one większej ochrony.

Po drugie, zamknięty port (taki, który odpowiada na TCP SYN za pomocą TCP RST / ACK, zwykle zgłaszane jako „odmowa połączenia” - jest to zazwyczaj domyślny stan portu TCP w systemie na żywo obsługującym TCP / IP w przypadku braku konfiguracji przeciwnej lub oprogramowania nasłuchującego) nie jest znaczącą luką, nawet w systemie niepodłączonym przez osobną zaporę ogniową. Jedyną znaczącą luką w konfiguracji całkowicie zamkniętej byłaby luka w implementacji stosu TCP / IP jądra. Ale pakiety już przechodzą przez kod netfilter (iptables) w jądrze, a błąd może się tam również czaić. Logika odpowiadania skutkiem „odrzucenia połączenia” na drugim końcu jest na tyle prosta, że ​​trudno mi uwierzyć, że będzie to główne źródło błędów, nie mówiąc już o błędach związanych z bezpieczeństwem;

Po trzecie, pakiety są zwykle instalowane jako root, z którego ty (pakiet) i tak możesz zmienić reguły iptables bez twojej wiedzy. Więc to nie tak, że zyskujesz coś takiego, jak wymaganie od administratora, aby ręcznie zezwalał na ruch przez zaporę hosta. Jeśli chcesz tego rodzaju izolacji, powinieneś mieć zaporę ogniową oddzieloną od hosta, który chroni.

Właśnie dowiedziałem się o iptables, ale myślę, że pytanie wciąż pozostaje tak samo jak iptables, ponieważ zapora wydaje się być raczej nieznana większości, jej domyślnym regułom oraz dostępności i łatwości użytkowania.

Powiedziałbym, że jest odwrotnie ; iptables jako firewall jest dobrze znany . Jest również dostępny na praktycznie każdym systemie Linux, na który prawdopodobnie natkniesz się. (Zastąpił ipchains podczas opracowywania, które doprowadziło do jądra Linuksa w wersji 2.4, około 2000 roku. Jeśli dobrze pamiętam, największą widoczną dla użytkownika zmianą między tymi dwoma typowymi przypadkami zapory ogniowej było wbudowana reguła łańcuchy nazwano teraz dużymi literami, jak INPUTzamiast małych, jak input.)

Jeśli cokolwiek, iptables może robić rzeczy inne niż zapora ogniowa, które nie są powszechnie używane ani zrozumiałe. Na przykład można go użyć do przepisania pakietów IP, zanim zostaną one przepuszczone przez zaporę.

CVn
źródło
Doskonałe i szczegółowe podsumowanie problemu. Jednak napisałeś: „Po drugie, zamknięty port nie stanowi znaczącej luki, nawet w systemie niepołączonym przez osobną zaporę ogniową”. Czy miałeś na myśli napisać „otwarty”? Jeśli nie, czy możesz rozwinąć kwestię podatności zamkniętego portu? Dzięki.
Faheem Mitha
„Zastąpiłem ipchains jakiś czas w rozwoju jądra 2.5, jeśli dobrze pamiętam. To coś takiego jak 15 lat temu.” - 2.3, właściwie. Co czyni go bliższym do 20.
Jules
Zgadzam się, świetna odpowiedź. Dodałbym również, że kiedy instalujesz z minimalnej możliwej instalacji iso, obecnie netinstall, częścią procesu instalacji jest tak naprawdę instalacja pakietów z apt przez sieć, więc twoja instalacja nie jest nieaktualna po wyjęciu z pudełka, to jest prąd, który jest dokładnie tym, czego chcesz, ale możesz również wybrać instalację z dysku, więc instalacja naprawdę potrzebuje natychmiast działającego połączenia sieciowego. Ale ta odpowiedź była bardzo dobra.
Lizardx
1
Spóźniony komentarz: „Pamiętaj, że Ubuntu zaczynał jako rozwidlenie Debiana i do dziś zachowuje wielkie podobieństwo do Debiana”. O ile mi wiadomo, Ubuntu wciąż pochodzi od Debiana. To nie jest widelec.
Faheem Mitha
6

Gdybym miał zgadywać, nie będąc w rzeczywistości pokoleniem deweloperów i opiekunów Debiana, zgaduję, że:

Debian jest przede wszystkim zaprojektowany jako system operacyjny serwera, zarówno gałęzie sid, jak i testujące mają za główny cel stworzenie następnej stabilnej gałęzi, aw momencie zamrożenia są zamrażane, a nowa stabilna jest pobierana z testów, ponieważ tylko stało się ze Stretchem.

Biorąc to pod uwagę, zakładam dalej, musiałbym to potwierdzić ze znajomym sysadmin, że zapory w centrum danych są urządzeniami zewnętrznymi, znacznie wyższym bezpieczeństwem (przynajmniej jedna ma nadzieję, że tak jest)), do serwerów i obsługiwać główny zadania zapory ogniowej. Tak jest nawet w małej sieci LAN z routerem, router jest zaporą ogniową, nie używam żadnych lokalnych reguł zapory na żadnym z moich systemów, dlaczego miałbym?

Myślę, że może ludzie mylą lokalne instalacje stacjonarnego Debiana lub pojedynczego serwera plików w biurze lub domu z faktyczną pracą związaną z Debianem, która moim zdaniem koncentruje się głównie na wykorzystaniu produkcyjnym.

Nie jestem tego pewien, ale po ponad dziesięciu latach używania Debiana to jest moje odczucie, zarówno jako programisty, jak i zwolennika Debiana na wiele sposobów.

Mogę to sprawdzić, ponieważ to właściwie dobre pytanie, ale domyślam się, że prawdziwe sieci są zapory ogniowe w punktach wejścia do sieci, a nie na podstawie poszczególnych komputerów, a przynajmniej to jest podstawowy pomysł, który może prowadzić Debian. Plus, oczywiście, że gdyby tak nie było, sysadmin konfigurowałby reguły zapory dla poszczególnych komputerów, używając czegoś takiego jak Chef, nie polegając na żadnej domyślnej instalacji, co nie byłoby czymś, co zwykle aby zaufać, na przykład, domyślne konfiguracje ssh Debiana nie są tym, czego użyłbym osobiście jako domyślny, na przykład domyślnie zezwalają na logowanie do roota, a administrator systemu musi to naprawić, jeśli uzna to za złą praktykę .

Oznacza to, że myślę, że istnieje kompetencja Debiana, która może być nieobecna w niektórych innych dystrybucjach. W tym momencie zmienisz to, co chcesz zmienić, tworzysz obrazy, zarządzasz nimi za pomocą oprogramowania do zarządzania witryną i tak dalej. To tylko kilka możliwości. Na przykład, nigdy nie użyłbyś DVD do stworzenia nowego serwera, przynajmniej nigdy w produkcji, prawdopodobnie użyłbyś czegoś takiego jak minimalna instalacja sieciowa, tego zawsze używam, na przykład (użyłem jeszcze mniejszego obrazu , ale przestali to robić). Jeśli spojrzysz na to, co jest zawarte w tej instalacji bazowej, dostrzeżesz, co Debian uważa za kluczowe, a co nie. Na przykład jest tam ssh. Xorg nie jest, Samba nie jest.

Można również zapytać, dlaczego wrócili do GNOME jako domyślnego pulpitu, ale są to tylko decyzje, które podejmują, i których użytkownicy w zasadzie ignorują, ponieważ można ustawić systemy tak, jak chcesz (to znaczy, aby uzyskać komputery stacjonarne Xfce, ja nie nie instaluję Xdebian (jak w Xubuntu), po prostu instaluję rdzeń Debiana, Xorg i Xfce i zaczynam. W podobny sposób, gdybym chciał zapory ogniowej, skonfigurowałbym ją, poznał tajniki i inne elementy, itp., Ale osobiście nie spodziewałbym się, że Debian będzie dostarczał z włączoną funkcją, to byłoby dla mnie trochę irytujące. . Być może moje poglądy na ten temat odzwierciedlają pewien rodzaj konsensusu, który można również znaleźć wewnętrznie w Debianie.

Plus, oczywiście, tak naprawdę nie ma czegoś takiego jak Debian, są różne obrazy instalacyjne, netinstall, pełna instalacja, wszystkie one różnią się od odsłonięcia, tylko cli, do dość kompletnego pulpitu użytkownika. Użytkownicy produkcyjni prawdopodobnie stworzyliby na przykład obrazy, które byłyby skonfigurowane tak, jak tego chce użytkownik. Wiem, że gdybym konfigurował serwer Debian, zacząłbym od podstaw i przygotowywał go, aż zrobiłby to, co chciałem.

Następnie masz świat serwerów sieciowych, który jest zupełnie inną kulą wosku, mają one bardzo różne pytania bezpieczeństwa, a jak powiedział mój stary przyjaciel dobrze związany z podziemiem hakerów, ktoś, kto prowadzi serwer internetowy, nie wiedząc, jak zabezpieczyć Można go również nazwać kimś, kogo serwer jest własnością crackerów.

Lizardx
źródło
Zwykle nie lubię takich długich odpowiedzi :), ale poruszasz bardzo istotną kwestię. Jeśli prowadzisz serwer WWW, musi on akceptować połączenia z serwerem WWW. Wątpliwe jest, jaką wartość uzyskujesz ze skonfigurowania drugiego oprogramowania, aby powiedzieć: tak, chcę zaakceptować żądania sieciowe wysłane na mój serwer internetowy. Wydaje się, że ten przypadek użycia jest bardziej pod opieką wewnątrz Debiana niż na pulpicie.
sourcejedi
sourcejedi, lol, gdyby nie było długo, nie odpowiedziałbym na pytanie dotyczące serwera, to była ostatnia rzecz, którą dodałem. Ale w tym przypadku masz wyraźnie nowego, mniej doświadczonego użytkownika, który może nie zdawać sobie sprawy, że różne dystrybucje obejmują radykalnie różne przypadki użycia i użytkowników. Więc nie mają w zasadzie żadnych informacji, w tym momencie trudno jest wiedzieć, co wiedzą i nie wiedzą, ergo, zbyt wiele słów. Lub wystarczy. Trudno wiedzieć
Lizardx
„Plus, oczywiście, że tak naprawdę nie ma czegoś takiego jak Debian”. Nie jestem pewien, co przez to rozumiesz - na pewno istnieje coś takiego jak Debian. Jest to system operacyjny produkowany przez projekt Debian. Technicznie jest to rodzina systemów operacyjnych, ale oczywiście wariant Linux jest bardzo dominujący. Istnieją różne metody instalacji, ale wszystkie instalują ten sam system. Oczywiście masz dużą swobodę w wyborze części do zainstalowania.
Faheem Mitha
Nie w tym sensie, że odnosi się do jednej rzeczy. Mam na myśli to, co zauważasz jako technicznie. To znaczy, czy Debian jest obrazem instalatora DVD, do którego odnosi się ta osoba? Czy jest to podstawowa instalacja, którą otrzymujesz przy instalacji sieciowej? Czy jest to pula pakietów apt dla konkretnej architektury? Czy to pula sid? Pula testowa? i tak dalej. Jeśli chodzi o sposób definiowania rzeczy przez użytkowników, powiedziałbym, że nie ma czegoś takiego, czym tak naprawdę jest projekt Debian, który reguluje zasady pakowania i pakiety definiujące apt i .deb. Właśnie dlatego podoba mi się to, że zasady określają projekt.
Lizardx
Trudno to wytłumaczyć, ale spróbuję: nie instaluję „Debiana”, instaluję powiedzmy Debian Testing / Buster, wariant 64-bitowy, z wersji netinstall iso. Debian jest parasolem, który działa i tworzy to, co instaluję. Zrozumiałem przez lata, dlaczego tak bardzo lubię Debiana, mają one ścisłe reguły, a te reguły są dla mnie tym, co naprawdę definiuje coś jako Debian, a nie Ubuntu. Na przykład, jeśli weźmiesz zestaw pakietów z Debiana i utworzysz Ubuntu, kiedy przestanie być Debianem? są to te same pakiety, przynajmniej przez jakiś czas, i sugeruję, że przestanie, gdy przestaniesz przestrzegać reguł dfsg.
Lizardx
5

Ogólna idea jest taka, że ​​zapora ogniowa nie powinna być potrzebna w większości systemów, z wyjątkiem skomplikowanych konfiguracji.

SSH działa ,, po zainstalowaniu serwera. Nic innego nie powinno nasłuchiwać i prawdopodobnie chcesz mieć możliwość połączenia się z ssh.

Po zainstalowaniu serwera WWW można oczekiwać, że będzie on dostępny, prawda? A dla podstawowego strojenia możesz powiązać serwer WWW tylko z prywatnym interfejsem LAN, np. 192.168.172.42 (lokalny adres IP LAN), zamiast 0.0.0.0 (wszystkie ips). Nadal nie potrzebujesz zapory.

Oczywiście wszystko może otworzyć port> 1024, ale jeśli masz niezaufane oprogramowanie (lub niezaufani użytkownicy), powinieneś zrobić więcej niż tylko instalację zapory ogniowej. W chwili, gdy musisz coś nieufać lub komuś, potrzebujesz koncepcji bezpieczeństwa nie tylko oprogramowania. Dlatego dobrze jest, gdy musisz aktywnie zastanowić się nad rozwiązaniem firewall.

Teraz są oczywiście bardziej złożone scenariusze. Ale kiedy faktycznie masz jeden z nich, naprawdę musisz sam dostroić zaporę ogniową i nie pozwolić na to pół-automatyczny system, taki jak ufw. Lub możesz nawet użyć ufw, ale wtedy zdecydowałeś, a nie domyślny system operacyjny.

allo
źródło
1
IIRC, zapory ogniowe dla komputerów osobistych były odpowiedzią na jedną z luk w zabezpieczeniach systemu Windows 95, polegającą na tym, że wszystkie porty były domyślnie otwarte. W większości systemów operacyjnych wcześniej i później port jest otwarty tylko wtedy, gdy usługa nasłuchuje na tym porcie. Po drugie, zapory ogniowe są często skonfigurowane do dyskretnego upuszczania pakietów, zamiast jawnego ich odrzucania, przez co trudno jest stwierdzić, że w ogóle istnieje system pod adresem IP.
bgvaughan
Nie jestem pewien, co masz na myśli z otwartym portem bez usługi nasłuchiwania. Gdzie powinien iść pakiet i dlaczego powinna to być dziura w zabezpieczeniach? A upuszczenie pakietów w zaporze nie ukryje cię, ale sprawi, że będzie jeszcze bardziej oczywiste, że istnieje maszyna z zaporą. Gdy system nie jest w trybie online, router przed systemem wysyła odpowiedź „nieosiągalną”. Nie dzieje się tak, gdy jest tam twój komputer (ani kiedy akceptujesz, odrzucasz lub upuszczasz pakiety). Możesz sam sprawdzić efekt, wykonując polecenie w tracerouteswoim systemie.
allo
1
Kiedy zacznę od ciebie traceroute, może zobaczę 7 przeskoków. Pierwszy to mój komputer, ostatni to punkt wejścia do twojej sieci. Gdy komputer jest w trybie offline, szósty przeskok wysyła odpowiedź „nieosiągalną”. Gdy komputer jest podłączony, ale zaporowy, szósty przeskok wysyła normalną odpowiedź, a siódmy upuszcza (lub odrzuca) pakiet. Nie masz kontroli nad szóstym skokiem, więc nie możesz tam podrobić ani upuścić pakietów.
allo
1
„starsze systemy Windows, takie jak 95 i myślę, że XP utrzymywałyby wszystkie porty otwarte, nawet gdyby nie było uruchomionych usług” Nie mam absolutnie pojęcia, co masz na myśli mówiąc, że port jest otwarty bez nasłuchiwania. Kiedy przychodzi pakiet, możesz albo wysłać go do programu nasłuchującego, rejectalbo do dropniego. Nie ma koncepcji „port otwarty bez słuchania”. Może masz na myśli upuszczenie (akceptowanie bez wysyłania go do programu).
allo
1
Osobiście mam zaprzeczenie domyślnie zapory ogniowej, a także bezpieczne cofanie. Ale rozumiem, kiedy debian pozwala użytkownikowi zainstalować zaporę. Dużo eksperymentuję, inni wybierają serwer WWW w tasksel i gotowe. Nie mam pojęcia o Win95, ale chyba i tak nie ma to dzisiaj znaczenia;).
allo
4

Czy ludzie oczekują wcześniej połączenia z Internetem?

tak

uzyskiwanie zapory ogniowej?

Nawet jeśli wszystkie porty są domyślnie zamknięte

Niestety nie są. rpcbindwydaje się być domyślnie zainstalowany, włączony i nasłuchuje w sieci.

EDYCJA: Myślę, że zostało to naprawione w najnowszym instalatorze, tj. W Debianie 9 (Stretch) . Ale w poprzednich wersjach Debiana nie czułbym się zbyt bezpiecznie instalując (a następnie aktualizując) je w publicznej sieci Wi-Fi.

Dlaczego?

Podejrzewam, że ludzie mają takie założenie

  1. sieć lokalna nie atakuje twoich usług sieciowych
  2. istnieje już zapora ogniowa między siecią lokalną a szerszym Internetem.

Chociaż ta ostatnia jest powszechną praktyką, np. Przez routery konsumenckie, nie wierzę, że jest gwarantowana. Nic dziwnego, że poprzednie założenie nie jest udokumentowane; nie jest to również sensowne.

Moim zdaniem problem z rpcbind jest przykładem bardziej ogólnej kwestii. Ludzie mogą próbować promować Debiana i ma on wiele fajnych funkcji. Ale Debian pozostaje w tyle za Ubuntu pod względem jego dopracowania i przyjazności, a może nawet wiarygodności dla tych, którzy chcą poznać takie szczegóły.

pobrane programy mogą je otworzyć (czy nie?) i chciałbym, aby nawet jeden kawałek nie opuszczał mojego komputera bez mojej zgody.

Z pewnością możesz zainstalować firewall, zanim zaczniesz pobierać i uruchamiać losowe oprogramowanie, które nie jesteś pewien, co on robi :-p.

Zgadzam się częściowo, że niepokojące jest instalowanie Linuksa i nie znajdowanie żadnego interfejsu skonfigurowanego dla bardzo dobrze znanej warstwy bezpieczeństwa. Osobiście uważam, że przydatne jest zrozumienie, jak jest skonfigurowana domyślna zapora systemu Windows. Chce, abyś mógł „zaufać” sieci domowej, aw nowszych wersjach instalacja ekspresowa nawet pominie pytanie o zaufanie do bieżącej sieci. Wydaje się, że głównym celem jest rozróżnienie między sieciami domowymi, niezabezpieczonymi połączeniami, takimi jak bezpośrednio podłączony modem, a publicznymi sieciami Wi-Fi. Zauważ, że UFW i tak tego nie obsługuje.

Sam Fedora Linux próbował dostarczyć coś takiego firewalld. (Wygląda na to, że pakiety są również dostępne w Debianie ...). GUI nie jest tak „przyjazny”, powiedzmy, jak GUFW.

sourcejedi
źródło
Cieszę się, że zakwalifikowałeś komentarz re ubuntu słowem „dla kogoś, kto próbuje się uczyć”, myślę, że w pewnym sensie taka jest prawdziwa odpowiedź, debian nie jest systemem stworzonym dla tej grupy, a istnienie ubuntu może do tego dojść. Jako ktoś, kto nie próbuje się uczyć, to jest właśnie powód, dla którego zawsze wolę debiana niż na przykład Ubuntu. Kiedyś bawiłem się lokalnymi zaporami ogniowymi, ale w końcu zacząłem postrzegać je bardziej jako zabawki niż prawdziwe narzędzia, to znaczy rzeczy GUI, a nie iptables itp. Twoje 1. i 2. punkty, które, jak sądzę, obejmują myślenie leżące u podstaw tej decyzji, Nawiasem mówiąc, zgadzam się z tą decyzją.
Lizardx
@Lizardx Zredagowałem, aby spróbować podkreślić, jak zniechęcająca jest sytuacja z rpcbind + publicznymi sieciami Wi-Fi :). Myślę, że wiem skąd pochodzisz w tym komentarzu, ale nie do końca się z tym zgadzam. Cieszę się, że mam dostęp do arsenału broni krótkiej w repozytorium, ale lubię mieć zdefiniowane domyślne (lub kilka, np. Jeśli liczysz XFCE jako popularną opcję „nie GNOME3”) jako niezawodną bazę do budowania .
sourcejedi
Publiczne Wi-Fi jest oczywiście przykładem użycia, w którym zapory ogniowe w systemie mają duże znaczenie dla zwykłych użytkowników. Ale, jak wskazano w innych odpowiedziach, Debian zakłada, że ​​wiesz o tym, jeśli go zainstalujesz i użyjesz go w ten sposób. Może bliżej tego, w jaki sposób FreeBSD lub OpenBSD mogą zobaczyć to pytanie? Mówiąc tylko dla mnie, jestem OGROMNYM nie fanem domyślnych wyborów grup pakietów Debiana, nigdy nie widziałem, aby tworzyli coś, co naprawdę chciałbym uruchomić, w przeciwieństwie do powiedzmy XUbuntu lub różnych spinów Debiana, które stworzyły ładne domyślne instalacje . Powiedziawszy to, zgadzam się, opcja nie GNOME 3, XFCE, byłaby bardzo miła.
Lizardx
4
gufw jest okropny. ufw nie ma prawie żadnego sensu i czy nie przechowuje reguł w XML? ugh. łatwiej jest poradzić sobie nawet z ręcznym zestawem reguł iptables.
user2497
3

Tradycyjną filozofią Uniksa zawsze było KISS i uruchamianie / ujawnianie minimum usług.

Kilka usług musi być również jawnie zainstalowanych, a nawet niektóre są przypisane do localhost, a Ty musisz umożliwić ich widoczność w sieci lokalnej / w Internecie (MySQL, MongoDB, snmpd, ntpd, xorg ...). Jest to bardziej rozsądne podejście niż domyślne włączenie zapory.

Potrzebujesz tylko złożoności zapory ogniowej z pewnego punktu, a tę potrzebę można zmniejszyć, stojąc za korporacyjnym routerem lub urządzeniem sieci domowej, więc brzmi rozsądnie, pozostawiając decyzję użytkownikowi. Zapora ogniowa, podobnie jak wiele innych programów zabezpieczających, może również zapewniać fałszywe poczucie bezpieczeństwa, jeśli nie jest odpowiednio zarządzana.

Orientacja Debiana zawsze była bardziej zorientowanym technicznie ludem, który wie, co to jest iptables; istnieje również kilka dobrze znanych opakowań, interfejsów tekstowych lub graficznych, które można łatwo zainstalować.

Co więcej, czy chodzi o to, czy ma za dużo czy za mało zainstalowanego oprogramowania, jest kwestią opinii. Dla długoletniego weterana jest to zbyt dużo oprogramowania i usług instalowanych domyślnie, szczególnie w trybie serwera.

Rui F. Ribeiro
źródło