Przewodnik bezpieczeństwa Linuksa. Niebezpieczne luki w systemie Linux Zaszyfruj system plików w systemie Linux, aby uzyskać pełniejszą ochronę systemu Linux

Na dorocznej konferencji LinuxCon w 2015 roku twórca jądra GNU/Linux Linus Torvalds podzielił się swoją opinią na temat bezpieczeństwa systemu. Podkreślił konieczność łagodzenia skutków obecności pewnych błędów odpowiednimi zabezpieczeniami, tak aby w przypadku awarii jednego komponentu następna warstwa pokryła problem.

W tym artykule postaramy się ujawnić ten temat z praktycznego punktu widzenia:

7. Zainstaluj zapory sieciowe

Niedawno pojawiła się nowa luka, która umożliwia ataki DDoS na serwery z systemem Linux. Błąd w rdzeniu systemu pojawił się od wersji 3.6 pod koniec 2012 roku. Luka pozwala hakerom wstrzykiwać wirusy do pobieranych plików, stron internetowych i ujawniać połączenia Tora, a włamanie nie wymaga dużego wysiłku - zadziała metoda fałszowania adresów IP.

Maksymalną szkodą dla szyfrowanych połączeń HTTPS lub SSH jest przerwanie połączenia, ale osoba atakująca może umieścić nową zawartość, w tym złośliwe oprogramowanie, w niechronionym ruchu. Aby chronić się przed takimi atakami, odpowiednia jest zapora ogniowa.

Zablokuj dostęp za pomocą zapory

Zapora ogniowa jest jednym z najważniejszych narzędzi do blokowania niechcianego ruchu przychodzącego. Zalecamy przepuszczanie tylko tego ruchu, który jest naprawdę potrzebny, i całkowite blokowanie całego innego ruchu.

Do filtrowania pakietów większość dystrybucji Linuksa ma kontroler iptables. Zwykle jest używany przez zaawansowanych użytkowników, a dla uproszczenia konfiguracji można użyć narzędzi UFW w Debianie/Ubuntu lub FirewallD w Fedorze.

8. Wyłącz niepotrzebne usługi

Specjaliści z University of Virginia zalecają wyłączenie wszystkich usług, z których nie korzystasz. Niektóre procesy w tle są ustawione na automatyczne ładowanie i działają do momentu zamknięcia systemu. Aby skonfigurować te programy, musisz sprawdzić skrypty inicjujące. Usługi można uruchomić przez inetd lub xinetd.

Jeśli Twój system jest skonfigurowany przez inetd, to w pliku /etc/inetd.conf możesz edytować listę „demonów” działających w tle programów, aby wyłączyć ładowanie usługi, wystarczy umieścić znak „#” na początku line, zamieniając go z pliku wykonywalnego w komentarz.

Jeśli system używa xinetd, to jego konfiguracja będzie znajdować się w katalogu /etc/xinetd.d. Każdy plik katalogowy definiuje usługę, którą można wyłączyć, podając klauzulę disable = yes, tak jak w poniższym przykładzie:

Palec serwisowy (gniazdo_typ = oczekiwanie na strumień = brak użytkownika = nikt serwer = /usr/sbin/in.fingerd wyłączona = tak)
Warto również sprawdzić trwałe procesy, które nie są zarządzane przez inetd lub xinetd. Możesz skonfigurować skrypty startowe w katalogach /etc/init.d lub /etc/inittab. Po wprowadzeniu zmian uruchom polecenie na koncie root.

/etc/rc.d/init.d/inet uruchom ponownie

9. Chroń serwer fizycznie

Nie jest możliwe pełne zabezpieczenie przed atakami ze strony atakującego z fizycznym dostępem do serwera. Dlatego konieczne jest zabezpieczenie pomieszczenia, w którym znajduje się Twój system. Centra danych poważnie traktują bezpieczeństwo, ograniczając dostęp do serwerów, instalując kamery bezpieczeństwa i wyznaczając stałych strażników.

Aby wejść do centrum danych, wszyscy odwiedzający muszą przejść określone etapy uwierzytelniania. Zdecydowanie zaleca się również stosowanie czujników ruchu we wszystkich obszarach centrum.

10. Chroń serwer przed nieautoryzowanym dostępem

System nieautoryzowanego dostępu (IDS) zbiera dane o konfiguracji systemu i plikach, a następnie porównuje te dane z nowymi zmianami w celu określenia, czy są one szkodliwe dla systemu.

Na przykład narzędzia Tripwire i Aide gromadzą bazę danych plików systemowych i chronią je za pomocą zestawu kluczy. Psad służy do śledzenia podejrzanych działań poprzez raportowanie zapory.

Bro jest przeznaczony do monitorowania sieci, śledzenia wzorców podejrzanych działań, zbierania statystyk, wykonywania poleceń systemowych i generowania alertów. RKHunter może służyć do ochrony przed wirusami, najczęściej rootkitami. To narzędzie skanuje system pod kątem bazy danych znanych luk w zabezpieczeniach i może wykrywać niebezpieczne ustawienia w aplikacjach.

Wniosek

Narzędzia i ustawienia wymienione powyżej pomogą ci częściowo chronić system, ale bezpieczeństwo zależy od twojego zachowania i zrozumienia sytuacji. Bez uwagi, ostrożności i ciągłego samouczenia się wszystkie środki ochronne mogą nie zadziałać.

Z pewnością można tak powiedzieć Linuks więcej bezpieczna(chroniony) niż Windows. Bezpieczeństwo V Linuks wbudowany, a nie przykręcony gdzieś z boku, jak to jest zaimplementowane w systemie Windows. Bezpieczeństwo systemy Linuks obejmuje obszar od jądra do pulpitu, ale hakerzy mogą uszkodzić katalog domowy (/home).

Twoje bajty zdjęć, domowe filmy, dokumenty, dane karty kredytowej lub portfela to najcenniejsze informacje na komputerze. Oczywiście Linux nie jest podatny na wszelkiego rodzaju robaki internetowe i wirusy dla systemu Windows. Ale atakujący mogą znaleźć sposób na uzyskanie dostępu do twoich danych w twoim katalogu domowym.

Po przygotowaniu starego komputera lub dysku twardego do sprzedaży, formatowaniu, myślisz, że to wystarczy? Istnieje wiele nowoczesnych narzędzi do odzyskiwania danych. Haker z łatwością odzyska Twoje dane z dysku twardego, niezależnie od systemu operacyjnego, w którym pracowałeś.

W tym temacie przypominam sobie doświadczenie pewnej firmy skupującej używane komputery i dyski. W toku swoich działań wydali wyrok, że 90% poprzednich właścicieli ich komputerów nie dbało odpowiednio o wyczyszczenie swoich nośników danych przed sprzedażą. I wydobywali bardzo wrażliwe bajty danych. Przerażające jest nawet wyobrażenie sobie, że gdzieś w pojemnikach na dysku twardym znajdują się informacje, które należy wprowadzić do banku internetowego lub portfela internetowego.

