Wstępna bezpieczna konfiguracja serwera Ubuntu 18.04

Wprowadzenie

W tym samouczku nauczysz się konfigurować podstawowy poziom bezpieczeństwa na zupełnie nowej maszynie wirtualnej Vultr VC2 z systemem Ubuntu 18.04.

Wymagania wstępne

Utwórz i zmodyfikuj użytkownika

Pierwszą rzeczą, którą zamierzamy zrobić, jest utworzenie naszego nowego użytkownika, którego będziemy używać do logowania się do maszyny wirtualnej:

adduser porthorian

Uwaga: zaleca się stosowanie unikalnej nazwy użytkownika, która będzie trudna do odgadnięcia. Większość botów będzie domyślnie spróbować root, admin, moderator, i podobne.

Zostaniesz poproszony o podanie hasła tutaj. Jest zdecydowanie zaleca się stosowanie silnych haseł alfa numerycznej. Następnie postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, a gdy pojawi się pytanie, czy informacje są prawidłowe, wystarczy nacisnąć Y.

Po dodaniu nowego użytkownika będziemy musieli przyznać mu uprawnienia sudo, abyśmy mogli wykonywać polecenia od użytkownika w imieniu użytkownika root:

usermod -aG sudo porthorian

Po udzieleniu użytkownikowi uprawnień sudo przełącz się na nowego użytkownika:

su - porthorian

Wygeneruj i skonfiguruj klucz SSH

Aby wygenerować klucz SSH, postępuj zgodnie z tym dokumentem .

Po wygenerowaniu nowego klucza SSH skopiuj swój klucz publiczny. Powinno to wyglądać następująco:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

Skonfiguruj katalog użytkowników

Przejdź do katalogu domowego użytkowników, jeśli jeszcze go nie ma:

cd $HOME

$HOMEjest zmienną środowiskową dla katalogu domowego użytkowników. Jest to ustawiane automatycznie podczas tworzenia nowego użytkownika.

Będąc w naszym katalogu domowym, zamierzamy umieścić w nim inny katalog. Ten katalog będzie ukryty przed innymi użytkownikami na komputerze, z wyjątkiem użytkownika root i użytkownika, który jest właścicielem katalogu. Utwórz nowy katalog i ogranicz jego uprawnienia za pomocą następujących poleceń:

mkdir ~/.ssh
chmod 700 ~/.ssh

Teraz otworzymy plik o .sshnazwie authorized_keys. Jest to plik uniwersalny, którego szuka OpenSSH. Możesz zmienić nazwę tego w konfiguracji OpenSSH /etc/ssh/sshd_config, jeśli zajdzie taka potrzeba.

Użyj swojego ulubionego edytora, aby utworzyć plik. W tym samouczku użyjesz nano:

nano ~/.ssh/authorized_keys

Skopiuj i wklej swój klucz ssh do authorized_keyspliku, który otworzyliśmy. Gdy klucz publiczny będzie w środku, możesz zapisać plik, naciskając CTRL+ O.

Upewnij się, że wyświetla się odpowiednia ścieżka do pliku:

/home/porthorian/.ssh/authorized_keys

Jeśli jest to właściwa ścieżka do pliku, po prostu naciśnij ENTER, w przeciwnym razie wprowadź niezbędne zmiany, aby pasowały do ​​powyższego przykładu. Następnie zamknij plik za pomocą CTRL+ X.

Teraz ograniczymy dostęp do pliku:

chmod 600 ~/.ssh/authorized_keys

Wyjdź z naszego utworzonego użytkownika i wróć do użytkownika root:

exit

Wyłączanie uwierzytelniania hasła

Możemy teraz wyłączyć uwierzytelnianie hasła do serwera, w ten sposób logowanie będzie wymagało klucza ssh. Należy pamiętać, że jeśli wyłączysz uwierzytelnianie hasła, a klucz publiczny nie został poprawnie zainstalowany, zablokujesz się na serwerze. Zaleca się najpierw przetestowanie klucza przed wylogowaniem użytkownika root.

Jesteśmy obecnie zalogowani do naszego użytkownika root, więc będziemy edytować sshd_config:

nano /etc/ssh/sshd_config

Będziemy szukać 3 wartości, aby upewnić się, że OpenSSH jest poprawnie skonfigurowany.

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

Możemy znaleźć te wartości, naciskając CTRL+ W.

Wartości powinny być ustawione na następujące:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

Jeśli wartości są skomentowane, usuń #początek linii i upewnij się, że wartości tych zmiennych są takie, jak pokazano powyżej. Po zmianie tych zmiennych zapisz i zamknij edytor za pomocą CTRL+ O, ENTERa na końcu CTRL+ X.

Teraz przeładujemy sshdnastępującą komendą:

systemctl reload sshd

Teraz możemy przetestować login. Upewnij się, że nie wylogowałeś się jeszcze z sesji roota, otwórz nowe okno ssh i połącz się z kluczem ssh powiązanym z połączeniem.

W PuTTY jest to poniżej Connection-> SSH-> Auth.

