Oppsett av Linode-server

26 mar. 2016
Tags: Linux

Satt opp en Debian distro hos Linode, og gikk igjennom deres guide for å sikre en ny server

  • Satte opp automatisk oppdatering av sikkerhetsoppdateringer
  • Opprettet en vanlig bruker
  • Genererte nøkkelpar for pålogging via SSH (filnavn på klient må være "id_rsa" og "id_rsa.pub". Privat nøkkel skal ligge på klienten, og offentlig på server. På server kan ikke "gruppe" eller "alle" ha skrivetilgang til ~/.ssh/*)
    ~/.ssh/authorized_keys  # ny linje med offentlig nøkkel per klient som stoles på
    ~/.ssh/known_hosts # Fingerprint for alle maskiner du har koblet til

  • Deaktiverte ssh-tilgang for root, og deaktiverte passordinnlogging (bare sertifikater godkjennes)
  • Fjernet unødvendige tjenester: exim4 og rpc:
    apt-get purge rpcbind
    apt-get remove exim4 exim4-base exim4-config exim4-daemon-light
    sudo netstat -tulpn # se åpne porter
    netstat -ntu | tail -n +3 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n # tilkoblede IP-adresser

  • Konfigurerte brannmur (iptables)
    sudo iptables -vL
    sudo ip6tables -vL
    sudo apt-get install iptables-persistent # en gang
    sudo iptables-restore < /path/filev4
    sudo ip6tables-restore < /path/filev6
    sudo dpkg-reconfigure iptables-persistent # ved endringer

Satt så maskinen i recovery mode for å kunne ta backup av maskinen slik den nå ser ut. Se denne guiden.

lsblk # for å se partisjoner
df -h # for å se ledig plass
ssh -C root@YOURSERVERIP "dd if=/dev/sda " | dd of=/home/whereyourwantit/linode.img # -C compression

Installerte Java 8

sudo echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
sudo echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
sudo apt-get update
sudo apt-get install oracle-java8-installer

Installerte Nginx

sudo apt-get install nginx
sudo update-rc.d nginx defaults # load on boot
sudo service nginx restart # restart
sudo nano /etc/nginx/nginx.conf # configuration
sudo ln -s /etc/nginx/sites-available/site /etc/nginx/sites-enabled/site # symlink "virtual hosts"
cd /var/www/html # default www root
cd /var/log/nginx/ # default log destination
# oppsett av brukere for http autentisering
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/htpasswd.users USERNAME

Gjorde et forsøk på å installere Docker via denne guiden

Installerte ELK-stack manuelt under /apps/elk/
Siste versjon av programvare (tar.gz -versjonene)

wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.2.1/elasticsearch-2.2.1.tar.gz
wget https://download.elastic.co/logstash/logstash/logstash-2.2.2.tar.gz
wget https://download.elastic.co/kibana/kibana/kibana-4.4.2-linux-x64.tar.gz
tar -xzvf FILE
# tar -zcvf archive-name.tar.gz directory-name