Zacznij od podstaw bezpieczeństwa w systemie Linux

Przejdźmy do podstaw (), które będą pasować do prawie każdego
Dystrybucje Linuksa.

Szyfrowanie systemu plików w systemie Linux w celu pełniejszego zabezpieczenia systemu Linux

Niestandardowe hasła nie rozwiążą problemu, jeśli naprawdę nie chcesz, aby ktokolwiek mógł odczytać twój katalog domowy (/home) lub określony rozmiar bajtu. Możesz to zrobić tak, że nawet użytkownik z najwyższymi uprawnieniami roota nie będzie mógł wtykać nosa.

Usuń poufne pliki, aby nikt inny nie mógł ich odzyskać

Jeśli zdecydujesz się sprzedać lub podarować swój komputer lub nośnik pamięci, nie zakładaj, że zwykłe formatowanie trwale usunie Twoje pliki. Możesz zainstalować narzędzie do bezpiecznego usuwania w systemie Linux, które zawiera narzędzie srm do bezpiecznego usuwania plików.

Nie zapomnij również o firewallu dostępnym w jądrze Linuksa. Wszystkie dystrybucje Linuksa zawierają lptables, które są częścią jądra. Lptables umożliwia filtrowanie pakietów sieciowych. Oczywiście możesz skonfigurować to narzędzie w terminalu. Ale ta metoda jest poza zasięgiem wielu, w tym mnie. Dlatego instaluję i konfiguruję tak łatwo, jakbym grał w grę.

Podobnie jak wszystkie systemy operacyjne, Linux jest podatny na gromadzenie się śmieci podczas uruchamiania różnych aplikacji. I to nie jest wina Linuksa, ponieważ różne aplikacje, takie jak przeglądarki, edytory tekstu, a nawet odtwarzacze wideo, działają poza poziomem jądra i gromadzą pliki tymczasowe. Możesz zainstalować uniwersalne narzędzie do usuwania śmieci BleachBit.

Anonimowe surfowanie, ukrywanie adresu IP - bardzo ważne dla bezpieczeństwa Twojej tożsamości w systemie operacyjnym Linux


Podsumowując, chcę opowiedzieć o anonimowym surfowaniu po Internecie. Czasami zdarza się, że jest to konieczne, tak jak ja, kiedy w tajemnicy przed żoną odwiedzam strony z treściami erotycznymi. Oczywiście żartowałem.

Atakującym będzie trudno się do ciebie dostać, jeśli nie będą w stanie określić twojej lokalizacji. Pokrywamy tory za pomocą prostej konfiguracji dwóch współpracujących ze sobą narzędzi o nazwie privoxy i tor.

Moim zdaniem przestrzeganie i skonfigurowanie wszystkich tych zasad zapewni bezpieczeństwo Tobie i Twojemu komputerowi o 90%.

PS Używam chmury o nazwie dropbox. Przechowuję w nim moje stare i nowe, jeszcze niepublikowane artykuły. Wygodnie jest mieć dostęp do swoich plików z dowolnego miejsca na świecie i na dowolnym komputerze. Pisząc artykuły na stronę w edytorze tekstu, zapisuję swoje dokumenty tekstowe z hasłem i dopiero potem przesyłam je na serwer Dropbox. Nigdy nie należy zaniedbywać dodatkowych zabezpieczeń, które tylko zagrają w twoje ręce.

Wszyscy wiemy, że system operacyjny Linux jest znacznie bezpieczniejszy niż Windows ze względu na swoją architekturę i specjalny system dystrybucji dostępu między użytkownikami. Ale programiści to też ludzie, choć ich nienawidzimy, oni też popełniają błędy. A z powodu tych błędów w systemie pojawiają się dziury, przez które atakujący mogą ominąć systemy bezpieczeństwa.

Błędy te nazywane są lukami, mogą wystąpić w różnych programach, a nawet w samym jądrze systemu, podważając jego bezpieczeństwo. W ostatnich latach popularność Linuksa zaczęła rosnąć, a badacze bezpieczeństwa zwracają na ten system coraz większą uwagę. Odkrywanych jest coraz więcej luk, a dzięki otwartemu kodowi źródłowemu okazuje się, że można je bardzo szybko naprawić. W tym artykule przyjrzymy się najniebezpieczniejszym lukom w Linuksie, które zostały odkryte w ciągu ostatnich kilku lat.

Zanim przejdziemy do samej listy luk, ważne jest, aby zrozumieć, czym one są i czym są. Jak powiedziałem, luka w zabezpieczeniach to błąd w programie, który umożliwia użytkownikowi korzystanie z programu w sposób niezamierzony przez jego twórcę.

Może to być brak walidacji otrzymanych danych, weryfikacji źródła danych oraz, co najciekawsze, rozmiaru danych. Najbardziej niebezpieczne podatności to te, które umożliwiają wykonanie dowolnego kodu. W pamięci RAM wszystkie dane mają określony rozmiar, a program jest przeznaczony do zapisywania w pamięci danych użytkownika o określonym rozmiarze. Jeśli użytkownik prześle więcej danych, powinien zgłosić błąd.

Ale jeśli programista popełnił błąd, dane nadpiszą kod programu, a procesor spróbuje je wykonać, w ten sposób powstają luki w zabezpieczeniach związane z przepełnieniem bufora.

Ponadto wszystkie podatności można podzielić na lokalne, które działają tylko wtedy, gdy haker ma dostęp do lokalnego komputera, oraz zdalne, gdy dostęp przez Internet jest wystarczający. A teraz przejdźmy do listy luk.

1. Brudna KROWA

Pierwszą luką na naszej liście będzie nowa luka, którą wykryliśmy tej jesieni. Nazwa Dirty COW oznacza Copy on Write. Wystąpił błąd w systemie plików podczas kopiowania przy zapisie. Jest to lokalna luka, która pozwala każdemu nieuprzywilejowanemu użytkownikowi uzyskać pełny dostęp do systemu.

Krótko mówiąc, do wykorzystania luki potrzebne są dwa pliki, jeden jest zapisywalny tylko w imieniu superużytkownika, drugi jest dla nas. Wiele razy zaczynamy zapisywać dane do naszego pliku i odczytywać z pliku superużytkownika, po pewnym czasie nadejdzie moment, kiedy bufory obu plików zostaną wymieszane i użytkownik będzie mógł zapisać dane do pliku, którego zapis jest niedostępne dla niego, więc możesz nadać sobie prawa roota w systemie.

Luka była w jądrze przez około 10 lat, ale po wykryciu została szybko wyeliminowana, chociaż nadal istnieją miliony urządzeń Andoid, w których jądro nie zostało zaktualizowane i nie myśli i gdzie można tę lukę wykorzystać. Luka została oznaczona kodem CVE-2016-5195.

2. Luka w Glibc

