Stawiając swojego własnego masternoda należy pamiętać, że będziemy wspierać zdecentralizowaną sieć. Bezpieczeństwo takiego serwera – mimo, że nie znajdują się na nim nasze środki – jest sprawą priorytetową, dlatego też należy odpowiednio o to zadbać. Nie będę się wgłębiał szczegółowo w kwestie bezpieczeństwa systemów Linux, ale podam Ci gotową instrukcję podstawowego zabezpieczenia swojego VPS – taką dla laika 🙂
Stawiając własnego masternoda korzystamy najczęściej z serwisów oferujących tak zwane serwery VPS, czyli Virtual Private Server. Jest to sposób podziału maszyny na mniejsze jednostki, o określonych parametrach, które imitują oddzielne serwery fizyczne. Stawiając swojego masternoda na takim serwerze, warto go odpowiednio przygotować pod pełnienie tej funkcji. Przeprowadzę Cię przez proces zabezpieczania serwera, który powinieneś przeprowadzić zanim zaczniesz stawianie masternoda na własnym serwerze. Gotowy?
Zmień hasło roota
Większość serwerów wysyła hasło roota (superużytkownika/administratora) na twój adres e-mail. Bardzo często wygenerowane hasło jest ciągiem przypadkowych znaków, ale zauważyłem, że bardzo dużo osób poprostu je zapisuje, nie zmieniając go. Błąd – zmień hasło root w pierwszej kolejności. Zrobisz to wpisując w konsoi następującą komendę:
passwd
Nie zaleca się korzystania z konta root podczas codziennego korzystania z serwera lub stawiania masternodów. Dobrze będzie utworzyć konto nowego użytkownika (nazwijmy go crypto) i nadać mu trochę więcej uprawnień:
adduser crypto
usermod -aG sudo crypto
su – crypto
sudo apt-get update
Od tej pory loguj się i korzystaj z konta crypto podczas stawiania masternoda jak i robienia aktualizacji w przyszłości.
Zmień numer portu SSH
Kolejnym krokiem powinna być zmiana portu, przez który łączysz się ze swoim serwerem. Domyślnie SSH nasłuchuje na porcie 22 i często właśnie te porty są atakowane przez hakerów. Aby zmienić domyślny port SSH musimy edytować plik sshd_config – zrobisz to wpisując w konsolę:
sudo nano /etc/ssh/sshd_config
Jeżeli po wpisaniu tej komendy wyskoczy błąd w stylu ‘nano: command not found’ , to musisz doinstalować edytor nano i po instalacji powtórzyć powyższą komendę:
apt-get update
apt-get install nano
Po otwarciu pliku sshd_config, w okolicach 5-6 linijki znajdź wiersz Port 22 (po edytorze poruszasz się strzałkami). Zamień 22 na dowolny port z zakresu 1000-49151 (wybrany port nie może być w użyciu!). Ja zazwyczaj wybieram port w okolicach 9700-9800 bo z takich portów najczęściej korzystają masternody. Powiedzmy, że wybrałeś port 9889 – wiersz w pliku powinien więc wyglądać następująco: Port 9889 . Po zmianie musisz zapisać plik poprzez wciśnięcie kombinacji klawiszy Ctrl + O a następnie opuścić edytor klikając Ctrl + X . Pora na zresetowanie SSH i zalogowanie się na nowo, już na nowym porcie:
sudo service sshd restart
Instalacja prostego firewalla
Firewall to rodzaj ściany, która będzie blokować niechciane połączenia z zewnątrz. Poniższe komendy spowodują zamknięcie wszystkich portów, poza tymi wymaganymi do logowania oraz potrzebnymi do pracy naszego masternoda. Dodatkowo nałożymy limity na próby logowania, żeby uniemożliwić tzw. ataki brute-force
sudo apt-get install ufw -y
sudo ufw allow ssh/tcp
sudo ufw limit ssh/tcp
sudo ufw allow 9999/tcp #zmień na port, z którego korzysta twój masternode
sudo ufw allow 8888/tcp #możesz dodawać nowe porty, jeżeli masz więcej MN na jednym serwerze
sudo ufw logging on
sudo ufw enable
sudo ufw status
I na sam koniec instalacja fail2ban:
sudo apt -y install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Dbaj o bezpieczeństwo!
Mam nadzieję, że opis nie był zbyt techniczny i udało ci się przebrnąć przez tą naprawdę podstawową instrukcję zabezpieczania VPS pod masternoda. Wiele znalezionych w internecie gotowych instrukcji pomija te niezbędne według mnie kroki. Bez względu na to, czy korzystasz z dedykowanych serwerów, czy tanich dropletów za $5 – zadbaj o bezpieczeństwo!
Daj znać w komentarzu, czy chciałbyś więcej tego typu instrukcji? Czy była zrozumiała?
Congratulations @tkolpaczek! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Congratulations @tkolpaczek! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :
You can view your badges on your board and compare to others on the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Support the HiveBuzz project. Vote for our proposal!