Linux Server - Konfiguracja
Praca z kluczami
chmod 700 ~/.ssh - nadanie uprawnień na katalog
chmod 600 ~/.ssh/authorized_keys - nadania uprawnień do pliku
sudo vim /etc/ssh/sshd config - edycja pliku konfiguracyjnego ssh
Zmiana portu na inny, oraz dodanie blokady na logowanie się na konto root-a: PermitRootLogin no
sudo service ssh restart - restart usługi ssh
sudo service ssh status - sprawdzenie statusu usługi
sudo netstat -nlp | grep ssh - sprawdzenie portów usługi ssh
Dodawanie nowego użytkownika
sudo adduser nazwausera - dodanie nowego użytkownika
Podczas tworzenia nowego użytkownika tworzony jest wpisu usera, grupa, katalog w ścieżce /home/nazwausera do którego kopiowane są pliki konfiguracyjne z katalogu /etc/skel
Dodanie użytkownika do grupy administratorów
sudo adduser nazwausera sudo - dodanie możliwości używania sudo przez użytkownika
sudo passwd -d nazwa_uzytkownika - zablokowanie userowi możliwości logowania się po haśle
Ustawienie stałego adresu IP
cd /etc/netplan & ls - wejście do katalogu konfiguracji i wylistowanie zawartości
vim nazwa-pliku-konfiguracyjnego.yaml - educja pliku
network:
version: 2
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.1.10/24]
gateway4: 192.168.1.1
nameservers: [8.8.8.8, 9.9.9.9]sudo netplan apply - wczytanie zmian w konfiguracji
ifconfig - sprawdzenie konfiguracji
Bezpieczeństwo
sudo iptables -L - wylistowanie wszystkich reguł
Zablokowanie wszystkiego
sudo iptables-save > file.txt - zapisanie wszystkich reguł do plikusudo iptables -F - usunięcie wszystkich reguł
sudo iptables -P INPUT DROP - zablokowanie całego ruchu przychodzącego dla wszystkich do maszynysudo iptables -P output DROP - zablokowanie całego ruchu wychodzącego z maszyny na wszystkich protach
Odblokowanie ruchu na port-cie
sudo iptables -A input -p tcp --dport 22 -j ACCEPT - akceptacja ruchu przychodzącego do usługi na port-cie 22sudo iptables -A output -p tcp --sport 22 -j ACCEPT - akceptacja ruchu wychodzącego z usługi na port-cie 22
Odblokowanie aktualizacji systemu
sudo iptables -A INPUT -p udp --sport 53 -j ACCEPT odblokowanie komunikacji z DNS-em w celu odblokowania aptsudo iptables -A INPUT -p udp -dport 53 -j ACCEPT odblokowanie komunikacji dwustronnej na port-ciesudo iptables -A OUTPUT -p udp --sport -j ACCEPTsudo iptables -A OUTPUT -p udp --dport -j ACCEPT -sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT - sudo iptables -A INPUT -m state --state RElATED,ESTABLISHED -j ACCEPT - odblokowanie połączeń ustanowionych na innych protach
Odblokowanie ping-a
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT - sudo iptables -A OUTPUT -p icmp --icmp-type echo -reply -j ACCEPT -sudo iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT - sudo iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT -
Odblokowanie komunikacji wewnętrznej
sudo iptables -A INPUT -i [nazwa-interfejsu np. lo] -j ACCEPT - sudo iptables -A OUTPUT -o lo -j ACCEPT -
Logowanie prób komunikacji
sudo iptables -N LOGGING - utworzenie nowego łańcuchasudo iptables -A LOGGING -j LOG --log-prefix "DROP INPUT: " --log-level 6 - sudo iptables -A LOGGING -j DROP - pakiety które trafią do łańcucha LOGGING będą drop-owane sudo iptables -A OUTPUT -p tcp -d [adres-ip] -j LOGGING - sudo dmesg - wyświetlenie komunikatów z jądra linux-a, bedą tam komunikaty zalogowane przez iptables
UFW - nakładka na iptables
vim /etc/ufw/ufw.conf - aby włączyć przestaw enabled na yes.
Lub sudo ufw enable.
sudo ufw status verbose - wylistowanie wszystkich reguł.
sudo ufw default deny incoming - zablokowanie całego ruchu przychodzącegosudo ufw default allow outgoing - odblokowanie ruchu wychodzącegosudo ufw allow 22 - odblokowanie komunikacji na port-cie 22sudo ufw delete allow 22 - usunięcie reguły odblokowania komunikacji na port-cie 22sudo ufw allow 80:88/tcp - odblokowanie wszystkich portów od-do.
sudo cat /etc/serviecs - lista portów na których pracują usługi.
Automatyczne aktualizacje
sudo apt install unattended-upgrades - pakiet pozwalający na łatwe zarządzanie aktualizacjami.sudo dpkg-reconfigure unattended-upgrades - zmiana ustawień
sudo vim /etc/apt/apt.conf.d/50unattended-upgrades -
cat /var/log/unattended-upgrades/unattended-upgrades.log - log danych z ostatniej aktualizacji
Fail2Ban - zabezpieczenie ssh przed bruteforce-ami
sudo add-apt-repository universe - dodanie repozytoriumsudo apt install fail2ban - instalacja pakietusystemctl status fail2ban - sparwdzenie statusu usługicat /var/log/auth.log - log logowania do serwera przez sshcp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.conf.local - program podczas napotkania błędów w konfiguracji local nadpisze ją tą z pliku głównego.cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.local.
W pliku jail.conf.local zmień backend na systemd
Dodanie nowego wpisu:
[ssh]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 900 //sekund
findtime = 900 //sekundsystemctl restart fail2ban - restart usługi i wczytanie nowej konfiguracji
Ręczne usuwanie ban-a
sudo iptables -L -n -v --line=numbers - wyświetlenie listy wpisówsudo iptables -D [nazwa-łańcucha] [numer-linii] - usunięcie wpisu
Ustawienie nazwy serwera
sudo hostname nazwa-serwera
sudo vim /etc/hostname
sudo vim /etc/hostsUstawienie strefy czasowej
sudo dpkg-reconfigure tzdataMonitorowanie zasobów
sudo apt install htopMonitorowanie interfejsu sieciowego
sudo apt install iftopBackup danych
Pełne info tutaj: Backupy danych
Monitoring i alerty
Pełne info tutaj: Zabbix