Luka otrzymała kod CVE-2015-7547. Była to jedna z najczęściej omawianych luk w zabezpieczeniach projektów open source. W lutym 2016 roku okazało się, że biblioteka Glibc ma bardzo poważną lukę, która umożliwia atakującemu wykonanie jego kodu na zdalnym systemie.

Należy zauważyć, że Glibc jest implementacją standardowej biblioteki C i C++, która jest używana w większości programów linuksowych, w tym w usługach i językach programowania, takich jak PHP, Python, Perl.

W kodzie analizującym odpowiedź serwera DNS wystąpił błąd. W ten sposób luka może zostać wykorzystana przez hakerów, do których DNS uzyskały dostęp podatne na ataki maszyny, a także przeprowadzić atak MITM. Ale luka dała pełną kontrolę nad systemem

Luka znajduje się w bibliotece od 2008 roku, ale po odkryciu łatki zostały wydane dość szybko.

3. Krwawienie z serca

W 2014 roku odkryto jedną z najpoważniejszych pod względem skali i konsekwencji luk. Było to spowodowane błędem w module heartdead OpenSSL, stąd nazwa Heartbleed. Luka umożliwiła atakującym uzyskanie bezpośredniego dostępu do 64 kilobajtów pamięci RAM serwera, atak można było powtarzać do momentu odczytania całej pamięci.

Pomimo tego, że poprawka została opublikowana bardzo szybko, dotyczyła ona wielu witryn i aplikacji. W rzeczywistości wszystkie witryny korzystające z protokołu HTTPS do zabezpieczania ruchu były podatne na ataki. Atakujący mogli uzyskać hasła użytkowników, ich dane osobowe i wszystko, co znajdowało się w pamięci w momencie ataku. Luka otrzymała kod CVE-2014-0160.

4.Strach

Jeśli luka otrzymała nazwę kodową, to zdecydowanie oznacza, że ​​zasługuje na uwagę. Luka Stagefight nie jest wyjątkiem. To prawda, że ​​​​tak naprawdę nie jest to problem z Linuksem. Stagefright to biblioteka do obsługi formatów multimedialnych w systemie Android.

Jest zaimplementowany w języku C++, co oznacza, że ​​omija wszystkie mechanizmy bezpieczeństwa Java. W 2015 roku wykryto całą grupę luk, które umożliwiały zdalne wykonanie dowolnego kodu w systemie. Są to CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828 i CVE-2015-3829.

Atakującemu wystarczyło wysłanie MMS-a na podatny na ataki smartfon ze specjalnie zmodyfikowanym plikiem multimedialnym, a uzyskał pełną kontrolę nad urządzeniem z możliwością zapisu i odczytu danych z karty pamięci. Luka została naprawiona przez programistów Androida, ale miliony urządzeń nadal są podatne na ataki.

5. Luka w zabezpieczeniach jądra dnia zerowego

Jest to lokalna luka, która umożliwia podniesienie bieżącego użytkownika do poziomu root z powodu błędu w systemie do pracy z danymi kryptograficznymi przechowywanymi w pamięci jądra. Została wykryta w lutym 2016 roku i obejmowała wszystkie jądra począwszy od wersji 3.8, co oznacza, że ​​luka istniała przez 4 lata.

Błąd mógł zostać wykorzystany przez hakerów lub złośliwe oprogramowanie do zwiększenia swojego autorytetu w systemie, ale został szybko naprawiony.

6. Luka w zabezpieczeniach MySQL

Luka została oznaczona kodem CVE-2016-6662 i dotyczyła wszystkich dostępnych wersji serwerów baz danych MySQL (5.7.15, 5.6.33 i 5.5.52), baz danych Oracle oraz klonów MariaDB i PerconaDB.

Atakujący mogli uzyskać pełny dostęp do systemu poprzez zapytanie SQL, przesłano kod, który pozwolił im zastąpić plik my.conf własną wersją i zrestartować serwer. Możliwe było również wykonanie szkodliwego kodu z uprawnieniami superużytkownika.

Rozwiązania MariaDB i PerconaDB dość szybko wypuściły łatki, Oracle zareagowało, ale dużo później.

7 Shellshock

Luka ta została odkryta w 2014 roku, zanim przetrwała 22 lata. Otrzymała kod CVE-2014-6271 i nazwę kodową Shellshock. Zagrożenie tej luki jest porównywalne ze znanym już Heartbleed. Jest to spowodowane błędem w interpreterze poleceń Bash, który jest domyślny w większości dystrybucji Linuksa.

Bash umożliwia deklarowanie zmiennych środowiskowych bez uwierzytelniania użytkownika i razem można w nich wykonać dowolne polecenie. Jest to szczególnie niebezpieczne w przypadku skryptów CGI, które są obsługiwane przez większość witryn. Narażone są nie tylko serwery, ale także komputery osobiste użytkowników, routery i inne urządzenia. W rzeczywistości atakujący może zdalnie wykonać dowolne polecenie, jest to pełnoprawny pilot bez uwierzytelniania.

Luki dotyczyły wszystkich wersji Bash, w tym 4.3, jednak po wykryciu problemu programiści bardzo szybko opublikowali poprawkę.

8. Czworonożny

To cała seria luk w Androidzie, które zostały odkryte w sierpniu 2016 roku. Otrzymały one kody CVE-2016-5340, CVE-2016-2059, CVE-2016-2504, CVE-2016-2503. Błąd dotyczy ponad 900 milionów urządzeń z Androidem. Wszystkie luki zostały znalezione w sterowniku procesora ARM firmy Qualcomm i wszystkie z nich można wykorzystać do uzyskania uprawnień administratora do urządzenia.

Podobnie jak DirtyCOW, tutaj nie są potrzebne żadne uprawnienia, wystarczy zainstalować złośliwą aplikację, która będzie mogła uzyskać wszystkie twoje dane i przesłać je atakującemu.

9. Luka w OpenJDK

Jest to bardzo poważna luka w systemie Linux 2016 w OpenJDK Java Machine z kodem CVE-2016-0636, która dotyczy wszystkich użytkowników korzystających z Oracle Java SE 7 Update 97 i 8 Update 73 i 74 w systemach Windows, Solaris, Linux i Mac OS X. umożliwia atakującemu wykonanie dowolnego kodu poza maszyną Java, jeśli otworzysz specjalną stronę w przeglądarce z wrażliwą wersją Java.

Pozwoliło to atakującemu uzyskać dostęp do Twoich haseł, danych osobowych, a także uruchomić programy na Twoim komputerze. We wszystkich wersjach Javy błąd został naprawiony bardzo szybko, istnieje od 2013 roku.

10. Luka HTTP/2

To seria luk, które zostały wykryte w 2016 roku w protokole HTTP/2. Otrzymali kody CVE-2015-8659, CVE-2016-0150, CVE-2016-1546, CVE-2016-2525, CVE-2016-1544. Wszystkie implementacje tego protokołu w Apache, Nginx Microsoft, Jetty i nghttp2 były narażone na luki.

