Att säkra IoT program som bygger på Intel Galileo och Raspberry PI



Att hålla dig uppdaterad med säkerhet vid utveckling av webbapplikationer är nog svårt, men när du börjar att ge sig ut i världen av sakernas utveckling är det en helt ny match. Precis som förr i tiden när jag först började utveckla Facebook applikationer, stabil dokumentation för IoT byggsystem är få och långt mellan, och mycket av den information du hittar blir felaktiga eller ofullständiga. Detta utgör ett stort hot som nybörjare IoT utvecklare kommer att skapa otrygga system som äventyrar säkerhet och lämna gapande hål i system som skulle kunna ge tillgång till mycket privata data, och även kontroll över hem/business säkerhetssystem, anordningar och enheter.

För dem som följer mina artiklar eller känner mig, vet du att säkerhet är min primära oro när de utvecklar någon typ av system, webb, mobila specifika, IoT eller artificiell intelligens. Vissa människor bör vara leende nu som de minns samtal de har haft med mig om att försöka få mig att mjuka upp på min säkerhetsmetoder att göra livet lättare och mig point blank vägrar med ingen ånger. Om du markerar någon av de webbplatser/program som jag har byggt kommer du se att alla mina system skyddas mot de senaste kända hoten och att faktiskt min krypteringsmetoder har ett A + klassificering som är högre än var och en av Googles servrar enligt Qualys SSL rapporten som har utjämnat Googles säkerhet vid B klass.

