2. ELK-Stack asennus

ElasticSearch asennus

Aloitimme tekemällä käytäjälle joni oikeudet, jolla on helppo asentaa ohjelmia Linuxille komennoilla “sudo adduser joni“, ” sudo adduser joni sudo” ja “sudo adduser joni adm“. Koneen uudelleen käynnistyksen jälkeen nämä tuli voimaan.

Asensimme ElasticSearchin komennoilla, jotka löytyivät sivulta: https://logz.io/learn/complete-guide-elk-stack/#installing-elk

wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –” “sudo apt-get install apt-transport-https” – Alustaa ElasticSearch asennus arkistojen vahvistuksen paketin hallintaan.

echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list” – Lisää ElasticSearch asennus arkistot apt-get paketin hallintaan.

echo “deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list” – Apache 2 lisenssin paketit ElasticSearchille.

sudo apt-get install elasticsearch” – Asentaa paketin elasticsearch

ElasticSearch asennuksen jälkeen lisäsimme käyttäjän joni vielä elastic search ryhmään, jotta sillä on oikeus selata ElasticSeachin kansioita komennolla “sudo adduser joni elasticsearch“. Palvelin pitää vielä uudelleen käynnistää, jotta saadaan uusi ryhmä voimaan käyttäjälle joni.

ElasticSearchin asetus kansiot löytyvät etc:tä eli navigoimme sinne seuraavaksi komennolla “cd /etc/elasticsearch/“. Ensin avasin tiedostoon nimeltä elasticsearch.yml sudo editillä komennolla “sudoedit elasticsearch.yml

Otin asetus tiedostosta pois kommentointi merkit kohdista # network.host: ja http.port: ja vaihdoin tiedostosta, että sivu aukeaa vain localhostille portista 9200, kuva alla.

Kuva: elasticsearch.yml tiedosto.

Komennolla “sudo service elasticsearch start” sain ElasticSearchin päälle. Kokeilin vielä Culr:illa, että sivu aukeaa osoitteesta localshost:9200, joka toimi eli ElasticSearch asennettuna ja toimii. Curl avaa alla olevan kuvan mukaisen sivun.

Kuva: Curl localhost:9200

Laitoin vielä komennon “sudo systemctl enable elasticsearch“, että ElasticSeach aukeaa itsestään kun kone uudelleen käynnistetään.

Aika tehtävässä ElasticSearch asennus 17.10.2019 kello 14.55 – 16:35.

 

LogStash asennus

LogStash asennus aloitetaan asentamalla java komenolla “sudo apt-get install default-jre“. Kokeilin vielä, että java asennettu komennolla “java -version“, joka ilmoitti “openjdk version 11.0.4 2019-07-16“. Sitten voidaan asentaa itse LogStash komennolla “sudo apt-get install logstash“.

Aika tehtävässä LogStash asennus 17.10.2019 kello 17.05 – 16:45.

 

Kibana asennus

Kibana asentuu komennolla “sudo apt-get install kibana“, Kibana:n asennus vei jonkin aikaa noin 1-5min. Asennuksen jälkeen mennään Kibanan asetuksien kansioon eli /etc/kibana ja tiedostoon kibana.yml toin kommentti merkit kohdista;

1. server.port: 5601, jotta Kibana aukeaa osoitteeseen http://localhost:5601.

2. elasticsearch.hosts: [“http://localhost:9200”%5D, jotta Kibana tietää mistä ElasticSeach löytyy.

Kuva: kibana.yml tiedosto.

Laitoin vielä komennon “sudo systemctl enable kibana“, että Kibana aukeaa itsestään kun kone uudelleen käynnistetään.

Kibanan pitäisi nyt ohjata sivu portiin 5200 eli aukeaa selaimella sivulta http://localhost:5061 ja ohjataan viellä kibana elasticSearchin portiin 9200, josta lokitiedot noudetaan.

Kirjaudun vielä koneelle graafisella käyttöjärjestelmällä katsomassa avautuuko Kibana:n sivu Firefox selaimella ja kyllä aukesi.

Aika tehtävässä Kibana asennus 17.10.2019 kello 16:45 – 17.20.

 

SSL sertifikaatti

Ensin pitää tehdä kansiot valmiiksi, joka hoitui komennoilla “sudo mkdir -p /etc/pki/tls/certs” ja “sudo mkdir /etc/pki/tls/private

Sitten muutin openssl.cnf tiedostoa sudoeditillä komennolla “sudoedit /etc/ssl/openssl.cnf” johon, Kohdan [ v3_ca ] alle lisäsin “subjectAltName = IP: 192.168.10.64”.

Sertifikaatin generointi

Loimme komennolla salaus avaimen, joka on 4096bittinen, avain luodaan kymmeneksi vuodeksi ja menee ELK-Stack.key tiedostoon komennolla “sudo openssl req -config /etc/ssl/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:4096 -keyout private/ELK-Stack.key -out certs/ELK-Stack.crt

Nginx authentikointi

Jotta nginx toimii saadaan toimivaksi se pitää asentaa ensiksi, samalla asennan myös apache2-utils, jolla tulen tekemään käyttäjät. Nginx ja Apeche2 utils asentui komennolla “sudo apt-get install -y nginx apache2-utils” ja sitten tein käyttäjän komennolla “sudo htpasswd -c /etc/nginx/htpasswd.users joni“.

Kun käyttäjä oli tehty tyhjensin nginx default sivun ja laitoin siihen tilalle proxy asetukset komennoilla “sudo truncate -s 0 /etc/nginx/sites-available/default” ja “sudoedit /etc/nginx/sites-available/default“.

Default tiedoston sisältö näyttää tältä.

server {
    listen 80 default_server; # Listen on port 80
    server_name 192.168.10.64; # Bind to the IP address of the server
    return         301 https://$server_name$request_uri; # Redirect to 443/SSL

}

server {
    listen 443 default ssl; # Listen on 443/SSL

    # SSL Certificate, Key and Settings
    ssl_certificate /etc/pki/tls/certs/ELK-Stack.crt ;
    ssl_certificate_key /etc/pki/tls/private/ELK-Stack.key;
    ssl_session_cache shared:SSL:10m;

    # Basic authentication using the account created with htpasswd
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
 # Proxy settings pointing to the Kibana instance
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Nyt https://192.168.10.64 sivulta pääsee Kibana:aan myös lokaaliverkossa käyttämällä salasanaa ja käyttäjää, joka tehtiin “htpasswd” komennolla.

Kokeilin vielä pääsenkö omalta koneelta sisä- verkossa kirjautumaan palveluun juuri tekemälläni käyttäjällä palvelimen osoiteella https://192.168.10.64/ .

Google Crome ilmoitti, ettei sivulle meneminen ole turvallista, koska se ei tunnistanut sertifikaatin alle kirjoittajaa, joka oli tässä tapauksessa minä itse eli pitäisi olla ihan turvallista.

Kirjauduin itse tekemälläni käyttäjällä ja salasanalla palvelimelle.

Sain Kibana:n auki omalla koneellani, ettei tarvitse kirjautua palvelimelle, jos haluan käyttää graaffista käyttöliittyymää Kibana:aan. Yhteyden pitäisi nyt olla turvallinen.

Aika tehtävässä SSL Sertifikaatit 17.10.2019 kello 17.20 – 17.55.

 

Lähteet

ELK stack asennuksiin: https://logz.io/learn/complete-guide-elk-stack/#installing-elk

SSL sertifikaatit: http://robwillis.info/2017/04/elk-5-on-ubuntu-pt-2-installing-and-configuring-elasticsearch-logstash-kibana-nginx/

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s