Wszystkie z nich umożliwiają atakującemu znaczne spowolnienie serwera WWW i przeprowadzenie ataku typu „odmowa usługi”. Przykładowo jeden z błędów spowodował możliwość wysłania małej wiadomości, która została rozpakowana do gigabajtów na serwerze. Błąd został naprawiony bardzo szybko i dlatego nie spowodował dużego hałasu w społeczności.

Czy jesteś bezpieczny?

W tym artykule dokonaliśmy przeglądu najniebezpieczniejszych luk w systemie Linux z lat 2016, 2015 i 2014. Większość z nich może spowodować poważne uszkodzenia systemów, jeśli nie zostaną naprawione na czas. Dzięki otwartemu kodowi źródłowemu takie luki w Linuksie są skutecznie wykrywane i szybko naprawiane. Tylko nie zapomnij zaktualizować systemu. Problem pozostaje tylko z Androidem. Niektóre urządzenia nie otrzymują już aktualizacji i nie ma jeszcze rozwiązania tego problemu.


Wielu użytkowników uważa, że ​​pop Ubuntu i Ubuntu Server nie są poważne. Wiele osób zapomina, że ​​Ubuntu Server jest wspierany od 5 lat, a ojciec Debiana 5.0 był na rynku od 3 lat – od 2009 do 2012 roku.

Jeśli chodzi o ceny wsparcia – w porównaniu do Red Hata, Ubuntu Server można i należy powiedzieć – masz go za darmo, nawet jeśli zamówisz całodobowe wsparcie 24x7x365.

Zobacz, jakie rozwiązania bezpieczeństwa są zaimplementowane we wszystkich wersjach Ubuntu i spraw, by były bezpieczne i niezawodne.

Możliwości

Macierz możliwości bezpieczeństwa

Możliwość 8.04LTS(twarda czapla) 10.04LTS(Świadomy Ryś) 11.04 (Natty Narwal) 11.10 (Oniryczny Ocelot) 12.04LTS(Precyzyjny Łuskowiec) 12.10 (Quantal Quetzal)
Brak otwartych portów polityka polityka polityka polityka polityka polityka
Skrót hasła md5 sha512 sha512 sha512 sha512 sha512
Pliki cookie SYN -- jądro i sysctl jądro i sysctl jądro i sysctl jądro i sysctl jądro i sysctl
Możliwości systemu plików -- jądro jądro jądro jądro jądro
Konfigurowalna zapora sieciowa ufw ufw ufw ufw ufw ufw
PR_SET_SECCOMP jądro jądro jądro jądro jądro jądro
AppArmor 2.1 2.5 2.6.1 2.7.0~beta1 2.7.0 2.7.0
SELinux wszechświat wszechświat wszechświat wszechświat wszechświat wszechświat
UDERZYĆ -- jądro jądro jądro jądro jądro
Szyfrowany LVM alternatywny instalator alternatywny instalator alternatywny instalator alternatywny instalator alternatywny instalator alternatywny instalator
eCryptfs -- ~/Prywatne lub ~, nazwy plików ~/Prywatne lub ~, nazwy plików ~/Prywatne lub ~, nazwy plików ~/Prywatne lub ~, nazwy plików ~/Prywatne lub ~, nazwy plików
Ochrona stosu poprawka gcc poprawka gcc poprawka gcc poprawka gcc poprawka gcc poprawka gcc
Ochrona sterty glibc glibc glibc glibc glibc glibc
zaciemniony wskaźnik glibc glibc glibc glibc glibc glibc
Stos ASLR jądro jądro jądro jądro jądro jądro
libs/mmap ASLR jądro jądro jądro jądro jądro jądro
Wykonawcy ASLR jądro (poprawka -mm) jądro jądro jądro jądro jądro
brk ASLR jądro (exec ASLR) jądro jądro jądro jądro jądro
VDSO ASLR jądro jądro jądro jądro jądro jądro
Budynek z PASZTETĄ -- lista pakietów lista pakietów lista pakietów lista pakietów lista pakietów
-- poprawka gcc poprawka gcc poprawka gcc poprawka gcc poprawka gcc
Montaż z RELRO -- poprawka gcc poprawka gcc poprawka gcc poprawka gcc poprawka gcc
Tworzenie za pomocą BIND_NOW -- lista pakietów lista pakietów lista pakietów lista pakietów lista pakietów
Pamięć niewykonywalna Tylko PAE PAE, ia32 częściowa emulacja NX PAE, ia32 częściowa emulacja NX PAE, ia32 częściowa emulacja NX PAE, ia32 częściowa emulacja NX
Ochrona /proc/$pid/maps jądro i sysctl jądro jądro jądro jądro jądro
Limity dowiązań symbolicznych -- -- jądro jądro jądro jądro
Ograniczenia łącza twardego -- -- jądro jądro jądro jądro
zakres śledzenia -- -- jądro jądro jądro jądro
Ochrona adresu 0 jądro i sysctl jądro jądro jądro jądro jądro
Ochrona /dev/mem jądro (poprawka -mm) jądro jądro jądro jądro jądro
Wyłączono /dev/kmem jądro (poprawka -mm) jądro jądro jądro jądro jądro
Blokowanie ładowania modułów upuść CAP_SYS_MODULES sysctl sysctl sysctl sysctl sysctl
jądro jądro jądro jądro jądro jądro
Ochrona stosu jądra -- jądro jądro jądro jądro jądro
Moduł RO/NX -- -- jądro jądro jądro jądro
-- -- jądro jądro jądro jądro
-- -- jądro jądro jądro jądro
Filtrowanie wywołań systemowych -- -- -- jądro jądro jądro

Brak otwartych portów

Domyślna instalacja Ubuntu nie ma otwartych portów dostępnych spoza sieci. Wyjątkiem od tej reguły są usługi infrastruktury sieciowej, takie jak klient DHCP i mDNS (Avahi/ZeroConf).

Po zainstalowaniu Ubuntu Server administrator może zainstalować dodatkowe usługi sieciowe, takie jak serwer WWW Apache. Ale domyślnie w świeżo zainstalowanym systemie, jeśli wykonasz netstat -an --inet | grep SŁUCHAJ | grep -v 127.0.0.1 , możesz łatwo sprawdzić, czy Ubuntu nie otwiera niepotrzebnie portów w celu uzyskania dostępu z sieci do systemu.

Skrót hasła

Hasło systemowe używane do logowania się do Ubuntu jest przechowywane w /etc/shadow. Dawno temu skrót hasła DES był przechowywany w /etc/passwd. Ale współczesne Linuksy przechowują skróty w /etc/shadow przez długi czas i na początku użyto solonego skrótu opartego na MD5 o identyfikatorze krypty 1. Ponieważ te same hasła miały te same skróty bez użycia soli, wprowadzenie soli poprawiło bezpieczeństwo i utrudniło złamanie haseł wielu użytkowników systemu.

