Linux palvelimen perusturvallisuus
Linux palvelimen perusturvallisuuden takaaminen
LOGIEN TARKISTUS
#tarkistetaan kirjautumisyritykset palvelimelle reaaliaikaisesti
tail -f /var/log/auth.log
#LOGIEN VÄRITYS
apt install grc
grc tail -f /var/log/auth.log
(multitail myös useammalle logille kerralla)
FAIL2BAN
apt-get update
apt-get install fail2ban
systemctl status fail2ban
nano /etc/fail2ban/jail.conf
#ignoraa lokaalin koneen
ignoreip = 127.0.0.1/8
#määritellään bannin kesto
bantime = 600
#määritellään monta yritystä kirjautumisessa on
maxretry = 3
#tämä lähettää postia root käyttäjälle että joku on bannattu
destemail = root@localhost
sendername = Fail2Ban banned user!
mta = sendmail
action = %(action_mwl)s
#tällä saadaan postiin logitedot kätevästi
action_mw
#tällä kuitenkin saa eniten
action_mwl
#tällä komennolla pysäytetään fail2ban
systemctl fail2ban stop
#tällä aloitetaan
systemctl fail2ban start
#tällä tarkistetaan nykyinen tilanne
systemctl status fail2ban
# tarkistetaan jaili sekä estetyt ipt sekä niiden määrä
fail2ban-client status sshd
UFW PALOMUURI
apt install ufw
systemctl enable ufw
systemctl start ufw
systemctl status ufw
#avataan palomuuriin portti
ufw allow ”portti”
#avataan portti 80
ufw allow 80
OPENSSH
#Asennetaan ssh
apt install openssh-server
#Otetaan ssh käyttöön samalla myös koneen startuppiin
systemctl enable ssh
#Tarkistetaan nykyinen tilanne ssh
systemctl status sshd
#Pysäytetään ssh
systemctl stop sshd
nano /etc/ssh/sshd_config
#vaihdetaan oletus portti toiseen
#Port22
port222
#Kielletään roottina kirjautuminen
#PermitRootLogin
PermitRootLogin no
#Annetaan lassi käyttäjälle lupa kirjautua
AllowUsers lassi
#käynnistetään ssh uudestaan
systemctl restart sshd
netstat -tulpn
netstat -tulpn | grep 22
ufw allow ssh
ufw allow 22
SSH PARANTELU
#Asenntaan moduulit ja sovellukset jotka yhdistävät hyökkääjän ip-osoitteen maahan
apt-get install geoip-bin geoip-database
#Luodaan scripti joka hallitsee pääsyn
nano /usr/local/bin/ipfilter.sh
#!/bin/bash
ALLOW_COUNTRIES=”IN US”
LOGDENY_FACILITY=”authpriv.notice”
if [ $# -ne 1 ]; then
echo ”Usage: `basename $0` ” 1>&2
exit 0 # return true in case of config issue
fi
if [[ ”`echo $1 | grep ’:’`” != ”” ]] ; then
COUNTRY=`/usr/bin/geoiplookup6 ”$1” | awk -F ”: ” ’{ print $2 }’ | awk -F ”,” ’{ print $1 }’ | head -n 1`
else
COUNTRY=`/usr/bin/geoiplookup ”$1” | awk -F ”: ” ’{ print $2 }’ | awk -F ”,” ’{ print $1 }’ | head -n 1`
fi
[[ $COUNTRY = ”IP Address not found” || $ALLOW_COUNTRIES =~ $COUNTRY ]] && RESPONSE=”ALLOW” || RESPONSE=”DENY”
if [[ ”$RESPONSE” == ”ALLOW” ]] ; then
logger -p $LOGDENY_FACILITY ”$RESPONSE sshd connection from $1 ($COUNTRY)”
exit 0
else
logger -p $LOGDENY_FACILITY ”$RESPONSE sshd connection from $1 ($COUNTRY)”
exit 1
fi
#Tämä muutos pitää tehdä jos halutaan että scripti juoksee!
chmod +x /usr/local/bin/ipfilter.sh
#Lisätään ssh listalle omat muutokset jotta järjestelmää ohjaa tuo uusi scripti ja muut asennetut ohjelmat.
nano /etc/hosts.deny
sshd: ALL
vsftpd: ALL
#Määritellään vielä mistä scripti löytyy.
nano /etc/hosts.allow
sshd: ALL: spawn /usr/local/bin/ipfilter.sh %a
vsftp: ALL: spawn /usr/local/bin/ipfilter.sh %a
Saastuneelta kovalevyltä virusten poisto Linuxilla
Virusten poisto Linuxilla
Virusten poisto saatttaa kuulostaa vaikealta, se on oikeastaan helppo toimenpide. Tässä esimerkissä käytän ClamAV ohjelmaa joka on erittäin helppokäyttöinen. Se skannaa valitulta kovalevyltä lukuiset haittaohjelmat. ClamAv tunnistaa Windowsiin, Linuxiin sekä Macos ympäristöihin kohdistuvat haittaohjelmat sekä pakatut haittaohjelmat kuten .tar tai .zip sisältävät.
Luodaan bootable
Luodaan ensin bootable live usb Linuxista, jakelulla ei ole väliä. Minulla on esimerkissä Debian 11. Tässä ohje live usb tekemiseen jos et ole sitä aikaisemmin tehnyt.
Clamav asennus
avataan terminaali ja päivitetään paketti repositoryt.
sudo -i
apt-get update
Nyt asennetaan itse ClamAV.
apt-get install clamav-daemon
apt-get install clamtk
mkdir /var/lib/clamav
freshclam
Kovalevyn mounttaaminen
Jotta kovalevyä voidaan käyttää linuxissa, se täytyy mountata kokoonpanoon. Esimerkiksi Windows tekee tämän automaattisesti.
lsblk (Muista valita oikea levy! Esimerkiksi minulla se on sda, sinulla se voi olla sdb tai sda1)
mkdir /root/mnt/
mount -t ntfs /dev/sda /mnt
Juostaa ClamAv töllö komennolla. Voit itse päättää parametrit, suosittelen kuitenkin tätä:
clamscan –infected –remove –recursive /root/mnt/
Skannaus kestää riippuen kovalevyn koosta. Nyt ei tarvitse muuta kuin odottaa että skannaus on valmi, ohjelma ilmoittaa automaattisesti jos haittaohjelmia löytyy sekä poistaa ne välittömästi parametrin -remove ansiosta. Tästä linkistä lisäätietoa komennoista ja käytöstä.