Ruuvi Gateway -reittimessä on ominaisuus, jonka avulla voit välittää anturitiedot kolmannen osapuolen HTTPS- ja/tai MQTTS-palvelimelle. Voit suojata käyttämäsi yhteyden joko kaupallisella SSL-sertifikaatilla (CA) tai luoda sertifikaatin itse.
Tässä ohjeessa näytämme, kuinka teet oman sertifikaatin, jota voit käyttää Ruuvi Gateway -reitittimeltä lähetettävien tietojen suojaamiseen HTTPS- ja MQTTS-osoitteisiin lähetettäessä.
Kaupallisten ja itse luotujen sertifikaattien erot
Ennen aloittamista on tärkeää ymmärtää, että kaupalliset SSL-sertifikaatit myönnetään ainoastaan luotettujen auktoriteettien toimestaja nämä sertifikaatit ovat riittävän luotettavia julkisten verkkopalveluiden suojaamiseen, kun taas itse luodut SSL-sertifikaatit, joita kuka tahansa teknisesti osaava henkilö voi luoda, eivät ole tarpeeksi luotettavia muuhun, kuin verkkopalveluiden kehittäjien, testaajien tai yksityisten sisäverkossa toimivien palveluiden suojaamiseen.
Jos olet suojaamassa Ruuvi Gateway -reitttimen yhteyksiä julkiseen verkkoon, käytä aina kaupallisia CA-auktoriteetin myöntämiä sertifikaatteja. Itse luodut sertifikaatit soveltuvat käytettäväksi vain yksityisissä suljetuissa verkoissa ja testiympäristöissä.
Kaupallisen CA-auktoriteetin myöntämän SSL-sertifikaatin ostaminen
Certificate Authority (CA) on organisaatio, joka toimii digitaalisten sertifikaattien ylläpitäjänä, allekirjoittajana ja jakelijana. Näissä sertifikaateissa käytetään julkista avainta, johon on kirjattu tunnettu taho, jonka kolmansien osapuolten käyttävät yksityiset avaimet tunnistavat. CA-auktoriteetti toimii luotettavana välittäjänä, johon sertifikaatin haltija ja vierailija voivat luottaa.
Maailmanlaajuisesti tunnetuimpia CA-auktoriteetteja ovat IdenTrust, DigiCert Group, Sectigo (Comodo Cybersecurity), GlobalSign, Let’s Encrypt ja GoDaddy Group. Muista palveluista poiketen käyttäjien suosima Let’s Encrypt on toimii voittoa tavoittelemattoman organisaation toimintaperiaatteen mukaisesti ja heidän myöntämät sertifikaatit ovat ilmaisia.
Luo oma SSL-sertifikaatti Mac-tietokoneella
Jos käytät Mac OS -käyttöjärjestelmää, sinun ei tarvitse erikseen asentaa sertifikaatin luontia varten käytettävää ohjelmaa, sillä Mac OS -ympäristöön on valmiiksi asennettu OpenSSL-komento, jolla itse allekirjoitettuja sertifikaatteja voi luoda suoraan komentokehotteessa.
Huomaa, että sertifikaattitiedostot luodaan siihen kansioon, johon Terminaali osoittaa tällä hetkellä. Omalla kohdallani kansio on User/username/Downloads/Ruuvi/
Sertifikaattien luomista varten sinun on ensin selvitettävä palvelimen nimi ja asiakasohjelman nimi.
Nämä voidaan löytää seuraavasti
Kirjoita Mac OS Terminaliin
hostname
Minun tapauksessani hostname on `markos-MacBook-Pro.local`
Client name on sama kuin paikallisverkossa näytetävä Ruuvi Gateway -reitittimen nimi Mac OS -ympäristössä:
Kirjoita Terminaaliin
dns-sd -B
Tämä on omassa verkossani RuuviGateway5FC4.local
Seuraavassa kohdassa voit luoda itse allekirjoittamasi SSL-sertifikaatin sekä asiakasohjelmalle että palvelimelle.
Siirry Ruuvi-kansioon Terminaalissa
cd /Users/[yourusername]/Downloads/Ruuvi/
Luo palvelinsertifikaatit (SSL)
Luomme ensimmäiseksi 2048-bittiset omalla allekirjoituksella kirjoitetut palvelinsertifikaatit. Toteuta seuraavat kohdat tässä järjestyksessä.
Luo yksityinen avain
openssl genrsa -out server_key.pem 2048
Luo sertifikaatin allekirjoituspyyntö (CSR)
openssl req -new -key server_key.pem -out server_csr.pem
Luo asiakkaan omalla allekirjoituksella kirjoitettu sertifikaatti
openssl x509 -req -in server_csr.pem -signkey server_key.pem -out server_cert.pem -days 365
Jotta sertifikaatin luonti kohdassa 3 onnistuu, sinua vaaditaan vastaamaan muutamaan lisäkysymykseen. Vastaa alla mainittuihin, muut voit ohittaa painamalla Enter. Täytin omalle kohdalleni seuraaavaa:
Maatunnus (2 kirjainta): `FI`
Tunnettu nimi: `markos-MacBook-Pro.local`
Näiden kohtien toteuttamisen jälkeen palvelinsertifikaatit löytyvät Ruuvi-kansiosta.
Luo asiakasohjelman sertifikaatit (SSL)
Luo seuraavaksi asiakasohjelman vaatima sertifikaatti ja yksityinen avain (2048-bittinen RSA-avain). Toteuta seuraavat kohdat tässä järjestyksessä.
Luo yksityinen avain
Luo sertifikaatin allekirjoituspyyntö (CSR)
openssl genrsa -out client_key.pem 2048
openssl req -new -key client_key.pem -out client_csr.pem
Luo asiakasohjelman sertifikaatti
openssl x509 -req -in client_csr.pem -signkey client_key.pem -out client_cert.pem -days 365
Jotta sertifikaatin luonti kohdassa 3 onnistuu, sinua vaaditaan vastaamaan muutamaan lisäkysymykseen. Vastaa alla mainittuihin, muut voit ohittaa painamalla Enter. Täytin omalle kohdalleni seuraaavaa:
Maatunnus (2 kirjainta): `FI`
Tunnettu nimi `RuuviGateway5FC4.local`
Näiden kohtien toteuttamisen jälkeen asiakasohjelman sertifikaatit löytyvät Ruuvi-kansiosta.
Luo oma SSL-sertifikaatti Windows-tietokoneella
Windows-käyttöjärjestelmissä ei ole esiasennettuna OpenSSL-komentoa. Lataa ja asenna OpenSSL-ohjelma tietokoneellesi ennen aloittamista. Viimeisin OpenSSL-sovellusversio on ladattavissa täältä.
Huomaa, että sertifikaattitiedostot luodaan siihen kansioon, johon Komentokehote osoittaa tällä hetkellä. Omalla kohdallani kansio on C:User\username\Ruuvi\ . Komentokehotteessa liikut kansioiden välillä komennolla
cd
Sertifikaattien luomista varten sinun on ensin selvitettävä palvelimen nimi ja asiakasohjelman nimi.
Nämä voidaan löytää seuraavasti
Kirjoita Windowsin komentokehotteeseen
hostname
Minun tapauksessani hostname on ´LAPTOP-89EJ98FL´
Client name on sama kuin paikallisverkossa näytetävä Ruuvi Gateway -reitittimen nimi Windows -ympäristössä:
Kirjoita komentokehotteeseen
dns-sd -B
Tämä on omassa verkossani RuuviGateway3087
Seuraavassa kohdassa voit luoda itse allekirjoittamasi SSL-sertifikaatin sekä asiakasohjelmalle että palvelimelle.
Siirry Ruuvi-kansioon komentokehotteessa.
cd Ruuvi
Voit myös luoda näitä sertifikaatteja valitsemaasi muuhun sijiaintiin. Varmista, että komentokehote osoittaa haluamaasi kansioon, jonne sertifikaattitiedostot halutaan luoda.
Luo palvelinsertifikaatit (SSL)
Minun tapauksessani avasin Win64 OpenSSL -komentokehotteen samassa kansiossa, jonne OpenSSL ladattiin. Avaa komentokehote napauttamalla ´start.bat´ . Seuraavat kohdat suoritetaan komentokehotteessa.
Luomme ensimmäiseksi 2048-bittiset omalla allekirjoituksella kirjoitetut palvelinsertifikaatit. Toteuta seuraavat kohdat tässä järjestyksessä.
Luo yksityinen avain
openssl genrsa -out server_key.pem 2048
Luo sertifikaatin allekirjoituspyyntö (CSR)
openssl req -new -key server_key.pem -out server_csr.pem
Luo asiakkaan omalla allekirjoituksella kirjoitettu sertifikaatti
openssl x509 -req -in server_csr.pem -signkey server_key.pem -out server_cert.pem -days 365
Jotta sertifikaatin luonti kohdassa 3 onnistuu, sinua vaaditaan vastaamaan muutamaan lisäkysymykseen. Vastaa alla mainittuihin, muut voit ohittaa painamalla Enter. Täytin omalle kohdalleni seuraaavaa:
Maatunnus (2 kirjainta): `FI`
Tunnettu nimi: `LAPTOP-89EJ98FL.local`
Näiden kohtien toteuttamisen jälkeen palvelinsertifikaatit löytyvät Ruuvi-kansiosta.
Luo asiakasohjelman sertifikaatit (SSL)
Luo seuraavaksi asiakasohjelman vaatima sertifikaatti ja yksityinen avain (2048-bittinen RSA-avain). Toteuta seuraavat kohdat tässä järjestyksessä.
Luo yksityinen avain
openssl genrsa -out client_key.pem 2048
Luo sertifikaatin allekirjoituspyyntö (CSR)
openssl req -new -key client_key.pem -out client_csr.pem
Luo asiakasohjelman sertifikaatti
openssl x509 -req -in client_csr.pem -signkey client_key.pem -out client_cert.pem -days 365
Jotta sertifikaatin luonti kohdassa 3 onnistuu, sinua vaaditaan vastaamaan muutamaan lisäkysymykseen. Vastaa alla mainittuihin, muut voit ohittaa painamalla Enter. Täytin omalle kohdalleni seuraaavaa:
Maatunnus (2 kirjainta): `FI`
Tunnettu nimi: `RuuviGateway3087.local`
Näiden kohtien toteuttamisen jälkeen asiakasohjelman sertifikaatit löytyvät Ruuvi-kansiosta.
Yhteenveto
Paranna käyttöympäristösi tietoturvaa käyttämällä SSL-sertifikaatteja Ruuvi Gateway -reitittimen kanssa. Voit hankkia virallisia SSL-sertifikaatteja CA-sertifikaattien myöntäjältä tai luoda itse allekirjoitettuja sertifikaatteja. Tässä oppaassa kerromme kuinka itse allekirjoitettuja sertifikaatteja luodaan Mac OS – ja Windows-käyttöjärjestelmissä ja mitä eroja on julkisiin yhteyksiin käytettävissä CA-auktoriteetin allekirjoittamissa sertifikaateissa testiympäristöihin tarkoitettuihin itse allekirjoitettuihin sertifikaatteihin verrattuna.