Teraz MD5 jest uważany za zawodny, a wraz ze wzrostem możliwości obliczeniowych komputerów, w Ubuntu 8.10, używany jest skrót SHA-512 z solą (solone skróty haseł oparte na SHA-512, identyfikator krypty 6). To sprawia, że ​​hakowanie metodą brute-force jest niezwykle trudne i czasochłonne.

Zobacz mancrypt po szczegóły.

Do testów użyj test-glibc-security.py.

Pliki cookie SYN

Gdy system jest zalewany nowymi połączeniami sieciowymi, mechanizm plików cookie SYN pomaga zmniejszyć szkody spowodowane atakami typu SYN flood.

Możliwości systemu plików

Zapotrzebowanie na aplikacje z setuid, które działają z wyższymi uprawnieniami niż ten, który je uruchomił, można zmniejszyć, używając funkcji systemu plików, takich jak xattrs. Takie możliwości zmniejszają ryzyko nadużyć potencjalnie niebezpiecznych aplikacji setuid.

Jądro Linuksa utrzymuje wsparcie i dostępny jest zestaw narzędzi libcap2-bin do wykorzystania możliwości plików, takich jak xattrs, w celu zwiększenia bezpieczeństwa aplikacji setuid.

Użyj test-kernel-security.py do testów.

Konfigurowalna zapora sieciowa

ufw to interfejs użytkownika iptables, który jest instalowany i używany w Ubuntu, ale musi być włączony przez użytkownika. UFW ma na celu zapewnienie łatwego w użyciu interfejsu dla osób, które nie są zaznajomione z koncepcjami, łańcuchami i tabelami zapory iptables.

Jednocześnie UFW upraszcza złożone polecenia iptables, aby pomóc administratorowi, który wie, co robi.

UFW jest asystentem i podstawą graficznych nakładek.

Użyj testów ufw do testów.

PR_SET_SECCOMP

AppArmor

SELinux

SELinux to obowiązkowy system kontroli dostępu oparty na koncepcji i-węzła - i-węzła systemu plików.

Zainstalowanie pakietu selinux spowoduje wprowadzenie niezbędnych zmian i dostosowań podczas uruchamiania komputera.

Użyj test-kernel-security.py do testów.

UDERZYĆ

SMACK to elastyczny obowiązkowy system kontroli dostępu oparty na koncepcji i-węzła - deskryptora indeksu systemu plików.

Użyj test-kernel-security.py do testów.

Szyfrowanie systemu plików

Szyfrowanie LVM

Użytkownicy korzystający z alternatywnego instalatora mogą zainstalować Ubuntu na zaszyfrowanym LVM (Logical Volume Manage - Logical Volume Manager), który zaszyfruje wszystkie partycje, w tym partycję wymiany.

eCryptfs

Zaszyfrowane foldery zostały po raz pierwszy zaimplementowane w Ubuntu 8.10 jako bezpieczne miejsce do przechowywania poufnych informacji o użytkownikach.

Instalator dysku alternatywnego i dysku serwera umożliwia skonfigurowanie zaszyfrowanych folderów dla pierwszego użytkownika.

W Ubuntu 9.04 obsługa szyfrowania folderów została rozszerzona, aby umożliwić użytkownikowi zaszyfrowanie całego folderu domowego. Szyfrowanie folderu domowego jest obsługiwane w instalatorze alternatywnym i instalatorze stacjonarnym za pośrednictwem opcji user-setup/encrypt-home=true.

Wzmocnienie bezpieczeństwa przestrzeni użytkownika

Wiele funkcji bezpieczeństwa jest implementowanych poprzez flagi kompilacji podczas budowania pakietów oprogramowania i jądra.

Ochrona stosu

Flaga gcc -fstack-protector zapewnia ochronę przed przepełnieniem stosu poprzez umieszczenie małej liczby losowej jako tokena. Ta technika utrudnia przepełnienie stosu w przypadku różnych exploitów.

Niewielka liczba programów nie działa dobrze, jeśli są zbudowane z tą opcją i mają dla nich wyłączoną opcję -fstack-protector.

Do testów użyj test-gcc-security.py.

Ochrona sterty

Ochrona sterty Biblioteki GNU C (automatycznie ptmalloc i ręcznie) zapewnia ochronę przed uszkodzoną listą/odłączeniem/podwójnym zwolnieniem/przepełnieniem w menedżerze pamięci glibc.

Zapobiega to wykonywaniu dowolnego kodu w wyniku przepełnienia pamięci sterty, a tym samym uszkodzenia struktury obszaru sterty.

Ta ochrona ewoluowała w czasie, dodając coraz więcej opcji ochrony. W swoim obecnym stanie, glibc 2.10 skutecznie opiera się nawet subtelnym warunkom ataku.

zaciemniony wskaźnik

Niektóre wskaźniki glibc są zaciemniane przez makra PTR_MANGLE/PTR_UNMANGLE wewnętrznie w glibc, zapobiegając nadpisaniu wskaźników w czasie wykonywania.

Użyj testów test-glibc-security.py.

Losowe rozmieszczenie w przestrzeni adresowej. Randomizacja układu przestrzeni adresowej (ASLR)

ASLR jest zaimplementowany w jądrze, a moduł ładujący ELF umieszcza najważniejsze struktury w losowych adresach: stos, sterta, biblioteki współdzielone i inne.

Utrudnia to przewidywanie adresów, gdy atakujący próbuje wykorzystać exploity.

ASLR jest zmieniany globalnie przez /proc/sys/kernel/randomize_va_space. Przed Ubuntu 8.10 wartość wynosiła „1” (włączona). W nowszych wersjach, które zawierają brk ASLR, wartość jest ustawiona na „2” (włączona z brk ASLR).

Stos ASLR

Wyniki każdego wykonania programu są umieszczane w różnych miejscach na stosie. Trudno jest znaleźć go w pamięci i zaatakować program, dodając szkodliwy ładunek.

libs/mmap ASLR

Biblioteki są ładowane dynamicznie do różnych lokalizacji pamięci, co utrudnia atakującemu znalezienie punktu powrotu.

Ochrona jest dostępna od jądra 2.6.15 (Ubuntu 6.06).

Wykonawcy ASLR

Programy zbudowane z opcją „-fPIE -pie” są ładowane do różnych miejsc w pamięci. Utrudnia to atakowanie lub przeskakiwanie na adres w celu przeprowadzenia ataku modyfikującego pamięć.

Ochrona jest dostępna od jądra 2.6.25 (Ubuntu 8.04 LTS).

brk ASLR

Podobnie jak exec ASLR, brk ASLR dostosowuje adresy pamięci między exec a brk dla małych żądań alokacji pamięci. Randomizacja przesunięcia pamięci brk exec została dodana w jądrze 2.6.26 (Ubuntu 8.10).

VDSO ASLR

