#zmieniamy hasło passwd #aktualizacja ubuntu/debian apt-get update apt-get upgrade #intalacja najważniejszych pakietów ubuntu/debian apt-get install sudo openssl openssh-server fail2ban sudo #dodajmy użytkownika do logowania ssh (zastąp *user* swoją nazwą użytkownika) adduser *user* #kopiujemy politykę dla fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local #edytujemy vim /etc/fail2ban/jail.local #dodajemy lub uzupełniamy plik o: [ssh-ddos] enabled = true #resetujemy /etc/init.d/fail2ban restart #wyłączamy logowanie się dla root-a przez ssh mkdir --parents /home/*user*/.ssh chown *user*:*user* /home/*user*/.ssh/ sed -i -e 's/PermitRootLogin.*/PermitRootLogin no/' '/etc/ssh/sshd_config' /etc/init.d/ssh reload #udostępniamy połączenie ssh tylko użytkownikom określonej grupy addgroup --system "ssh-users" command echo 'AllowGroups ssh-users' >> /etc/ssh/sshd_config /etc/init.d/ssh reload adduser *user* ssh-users #generowanie kluczy dla sesji ssh #na komputerze klienta (komputera, którym się łączysz do serwera) ssh-keygen -t rsa -f /home/*user*/.ssh/id_rsa ssh-copy-id -i "/home/*localuser*/.ssh/id_rsa.pub" *user*@server #na serwerze sed -i -e 's/^[#\t ]*PubkeyAuthentication[\t ]*.*$/PubkeyAuthentication yes/' '/etc/ssh/sshd_config' /etc/init.d/ssh reload #ustawiamy niestandardowe porty dla serwera ssh (np. port 1234 zamiast 22) command sed -i -e "s/^[#\t ]*Port[\t ]*.*\$/Port 1234/" '/etc/ssh/sshd_config' /etc/init.d/ssh reload #uzupełniamy regułę fail2ban o nowy port echo " [ssh] port = 1234" >> '/etc/fail2ban/jail.local' /etc/init.d/fail2ban restart #Samr korzyści :-)