Przeglądaj, aby znaleźć klucz prywatny do uwierzytelnienia, ponieważ powinieneś był go zapisać podczas tworzenia klucza ssh.

Połącz się z serwerem za pomocą klucza prywatnego jako uwierzytelnienia. Zostaniesz teraz zalogowany na maszynie wirtualnej Vultr VC2.

Uwaga: Jeśli dodałeś hasło podczas generowania klucza ssh, zostaniesz o to poproszony. To całkowicie różni się od faktycznego hasła użytkownika na maszynie wirtualnej.

Skonfiguruj podstawową zaporę ogniową

Skonfiguruj UFW

Najpierw zaczniemy od zainstalowania UFW, jeśli nie ma go jeszcze na maszynie wirtualnej. Dobrym sposobem sprawdzenia jest użycie następującego polecenia:

sudo ufw status

Jeśli program UFW jest zainstalowany, zostanie wygenerowany Status:inactive. Jeśli nie zostanie zainstalowany, zostaniesz o to poproszony.

Możemy go zainstalować za pomocą tego polecenia:

sudo apt-get install ufw -y

Teraz zezwolimy na port SSH 22w naszej zaporze ogniowej:

sudo ufw allow 22

Alternatywnie możesz zezwolić OpenSSH:

sudo ufw allow OpenSSH

Każde z powyższych poleceń będzie działać.

Teraz, gdy zezwoliliśmy na port przez naszą zaporę ogniową, możemy włączyć UFW:

sudo ufw enable

Zostaniesz zapytany, czy na pewno chcesz wykonać tę operację. Wpisanie, ya następnie ENTERwłączy zaporę:

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

Uwaga: Jeśli nie zezwolisz na OpenSSH lub Port 22, zablokujesz się na swojej maszynie wirtualnej. Przed włączeniem UFW upewnij się, że jeden z nich jest dozwolony.

Po włączeniu zapory nadal będziesz mieć połączenie z instancją. Będziemy teraz dwukrotnie sprawdzać naszą zaporę ogniową za pomocą tego samego polecenia, co wcześniej:

sudo ufw status

Zobaczysz coś podobnego do następującego wyniku:

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

Konfigurowanie zapory sieciowej Vultr

Aby dodatkowo zabezpieczyć nasz serwer, będziemy korzystać z naszej zapory ogniowej Vultr. Zaloguj się do swojego konta . Po zalogowaniu przejdziesz do karty zapory znajdującej się u góry ekranu:

Wstępna bezpieczna konfiguracja serwera Ubuntu 18.04

Teraz dodamy nową grupę zapory. Pozwoli nam to określić, które porty mogą nawet docierać do naszej zapory UFW, zapewniając nam podwójną warstwę bezpieczeństwa:

Wstępna bezpieczna konfiguracja serwera Ubuntu 18.04

Vultr zapyta cię teraz, jak nazwać swoją zaporę za pomocą pola „Opis”. Pamiętaj, aby opisać, co będą robić serwery w tej grupie zapory, aby ułatwić administrację w przyszłości. Na potrzeby tego samouczka nazwiemy go test. Zawsze możesz zmienić opis później, jeśli chcesz.

Najpierw będziemy musieli zdobyć nasz adres IP. Powodem, dla którego robimy to bezpośrednio, jest to, że jeśli twój adres IP nie jest statyczny i ciągle się zmienia, możesz po prostu zalogować się na swoje konto Vultr i zmienić adres IP.

Dlatego też nie wymagaliśmy adresu IP w zaporze UFW. Ponadto ogranicza użycie zapory maszyny wirtualnej przez odfiltrowywanie wszystkich innych portów i po prostu pozwala zaporze Vultr sobie z tym poradzić. Ogranicza to obciążenie związane z ogólnym filtrowaniem ruchu w Twojej instancji.

Użyj sieciowego szkła Vultr, aby znaleźć swój adres IP.

Teraz, gdy mamy już swój adres IP, dodamy regułę IPV4 do naszej nowo utworzonej zapory:

Wstępna bezpieczna konfiguracja serwera Ubuntu 18.04

Po wprowadzeniu adresu IP kliknij +symbol, aby dodać swój adres IP do zapory.

Twoja grupa zapory będzie wyglądać następująco:

Wstępna bezpieczna konfiguracja serwera Ubuntu 18.04

Teraz, gdy nasze IP jest poprawnie powiązane w grupie Firewall, musimy połączyć naszą instancję Vultr. Po lewej stronie zobaczysz zakładkę „Połączone wystąpienia”:

Wstępna bezpieczna konfiguracja serwera Ubuntu 18.04

Na stronie zobaczysz listę rozwijaną z instancjami serwera:

Wstępna bezpieczna konfiguracja serwera Ubuntu 18.04

Kliknij listę rozwijaną i wybierz instancję. Następnie, gdy będziesz gotowy dodać instancję do grupy zapory, kliknij +symbol.

Gratulacje, udało Ci się zabezpieczyć maszynę wirtualną Vultr VC2. Daje to dobrą podstawę do bardzo podstawowej warstwy bezpieczeństwa bez obawy, że ktoś spróbuje brutalnie wymusić twoje wystąpienie.



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.