Za każdym razem, gdy program jest uruchamiany, umieszcza wyniki w innym vdso. Po raz pierwszy pojawił się w jądrze 2.6.18 (x86, PPC) i 2.6.22 (x86_64), ale nie został uwzględniony w Ubuntu 6.10 z powodu COMPAT_VDSO, który został usunięty w Ubuntu 8.04 LTS.

Chroni przed atakami typu jump-in-syscall.

Tylko x86 był obsługiwany przez glibc 2.6. glibc 2.7 (Ubuntu 8.04 LTS) obsługuje już x86_64 ASLR vdso.

Ci, którzy potrzebują starożytnego, statycznego vdso pre-libc6, mogą użyć „vdso=2” jako parametru jądra i ponownie uzyskać COMPAT_VDSO.

Budynek z PASZTETĄ

Wszystkie programy zbudowane z opcją „-fPIE -pie” plików wykonywalnych niezależnych od pozycji (PIE) mogą korzystać z ochrony exec ASLR.

Chroni to przed atakami typu „powrót do tekstu” i sprawia, że ​​konwencjonalne ataki modyfikujące pamięć stają się bezużyteczne.

Ze względu na PIE występuje duży spadek wydajności (5-10%) na architekturach z niewielką liczbą rejestrów ogólnego przeznaczenia (takich jak x86).

Dlatego PIE jest używany dla niewielkiej liczby pakietów o krytycznym znaczeniu dla bezpieczeństwa.

PIE dla x86_64 nie ma problemów z obniżeniem wydajności, więc jest używany we wszystkich pakietach, ale wymaga lepszych testów.

Plastikowa torba 8.04LTS 9.04 9.10 10.04LTS 10.10 11.04 11.10
otwierasz Tak Tak Tak Tak Tak Tak Tak
Apache2 -- Tak Tak Tak Tak Tak Tak
wiązać9 -- Tak Tak Tak Tak Tak Tak
openldap -- Tak Tak Tak Tak Tak Tak
przyrostek -- Tak Tak Tak Tak Tak Tak
kubki -- Tak Tak Tak Tak Tak Tak
postgresql-8.3 -- Tak Tak Tak Tak Tak Tak
samba -- Tak Tak Tak Tak Tak Tak
gołębnik -- Tak Tak Tak Tak Tak Tak
dhcp3 -- Tak Tak Tak Tak Tak Tak
ntp -- -- Tak Tak Tak Tak Tak
amavisd-nowy -- -- Tak Tak Tak Tak Tak
kałamarnica -- -- Tak Tak Tak Tak Tak
cyrus-sasl2 -- -- Tak Tak Tak Tak Tak
exim4 -- -- Tak Tak Tak Tak Tak
nagios3 -- -- Tak Tak Tak Tak Tak
nagios-plugins -- -- Tak Tak Tak Tak Tak
xinetd -- -- Tak Tak Tak Tak Tak
narzędzia ipsec -- -- Tak Tak Tak Tak Tak
mysql-dfsg-5.1 -- -- Tak Tak Tak Tak Tak
przejawiać -- -- -- Tak Tak Tak Tak
firefox -- -- -- Tak Tak Tak Tak
gnome-centrum sterowania -- -- -- -- -- Tak Tak
sprzeczka -- -- -- -- -- Tak Tak
totem -- -- -- -- -- Tak Tak
qemu-kvm -- -- -- -- -- -- Tak
pidżyn -- -- -- -- -- -- Tak

Budynek ze Źródłem Fortyfikacji

Programy zbudowane z "-D_FORTIFY_SOURCE=2" (i -O1 lub nowszym) zawierają kilka zabezpieczeń w czasie kompilacji i wykonywania w glibc:

  • wywołania „sprintf”, „strcpy” z ich niezdefiniowanymi granicami są zastępowane pokrewnymi funkcjami z ograniczonym N, gdy rozmiar bufora jest z góry znany. Chroni to przed przepełnieniem pamięci.
  • zatrzymanie ataku za pomocą formatu ciągu „%n”, gdy ciąg znajduje się w segmencie pamięci z dostępem do zapisu.
  • wymagają sprawdzenia kodów powrotu najważniejszych funkcji i argumentów (np. dla system, write, open).
  • wymagają jawnej maski podczas tworzenia pliku.

Montaż z RELRO

Zaostrzenie programów ELF w celu zwalczania nadpisywania pamięci programu ładującego. Zmniejsza szansę na atak w stylu nadpisywania GOT.

Użyj testów test-gcc-security.py.

Tworzenie za pomocą BIND_NOW

Oznacza programy ELF, aby zezwalały na dynamiczne znaki podczas uruchamiania, zamiast na żądanie, znane również jako „natychmiastowe wiązanie”.

To sprawia, że ​​GOT jest w pełni tylko do odczytu, w połączeniu z opcją RELRO.

Użyj testów zbudowanych w pliku binaries.py.

Pamięć niewykonywalna

Nowoczesne procesory chronią obszary pamięci danych (stertę, stos) przed wykonaniem kodu.

Ta technologia jest znana jako Non-eXecute (NX) lub eXecute-Disable (XD). Ochrona ogranicza możliwość umieszczenia przez atakującego dowolnego kodu.

Ochrona wymaga „PAE”, które umożliwia również adresowanie powyżej 3 GB pamięci RAM. 64-bitowe i 32-bitowe jądra -server i -generic-pae są już zbudowane z PAE.

Począwszy od Ubuntu 9.10, ochrona jest częściowo emulowana w jądrach 32-bitowych dla procesorów, które nie obsługują sprzętu NX.

Po załadowaniu możesz zobaczyć stopień obsługi ochrony NX:

  • Sprzęt: [ 0.000000] Ochrona NX (wyłączenie wykonywania): aktywna
  • Współzawodnictwo:
    [ 0.000000] Używanie limitów segmentów x86 do przybliżonej ochrony NX

Jeśli nie widzisz żadnej wzmianki o NX, sprawdź ustawienia BIOS-u. Od Ubuntu 11.04 ustawienia BIOS-u dla NX są ignorowane przez jądro.

Ubuntu 9.04 i starsze
Procesor obsługuje NX Procesor nie obsługuje NX
NX włączony w BIOSie NX wyłączone w BIOSie
i386 -386, -ogólne jądro (nie-PAE) nx nie jest obsługiwany nx nie jest obsługiwany nx nie jest obsługiwany
- jądro serwera (PAE) prawdziwe nx nx nie jest obsługiwany nx nie jest obsługiwany
amd64 dowolny rdzeń (PAE) prawdziwe nx nx nie jest obsługiwany nx nie jest obsługiwany

Użyj testów test-kernel-security.py.

Ochrona /proc/$pid/maps

Gdy działa ASLR, aktualne mapy pamięci procesów stają się bardzo cenne dla atakującego. Plik mapy jest odczytywany tylko przez sam proces i właściciela procesu.

