Kilka dni temu zacząłem bardzo troszczyć się o moje bezpieczeństwo danych, kończąc na nmap
:nmap 127.0.0.1
Niespodzianka, niespodzianka, mam wiele aktywnych usług, słuchaj localhost:
$ nmap 127.0.0.1
Starting Nmap 5.21 ( http://nmap.org ) at 2013-05-05 00:19 WEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00025s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Jedyne, czego mógłbym użyć, to ssh
(chociaż prawdopodobnie nie jest dobrze skonfigurowane, przejdę do innego pytania).
O ile wiem ipp
protokół jest używany przez CUPS do udostępniania moich drukarek, nie muszę ich udostępniać, po prostu uzyskuję dostęp do drukarek z serwera.
Jest to wynik działania netstat -lntup
użytkownika root usuwającego adresy localhost:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 497/sshd
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 2217/dropbox
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 892/smbd
tcp 0 0 0.0.0.0:50022 0.0.0.0:* LISTEN 1021/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 892/smbd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 906/rpcbind
tcp6 0 0 :::22 :::* LISTEN 497/sshd
tcp6 0 0 :::42712 :::* LISTEN 1021/rpc.statd
tcp6 0 0 :::445 :::* LISTEN 892/smbd
tcp6 0 0 :::139 :::* LISTEN 892/smbd
tcp6 0 0 :::111 :::* LISTEN 906/rpcbind
udp 0 0 0.0.0.0:51566 0.0.0.0:* 615/avahi-daemon: r
udp 0 0 0.0.0.0:68 0.0.0.0:* 7362/dhclient
udp 0 0 0.0.0.0:111 0.0.0.0:* 906/rpcbind
udp 0 0 192.168.1.255:137 0.0.0.0:* 1782/nmbd
udp 0 0 192.168.1.67:137 0.0.0.0:* 1782/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 1782/nmbd
udp 0 0 192.168.1.255:138 0.0.0.0:* 1782/nmbd
udp 0 0 192.168.1.67:138 0.0.0.0:* 1782/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 1782/nmbd
udp 0 0 0.0.0.0:655 0.0.0.0:* 906/rpcbind
udp 0 0 0.0.0.0:17500 0.0.0.0:* 2217/dropbox
udp 0 0 0.0.0.0:5353 0.0.0.0:* 615/avahi-daemon: r
udp 0 0 0.0.0.0:34805 0.0.0.0:* 1021/rpc.statd
udp6 0 0 :::40192 :::* 1021/rpc.statd
udp6 0 0 :::111 :::* 906/rpcbind
udp6 0 0 :::655 :::* 906/rpcbind
udp6 0 0 :::5353 :::* 615/avahi-daemon: r
udp6 0 0 :::42629 :::* 615/avahi-daemon: r
Jak skonfigurować te usługi, aby słuchały świata zewnętrznego tylko wtedy, gdy faktycznie z nich korzystam?
netstat -lntup
-l = nasłuch -n = liczba -t = tcp -u = udp -p = pid. Pokazuje, jakie procesy masz uruchomione i jakie porty ujawniają. Wszystko, co jest otwarte do wersji 127.0.0.1, jest niedostępne w Internecie.eth0
?) Dodając wsmb.conf
dwóch dyrektywachbind interfaces only = yes
iinterfaces = eth0
.Odpowiedzi:
Określ swoją ekspozycję
Biorąc wynik działania
netstat
polecenia, wygląda to na bardzo krótką listę:Uzyskiwanie ukształtowania terenu
Patrząc na tę listę, jest kilka usług, które zostawiłbym w spokoju.
Zacznij zmniejszać - wyłącz Sambę
Prawdopodobnie możesz od razu wyłączyć nietoperza Sambę, stanowi ona 2 z powyższych usług
nmbd
ismbd
. Jest wątpliwe, czy naprawdę potrzebujesz tego na laptopie, niezależnie od tego, czy jest to host lokalny, czy adres IP skierowany do sieci.Aby sprawdzić, czy są uruchomione, możesz użyć następującego polecenia
status
:Wyłączanie usług może być mylące z całym ciągłym rozwojem działalności związanej z upstartem /etc/rc.d, więc może być trudno ustalić, która usługa jest zgodna z jaką technologią. W przypadku Samby możesz użyć
service
polecenia:Teraz są wyłączone:
Trzymanie ich z daleka ... na stałe
Aby je wyłączyć, korzystam z tego narzędzia
sysv-rc-conf
, aby zarządzać usługami z konsoli, działa lepiej niż większość. Pozwala sprawdzić, które usługi chcesz uruchomić i na jakim poziomie działania powinny zostać uruchomione / zatrzymane:Wyłączam resztę tego, co NIE jest potrzebne
Więc teraz Samba jest wyłączony, pozostaje nam:
W przypadku pozostałych 3 możesz zrobić to samo, co Samba, aby je wyłączyć.
KUBKI?
Aby wyłączyć CUPS, którego tak naprawdę nie potrzebujesz, możesz wykonać ten sam taniec, wyłączając usługę, a następnie wyłączając ją z uruchamiania. Aby móc drukować, musisz skonfigurować każdą drukarkę indywidualnie w systemie. Możesz to zrobić za pomocą
system-config-printer
GUI.Robisz te usługi na żądanie?
To jest naprawdę sedno twojego pytania, ale tak naprawdę nie ma srebrnego rozwiązania, które uczyni te usługi „inteligentnymi”, aby działały, gdy są używane, a nie przez cały czas.
# 1 - systemd vs. upstartCzęść z nich to obecny podział na systemd i upstart . Jest to dobry przegląd z 2 konkurencyjnymi technologiami tutaj .
Obie technologie próbują robić nieco inne rzeczy, IMO, biorąc pod uwagę ich zestaw funkcji, systemd wydaje się bardziej ukierunkowany na serwery, podczas gdy upstart wydaje się bardziej ukierunkowany na pulpit. Z czasem to się sprawdzi, IMO, a obie usługi będą stabilne i bogate w funkcje.
Ostatecznie obie usługi będą oferować na żądanie uruchamianie i zatrzymywanie we wszystkich kierunkach dla wszystkich usług, którymi zarządzają. Funkcje takie jak
# 2 - wsparcie serwisoweStopWhenUnneeded=yes
już istnieją,systemd
na przykład, więc kwestią czasu jest rozwinięcie tych możliwości.Niektóre usługi nie obsługują zatrzymywania / uruchamiania bardzo dobrze, jeśli w ogóle. Usługi takie, jak
sshd
wydaje się, nie mają sensu uruchamiać na żądanie, zwłaszcza jeśli są intensywnie używane. Również niektóre usługi, takie jak Apache, zapewniają w sobie mechanizmy pozwalające rozdzielić mniej więcej własnych słuchaczy zarządzających sobą. Nie jest więc jasne, w jaki sposób usługi na żądanie zapewnianesystemd
lubupstart
zamierzają zintegrować z tego rodzaju usługami.Czy to naprawdę konieczne?
Usłyszysz z obu stron, że jest to przesada lub że powinieneś podejść do minimalisty instalując tylko to, czego absolutnie potrzebujesz, ale to naprawdę osobisty wybór. Zrozumienie, że usługi te istnieją i to, co robią, jest naprawdę ważne. Pod koniec dnia komputer jest narzędziem, a używając systemu uniksowego już mówisz, że chcesz zajrzeć za zasłonę i zrozumieć, co sprawia, że komputer tyka.
Powiedziałbym, że ten rodzaj przesłuchań jest dokładnie tym, do czego należy dążyć, mając do czynienia z komputerami i Unixem w ogóle.
Referencje
systemd - wikipedia
[10: http://tech.cueup.com/blog/2013/03/08/running-daemons/
źródło
127.0.0.1 nie jest „światem zewnętrznym”, rozgląda się po domu.
Sprawdź konfigurację zapory ogniowej (dzisiaj iptables w Linuksie), większość z nich nie powinna być dostępna od samego początku.
Nie uruchamiaj usług, których nie potrzebujesz. Odinstaluj wszystkie niepotrzebne oprogramowanie.
Zmień hasła, aby były silniejsze. Sprawdź, czy korzystasz z systemu, nie chodź przypadkiem po ciekawą stronę internetową. Sprawdź konfigurację przeglądarki anty-phishing, anty-skryptów itp. Sprawdź, czy korzystasz z SSH i su / sudo.
Ale przede wszystkim nadmierna paranoja przynosi efekt przeciwny do zamierzonego. Nie daj się złapać w blask technologii .
źródło
Chociaż możesz „zamykać” poszczególne usługi - być może skonfigurowanie zapory może być łatwiejsze. Prawie wszystkie popularne dystrybucje (Ubuntu, Debian, Centos itp.) Mają wbudowane wsparcie dla iptables.
Prosty zestaw reguł na początek: (wystarczy wpisać je w wierszu polecenia; aby na stałe dodać je do skryptów uruchamiania lub powiedzieć nam, jakiej dystrybucji używasz. Na Centos, na przykład: system-config -firewall to dobry interfejs do konfigurowania reguł iptables)
Zasadniczo - zezwalaj na ssh przychodzące; upuść wszystko inne.
Twój łańcuch INPUT wygląda teraz tak:
Później powiedz, że chcesz zezwolić na „sambę” (udostępnianie plików systemu Windows): możesz uruchomić
Do
-I
wstawia i reguła w wykazie;-A
dołącza regułę. Twój łańcuch wygląda teraz tak:INPUT
Łańcuch odnosi się do pakietów przeznaczonych dla danego systemu. Inne łańcuchy dotycząOUTPUT
pakietów z twojego komputera, przechodzących do Internetu orazFORWARD
pakietów, które są kierowane przez twój komputer (to znaczy pakiety, które „tranzytują” twój komputer, jak strefa tranzytowa lotniska - rzeczy, które nie sąINPUT
spowodowane tym, że nie dostaje się do twojego komputera ).Na marginesie: nmap'ing 127.0.0.1 nie jest zbyt użyteczny; wiele usług jest dostępnych tylko od 127.0.0.1 i nie ma innego adresu. Jeśli nie masz innej maszyny, z której możesz uruchomić nmap - spróbuj użyć Shields UP Gibson Research! ( https://www.grc.com/shieldsup ) - który jest darmowym nmap-lite online. Lub dodaj komentarz do swojego adresu IP / e-maila, a ja nmap cię :)
źródło