(https://www.ssllabs.com/ssltest/analyze.html?d=https :// www.techbubble.eu)

(https://www.ssllabs.com/ssltest/analyze.html?d=https :// www.google.com)

Efter att ha sagt att det finns inte ett enda system eller nätverk som är uncrackable, som jag säger det inte att vara möjligt tills vi gå längre med kvantfysik och säkerhet är en pågående inlärningskurva, skulle ingen någonsin glo att deras system är uncrackable eftersom det skulle vara en lögn.

Även om jag stöder människor lära sig om teknik, och jag är fullt medveten om att det är en nödvändighet att många människor kommer att börja förverkliga under nästa år eller så, det oroar mig också att mikrokontrollanter och produkter för att utveckla applikationer på är enheter som Galileo-Intel och Raspberry PI så lätt erhålls genom och befordras till människor som har liten eller ingen erfarenhet av utveckling och säkerhet. Människor får verktyg som Wordpress som gör att människor med absolut ingen erfarenhet att publicera system på internet har gett mig en nervösa twitch under de senaste åren, och nu är jag nära en fullt utvecklad hjärtattack som jag läst om botch jobb av system som människor skapar med ingen vård för eller förståelse för att säkra systemen.

Ett sätt att jag har sett till att mitt system bo är lika säker som jag möjligtvis kan göra dem är genom tunga mängder av forskning, hjälp från två personer som har ganska mycket mentor mig under de senaste åren, och hålla min koder och metoder låst, men på grund av den massiva mängden risk att sakernas utveckling kan orsaka jag har beslutat att dokumentera några av grunderna i den minimal säkerhet som bör genomföras vid utveckling system på Intel Galileo och Raspberry PI utveckling styrelser.

SKYDDA INTERNET TILLGÄNGLIGT SYSTEM BYGGT PÅ INTEL GALILEO GEN 1:

Följande information kommer att hjälpa dig att säkra din internet tillgänglig Intel Galileo-systemet som baseras på en Linux OS.

1. säker din ROUTER: Denna del är ett absolut måste! Mycket till min motvilja tillhandahålls de flesta routrar utan någon av de säkerhetsfunktioner som aktiverad. Skydda din router är utanför räckvidden för denna artikel men du kan läsa en artikel som jag skrev förra året för mer info. (https://www.techbubble.info/blog/web/online-security/entry/Is-Your-Router-Secure)

2. ändra ROOTLÖSENORD: Den första etappen med någon ny enhet ska alltid vara att ändra standardlösenordet. Listan är lätt tillgänglig på internet som ger hackare default lösenord för ganska mycket varje typ av enhet och om du inte ändrar ditt lösenord till ett säkert lösenord någon kan enkelt komma åt din enhet om den är ansluten till internet. När du loggat in i Intel Galileo via SSH utfärda följande kommando från Kommandotolken:

passwd

Du kommer då att behöva ange ett lösenord på minst 5 tecken och informerade för att använda en kombination av versaler och gemener och siffror, du bör också använda symboler samt se till att ditt lösenord är så säker som möjligt. Ange ditt nya lösenord och en bekräftelse visas att lösenordet har ändrats.

3. regelbundet uppdatera din FIRMWARE: En annan viktig uppgift att genomföra regelbundet är att uppdatera din firmware. På följande länk hittar du några firmware updater programvara för din Intel Galileo som kan köras från Windows, Mac och Linux, använda det regelbundet för att uppdatera din styrelser firmware. (https://downloadcenter.intel.com/download/24748/Intel-Galileo-Firmware-and-Drivers-1-0-4)

4. regelbundet uppdatera ditt paket: Det är också viktigt att uppdatera och uppgradera ditt paket regelbundet. Från terminalen lämna ut den följande befallningen:

Opkg uppdatering (uppdaterar listan över tillgängliga paket)

Opkg uppgradering (uppgraderar alla tillgängliga paket)

5. ADD ett domännamn och SSL certifikat till din styrelse: För att säkerställa att data som skickas mellan din Intel Galileo och några anslutande webbtjänster är krypterad en viktig sak att göra är att lägga till SSL-kryptering på din förfrågan. Här kommer att ge dig grunderna i att fylla denna uppgift.

-Se till ditt lokala nätverk har en statisk IP, kommer du att kunna köpa en från din Internetleverantör, kan du använda tjänsten som no-ip.com men detta är inte att föredra.

-Se till att alla portar är stängda på din router med undantag för sådana som du behöver för dina applikationer.

-Köp ditt domännamn och installera det på en webbserver, jag får mina från NameCheap.com.

-Köpa ditt SSL-certifikat, jag får mina från NameCheap.com.

-Redigera zonfilen domäner om du vill inkludera en subdomän som använder en A-post för att peka på statisk IP på ditt nätverk.

-Ställ in din port framåt från routern till din Intel Galileo.

-Logga in till din Galileo via SSH och generera en RSA-nyckel och en CSR som används för att aktivera ditt SSL-certifikat.

Använd följande kommando för att generera RSA-nyckel:

openssl genrsa-ut ~/YOUR_CERT_FOLDER/YOUR_KEY_FILE.key 2048

Använda den följande befalla till generera din CSR:

openssl req-nytt - sha256-nyckel ~/YOUR_CERT_FOLDER/YOUR_KEY_FILE.key-ut ~/YOUR_CERT_FOLDER/YOUR_CSR_FILE.csr

Uppmanas du att några frågor i detta skede, komplett dem alla men se till att inte ange ett lösenord när du uppmanas, rättvis slå till gå in.

-Chef över till vart du köpt SSL-certifikatet från och aktivera din SSL cert med CSR du genererade på din Intel Galileo, när kontrollerat får du filerna SSL certifikat.

-Anslut till din Galileo användande SFTP, för detta jag alltid WinSCP på Windows, men du kan använda FileZilla eller FTP-klient som du väljer. Samband med att ladda upp din SSL cert filer till mappen certs och inkludera dem i din ansökan att säkerställa krypterad trafik till och från din Intel Galileo.

6. Stäng alla PORTAR utom sådana krävs för TILLÄMPNINGSPROGRAMMET: när du har din ansökan tillgängliga via internet och skyddad med SSL är det dags att kontrollera om IPTables är installerade. IPTables kan du ange vilka portar som är tillgängliga på din Intel Galileo genom att blockera dem alla och ger dig tillgång till endast portarna som du vitlista. IPTables har en hel del funktioner och metoder här är grunderna:

-Kontrollera att IPTables är installerat användande den följande befalla, om det är, visas ett meddelande som säger så, om det inte är det kommer att installeras:

Opkg installera iptables

-Om/en gång installerat kan du kontrollera din nuvarande configs genom att köra följande kommando:

iptables -L eller iptables -L - v

-Skapa en ny konfigurationsfil för IPTables och ändra koden till din smak. Detta kommer att blockera all trafik till din Galileo utom SSH och den angivna portar du vit lista. Skapa nya config filen skulle du utfärda följande kommando: (jag använder nano men du kan använda din favorite textredaktör)

nano /etc/iptables.firewall.rules

och sedan lägga till följande kod och ändra till din förkärlek:

<---kod START--->

* filter

# Tillåter all loopback (lo0) trafik och släppa all trafik till 127/8 som inte använder lo0

-A INPUT -i lo -j accepterar

-A INPUT -d 127.0.0.0/8 -j AVVISA

# Acceptera alla etablerade inkommande anslutningar

-A INPUT -m state--ange etablerat sig, ANKNYTANDE -j accepterar

# Tillåt all utgående trafik - du kan ändra detta för att endast tillåta vissa trafik

-En OUTPUT -j accepterar

# Tillåta HTTP- och HTTPS-anslutningar från någonstans (de normala portarna för webbplatser och SSL).

-A INPUT -p tcp--dport 80 -j accepterar

-A INPUT -p tcp--dport 443 -j accepterar

-A INPUT -p tcp--dport 8080 -j accepterar

# Tillåt SSH-anslutningar

#

# - Dport antalet skall vara den samma portnummer som du anger i sshd_config

#

-A INPUT -p tcp -m state--ange nya--dport 22 -j accepterar

# Tillåt ping

-A INPUT -p icmp -j accepterar

# Logga iptables förnekade samtal

-A -m gräns--limit 5/min - j Stock--log-prefix "iptables nekad:"--logga in-nivå 7

# Släpp alla andra inkommande - standard förneka om inte uttryckligen tillåts politik

-A INPUT -j tappar

-En framåt -j tappar

BEGÅ

<---kod slutet--->

-När du har ändrat och sparat din config-filen kan du sedan läsa brandväggsreglerna genom att utfärda kommandot:

iptables-återställa < /etc/iptables.firewall.rules

-Om du vill säkerställa att brandväggen är laddad varje och varje gång du startar upp din Intel Galileo du kommer att behöva skapa en ny fil i network adapter krokar:

nano /etc/network/if-pre-up.d/firewall

-gör den körbar:

chmod + x /etc/network/if-pre-up.d/firewall

-Skriv in följande kod:

<---kod START--->

#! / bin/sh

/sbin/iptables-Restore < /etc/iptables.firewall.rules

<---kod slutet--->

-Starta din Galileo och din brandvägg bör starta upp på Start varje gång nu.

Detta är bara det mest grundläggande för att få din internet åtkomliga Intel Galileo säkert och om du ska programmet system för IoT du bör 100% genomföra dessa metoder åtminstone eller riskera att bli träffad av blixten :D Stegen för att säkra ett system byggt på en Raspberry PI är mycket lik ovanstående muttern inkluderar att ta bort standardanvändaren och ersätta den med en annan sudo användare. Stegen för att göra det är följande:

1. SKAPA SUPER USER:

sudo useradd -m användarnamn -G sudo

2. ÄNDRA SUPER ANVÄNDAREN PASSERA:

sudo passwd användarnamn

3. KONTROLLERA SUDO PÅ TOPPEN FÖRBRUKAREN:

NÅGOT SUDO KOMMANDO

Ta bort standard SUPER USER (pi):

sudo deluser pi (endast ta bort användare)

sudo deluser-ta bort-hem pi (ta bort användare och användarens hemkatalog)

Jag hoppas människor hitta detta användbara, det var verkligen en hel del arbete att lista ut hur att göra allt detta så det skulle spara mycket tid så att du kan spendera mer tid med fokus på utveckling. Som jag nämnde detta inte är en be alla och avsluta alla guide, finns det mer säkerhetsaspekter att överväga men detta ska börja du på din väg.

Om denna artikel hjälpt dig snälla hjälp genom att dela den ursprungliga artikeln på min sida:

https://www.techbubble.info/Blog/devs-and-tecs/Intel-Galileo-Development/Entry/Securing-IOT-Applications-built-ON-Intel-Galileo-and-Raspberry-PI

Relaterade Ämnen

Att säkra en Server som Raspberry Pi

Gruppmedlemmar: Snehpal Singh, Rohan Kapadia, Mandar Pednakar, Prathamesh TimseFörsta, vi hårdvara konfigurera Raspberry Pi med manualen och genom att köra boot, gör önskade ändringar och ställa in lösenordet.Nu, vi gör Raspberry Pi vår webserver anv...

IAquaDesk - IoT aktiverat kretsloppsodling använder Intel galileo (Intel IoT)

Kretsloppsodling är ett system av vattenbruk där avfallet produceras av odlad fisk eller andra vattenlevande varelser levererar näringsämnen för växter som odlas hydroponically, som i sin tur renar vattnet. Ett ekosystem där växter och fiskar hjälpa...

Flera enkla steg för att säkra din dator

VERSION 2.0 kommer att vara borta snart. Du kan se på sista steget vad jag har i beredskap för detta instructable, ha tålamod jag sålla igenom allt och få processen rullande.I detta Instructable kommer jag visa dig några tips som gör din dator mycket...

Industriella IoT program - bygga din egen Laser resa tråd

** Uppdatering: Artikeln nedan är från vår äldre Android app! VALARM är Industriella IoT. Vi hjälper dig, ditt team och din verksamhet med industriella IoT applikationer med hjälp av Valarm verktyg moln.Vi rekommenderar att du använder GSM, WiFi och...

Industriella IoT program - hur gör din egen Remote miljömässiga övervakning låda med sensorer

** Uppdatering: Artikeln nedan är från vår äldre Android app! VALARM är industriella IoT. Vi hjälper dig, ditt team och ditt företag med industriell IoT program med hjälp av Valarm verktyg moln.Våra färdiga att gå kit-paket finns tillgängliga på shop...

Industriella IoT program - Remote luftkvaliteten + CO2 Sensor övervakning

** Uppdatering: Artikeln nedan är från vår äldre Android app! VALARM är Industriella IoT. Vi hjälper dig, ditt team och din verksamhet med industriella IoT applikationer med hjälp av Valarm verktyg moln.Vi rekommenderar att du använder GSM, WiFi och...

Industriella IoT program - Remote temperaturgivare övervakning

** Uppdatering: Artikeln nedan är från vår äldre Android app. Valarm är industriella IoT. Vi hjälper dig, ditt team och din verksamhet med industriella IoT applikationer med hjälp av Valarm verktyg moln.Vi rekommenderar att du använder GSM, WiFi och...

Industriella IoT program - fjärrövervaka din Windows, hem, kontor

** Uppdatering: Artikeln nedan är från vår äldre Android app! Valarm är industriella IoT (IIoT). Vi hjälper dig, ditt team och din verksamhet med industriella IoT applikationer med hjälp av Valarm verktyg moln.Vi rekommenderar att du använder GSM, Wi...

Bygga en Debian Linux-distributionen för Intel Galileo

Hej Internet,Idag kommer vi att lära hur man bygger och installerar en Debian Linux-distributionen för Intel Galileo Gen 1/2.Varför Debian?Debiandistributionen kan en mer native linux bekant kommandoradsgränssnitt. Kommandon som apt-get och aptitude...

Handske Coach - internet anslutna handske för att maximera ditt gym träningspass som drivs av Intel IoT

Med hjälp av Intel Edison sakernas Utvecklingskit, har vi skapat en prototyp för en gym/verk handske som spårar och analyserar din träning samt att ge internet-anslutning så att du kan dela din träning med dina vänner online.Steg 1: Material som anvä...

Ratcheting åkarna Hitch används för att säkra last som en Mast på en Trailered Hobie Bravo

Här är ett sätt att knyta en ratcheting lastbilschauffören hitch (också kallad Wolfdrool's hitch) med sanna ratcheting åtgärder. Med ratcheting menar jag att du kan dra linjen för att strama upp Knut över lasten, och sedan när du slutar dra och låt l...

Industriella IoT - hur man bygger din egen utomhus pagoden för väder, luftkvalitet och andra sensorer

** Uppdatering: Artikeln nedan är från vår äldre Android app! Valarm är industriella IoT. Vi hjälper dig, ditt team och din verksamhet med industriella IoT applikationer med hjälp av Valarm verktyg moln.Om du vill spara tid och pengar kan du bara få...

Bygga en enhet som klipp på bältet och spårar hur mycket tid du spenderar i och utanför

vårt mål i detta stegvisa instructable är att bygga en enhet du kan klippa till ditt bälte och bära hela dagen. Denna enhet kommer att logga data att, när de hämtas till en backend-serversystem, kommer en rapport som visar plats historien om din dag...

Att säkra din dator: 007 stil!

Har du någonsin känt mig osäker om vad du har på din dator? Kanske de är saker du inte bör ha, eller kanske du är bara orolig för dina värdefulla data (kreditkort, inloggningsinformation, etc.) hamnar i fel händer? Sedan görs denna intsructable med d...

Hur att göra ett verktyg som

liv utan verktyg är barbariskt. Men även enkla verktyg kan bli dyrt i landsbygdens delar av utvecklingsländerna. Importtullar bump kostnaderna upp högre än de är i staterna eller någon annanstans, och ibland bara låg kvalitet varumärken finns ändå.Så...

T.E.E.T.H. - att lägga till IOT i ditt hem med Intel Edison

TÄNDERNA står för Timer uppmuntra alla att hälsa. Den använder Intel Edison styrelsens liten formfaktorn för att uppgradera din Tandborsthållare till en IOT hem apparaten. Denna smarta uppgradering är bra för hälsomedvetna folk, de under dental tills...

Bygga STEMbot1 - en Robot som gör programmering roligt och lätt

Den moderna smartphone eller tablett (mobiltelefon) har mer datorkraft än stationära datorer hade bara 10 år sedan. Moderna mobila enheter är fulla av sensorer inklusive: GPS, kompass, 3-axlig accelerometrar, gyroskop, etc och är väl ansluten via mob...

Industriella IoT program - hur du använder sensorer för förvaltning av vattenresurser, översvämningar varningar och vatten upptäckt

** Uppdatering: Artikeln nedan är från vår äldre Android app! Valarm är industriella IoT. Vi hjälper dig, ditt team och din verksamhet med industriella IoT applikationer med hjälp av Valarm verktyg moln.Ta en titt på våra vatten + vätskor övervakning...

Att komma igång med Xilinx Vivado w / Digilent Nexys 4 FPGA 1 - bygga flera ingångar och logik utfärda utegångsförbud

Jag gör detta instructable eftersom det ser ut som det inte är enkelt att komma igång handledning för att lära människor att använda den senaste Xilinx Vivado CAD-verktyget. Så, jag vill använda den enkla flera ingångar gate design att gå igenom Xili...