Dostępne od jądra 2.6.22.

Użyj testów test-kernel-security.py.

Limity dowiązań symbolicznych

Najczęstszym sposobem wykorzystania tej wady jest zmuszenie użytkownika root do użycia dowiązania symbolicznego utworzonego przez osobę atakującą w celu wykonania złośliwej akcji jako użytkownik root.

Począwszy od Ubuntu 10.10, dowiązania symboliczne w katalogach takich jak /tmp nie mogą być przeglądane, chyba że „obserwator” i właściciel katalogu są tacy sami, jak właściciel dowiązania symbolicznego.

Ten mechanizm jest kontrolowany przez mechanizm Yama /proc/sys/kernel/yama/protected_sticky_symlinks. Yama jest rozwijana przez firmę Canonical.

Użyj testów test-kernel-security.py.

Ograniczenia łącza twardego

Jeśli katalogi /etc/ i /home/ znajdują się na tej samej partycji, zwykły użytkownik może utworzyć twarde łącze do pliku skrótu hasła /etc/shadow w swoim folderze domowym. Oczywiście, jeśli żaden użytkownik nie może odczytać lub zapisać określonego pliku, twardy link do tego pliku będzie miał takie same uprawnienia i dlatego też nie będzie dostępny dla tego użytkownika. Jednak za pomocą dowiązań twardych atakujący może „podrzucić” taki plik do aplikacji, która ma uprawnienia dostępu do niego.

Yama pozwala zablokować ten atak, uniemożliwiając tworzenie twardych linków przez użytkowników, którzy nie mają praw dostępu do plików źródłowych.

Zachowanie jest kontrolowane przez /proc/sys/kernel/yama/protected_nonaccess_hardlinks Yama.

zakres śledzenia

Bez zastosowania odpowiedniego zabezpieczenia Yama dowolny proces z uprawnieniem CAP_SYS_PTRACE może uzyskać dostęp do pamięci wszystkich procesów o tym samym UID.W przypadku korzystania z Yamy możliwe jest ograniczenie zakresu dostępu tylko do pamięci posiadanej przez potomków takiego proces.

W systemie Ubuntu 10.10 i nowszych użytkownicy nie mogą debugować procesów za pomocą ptrace, chyba że są jego potomkami.

Zachowanie jest kontrolowane przez /proc/sys/kernel/yama/ptrace_scope Yama.

Użyj testów test-kernel-security.py.

Utwardzanie jądra

Włączono mechanizmy obronne jądra, aby utrudnić ataki.

Ochrona adresu 0

Ponieważ jądro i przestrzeń użytkownika współdzielą adresy pamięci wirtualnej, pamięć „NULL” musi być chroniona, a pamięć „użytkownika” nie może zaczynać się od adresu 0, zapobiegając w ten sposób dereferencjom adresów jądra - atakowi „NULL dereference”.

Ochrona jest dostępna od jądra 2.6.22 poprzez parametr sysctl „mmap_min_addr”. Od Ubuntu 9.04 mmap_min_addr jest wbudowane w jądro - adres 64k na x86, 32k na ARM.

Użyj testów test-kernel-security.py.

Ochrona /dev/mem

Niektóre aplikacje, takie jak Xorg, wymagają bezpośredniego dostępu do pamięci fizycznej w przestrzeni użytkownika. Dostęp ten zapewnia specjalny plik /dev/mem.

W przeszłości za pomocą tego pliku można było przeglądać i modyfikować pamięć jądra, jeśli osoba atakująca uzyskała uprawnienia administratora.

W celu blokowania takich prób wprowadzono opcję CONFIG_STRICT_DEVMEM (pierwotnie opcja ta nosiła nazwę CONFIG_NONPPROMISC_DEVMEM).

Użyj testów test-kernel-security.py.

Wyłączono /dev/kmem

Dla współczesnego użytkownika /dev/kmem nie ma znaczenia, ponieważ był używany głównie przez osoby atakujące do pobierania rootkitów.

CONFIG_DEVKMEM jest teraz ustawiony na „n”.

Plik /dev/kmem istnieje w wersjach od Ubuntu 8.04 LTS do Ubuntu 9.04, ale nie jest powiązany z niczym w jądrze i nie jest używany.

Użyj testów test-kernel-security.py.

Blokowanie ładowania modułów

W systemie Ubuntu 8.04 LTS i wcześniejszych można było usunąć funkcję CAP_SYS_MODULES, a tym samym uniemożliwić ładowanie nowych modułów jądra.

Była to kolejna warstwa ochrony, aby nie pobierać rootkitów na starcie zaatakowanego systemu.

W jądrze 2.6.25 (Ubuntu 8.10) ta funkcja zniknęła. Od wersji Ubuntu 9.10 można teraz ponownie wyłączyć moduły, ustawiając /proc/sys/kernel/modules_disabled na „1”.

Użyj testów test-kernel-security.py.

Sekcja danych tylko do odczytu

Oznaczenie sekcji danych jądra jako tylko do odczytu zapewnia blokowanie zmian. Pomaga to chronić się przed niektórymi rootkitami. Włączone za pomocą opcji CONFIG_DEBUG_RODATA.

Użyj testów test-kernel-security.py.

Ochrona stosu jądra

Oprócz ochrony programów ELF w przestrzeni użytkownika, jądro może chronić swój wewnętrzny stos za pomocą opcji CONFIG_CC_STACKPROTECTOR.

Użyj testów test-kernel-security.py.

Moduł RO/NX

Ta funkcja rozszerza CONFIG_DEBUG_RODATA, aby uwzględnić ograniczenia dotyczące załadowanych modułów jądra. Pomaga to oprzeć się nadużyciom. Włączone przez parametr CONFIG_DEBUG_MODULE_RONX.

Użyj testów test-kernel-security.py.

Ograniczenie wyświetlania adresu jądra

Kiedy atakujący próbują opracować exploita, który działa wszędzie, wykorzystując luki w jądrze, muszą znać lokalizację wewnętrznych struktur jądra.

Adresy jądra, jako ważne informacje, są niedostępne dla zwykłych użytkowników.

Począwszy od Ubuntu 11.04, /proc/sys/kernel/kptr_restrict jest ustawione na „1” i blokuje wycieki informacji adresowych jądra.

Również różne pliki i katalogi są ustawione jako tylko do odczytu przez administratora.
/boot/vmlinuz*, /boot/System.map*, /sys/kernel/debug/, /proc/slabinfo

Użyj testów test-kernel-security.py.

Czarna lista rzadkich protokołów

Normalnie jądro pozwala na automatyczne ładowanie wszystkich protokołów sieciowych na żądanie poprzez makra MODULE_ALIAS_NETPROTO(PF_...).

Ponieważ wiele z tych protokołów jest przestarzałych, rzadkich i mało przydatnych dla przeciętnego użytkownika Ubuntu oraz może zawierać nieznane luki w zabezpieczeniach, zostały one umieszczone na czarnej liście od wersji Ubuntu 11.04.

Na czarnej liście: ax25, netrom, x25, rose, decnet, econet, rds i af_802154.

Jeśli którykolwiek z tych protokołów jest potrzebny, można go załadować przez modprobe lub edytując plik /etc/modprobe.d/blacklist-rare-network.conf.

Użyj testów test-kernel-security.py.

Filtrowanie wywołań systemowych

Programy mogą filtrować wywołania jądra za pomocą seccomp_filter.

Odbywa się to w kontenerach lub piaskownicach w celu dalszego ograniczenia potencjalnie niezaufanego oprogramowania.

Użyj testów test-kernel-security.py.

Wynik

Po przeczytaniu wiadomo, że Canonical poważnie traktuje bezpieczeństwo Ubuntu. Dwa projekty, AppArmor i Yama, od dawna są powiązane z Ubuntu i pomagają poprawić bezpieczeństwo. Ubuntu domyślnie nie otwiera zbędnych portów-drzwi w sieci i nie czeka na przygodowe połączenia na głowie. Profile AppArmor zostały stworzone dla kluczowych programów współpracujących z siecią, które trzymają programy w ryzach.

Twój komputer będzie bezpieczny dzięki Ubuntu!

Instalacja i konfiguracja narzędzi administracyjnych, konfiguracja sieci

Po zainstalowaniu podstawowego systemu operacyjnego ubuntu 14.04 z minimalnej dystrybucji, pierwszą rzeczą do rozważenia jest to, jak wygodnie nim zarządzać. Zasadniczo ssh/telnet służy do konfigurowania i zarządzania serwerami opartymi na systemie *nix, ale ostatnio narzędzia internetowe również wydają się całkiem odpowiednie do tego celu. Korzystam z bezpłatnych rozwiązań webmin I Ajenti. Oba te panele zasługują na uwagę i pomimo tego, że wszystko potrafią zrobić osobno, to każdy z nich do czegoś się nadaje, dlatego lepiej mieć oba. Zaznaczam, że na serwerach produkcji bojowej takie rozwiązania nie są instalowane ze względów bezpieczeństwa. Jednak im więcej systemów kontroli, tym większe prawdopodobieństwo znalezienia w nich luki. Dlatego jeśli twoje wymagania bezpieczeństwa są na poziomie „paranoi”, to po prostu zaakceptuj fakt, że będziesz musiał pracować z serwerem tylko przez ssh (przez konsolę).

konfiguracja sieci w ubuntu 14.04

Aby komunikować się z naszym serwerem przez sieć, musisz go najpierw skonfigurować. Domyślnie podczas instalacji sieć została skonfigurowana automatycznie, a jeśli instalator znalazł w sieci serwer DHCP, to najprawdopodobniej skonfigurował już wszystko zgodnie z potrzebami. Jeśli w sieci nie ma serwera DHCP, to instalator nadal konfiguruje wszystko na podstawie odpytywania routera, do którego podłączona jest karta sieciowa. Aby zobaczyć jak aktualnie jest skonfigurowana sieć wystarczy wpisać w terminalu:

Co tu widzimy:

Mamy dwa interfejsy sieciowe eth0 i lo, gdzie lo to „interfejs sprzężenia zwrotnego”, a eth0 to nazwa naszej karty sieciowej, a jeśli lo to niezmieniony interfejs sieciowy, to wszystkie pozostałe interfejsy mogą różnić się nazwą. Jeśli w jednostce systemowej są zainstalowane dwie karty sieciowe, ich interfejsy najprawdopodobniej będą wyglądać jak eth0 i eth1 i tak dalej. Wygląd nazwy interfejsu zależy od rodzaju karty sieciowej, na przykład, jeśli karta sieciowa działa z wykorzystaniem protokołu WiFi, najprawdopodobniej będzie miała nazwę wlan0.

Aby skonfigurować sieć, edytuj następujący plik:

sudo nano /etc/network/interfaces

Doprowadźmy to do takiej postaci:

statyczny iface eth0 inet
adres 192.168.0.184
maska ​​​​sieci 255.255.255.0
bramka 192.168.0.1
auto eth0
serwery nazw dns 8.8.8.8 8.8.4.4

Gdzie: statyczny iface eth0 inet- wskazuje, że interfejs (iface eth0) znajduje się w zakresie adresów IPv4 (inet) ze statycznym adresem IP (static);
adres 192.168.0.184- wskazuje, że adres IP (adres) naszej karty sieciowej to 192.168.0.184;
maska ​​​​sieci 255.255.255.0- wskazuje, że nasza maska ​​​​podsieci (maska ​​sieci) to 255.255.255.0;
bramka 192.168.0.1- domyślny adres bramy 192.168.0.254;
auto eth0- wskazuje systemowi, że interfejs eth0 powinien być włączony automatycznie, gdy system uruchamia się z powyższymi parametrami.
eth0— nazwa podłączonego interfejsu. Listę interfejsów można wyświetlić, wpisując ifconfig
serwery nazw dns- Serwery DNS są zapisywane ze spacją.

Jak widać w moim przypadku zdecydowałem się na ustawienie statycznego ip 192.168.0.184

zrestartuj serwer za pomocą polecenia

Pingujemy nasz serwer z sieci i upewniamy się, że jest widoczny. Teraz nadszedł czas, aby nawiązać z nim połączenie przez SSH, w tym celu faktycznie zainstalujemy serwer ssh:

sudo apt-get install ssh

Teraz możesz połączyć się z naszym serwerem przez ssh przez program putty, teraz możesz wprowadzać polecenia nie ręcznie, ale kopiując i wklejając potrzebne nam linie do klienta ssh, ponieważ w przyszłości zaskakująco ułatwi to konfigurację, ponieważ wkrótce przekonasz się sam:

WSZYSTKIE POLECENIA PONIŻEJ TEJ LINII WPISANE SĄ W IMIENIU SUPERUŻYTKOWNIKA, a aby wejść w tryb superużytkownika, należy wpisać:

Instalowanie webmina

echo "deb https://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list echo "deb https://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib" >> /etc/apt/sources.list wget https://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc apt-get update apt-get install -y webmin

Echo „deb https://download.webmin.com/download/repository sarge contrib”>>

Echo „deb https://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib”>> /etc/apt/sources. lista

wgethttps: //www.webmin.com/jcameron-key.asc

apt-key dodaje jcameron-key. rosnąco

apt-get update

apt — pobierz instalację — y webmin

Wszystko! 6 kolejno wprowadzonych poleceń i webmin jest zainstalowany i skonfigurowany. Teraz możesz przejść przez przeglądarkę pod adresem:

https://192.168.0.184:10000

Domyślnie webmin wygląda minimalistycznie, interfejs jest domyślnie wyświetlany w języku angielskim, ale wszystko można dostosować!

Robimy to tak:

Okazuje się, że:

mob_info