Up to date houden met beveiliging bij het ontwikkelen van webapplicaties is een hard genoeg taak, maar wanneer u begint te wagen uit in de wereld van IoT ontwikkeling wel een geheel nieuw bal-spel. Net als terug in de dag toen ik voor het eerst begonnen Facebook applicaties ontwikkelen, stabiele documentatie voor IoT bouwsystemen weinigen en ver tussen is, en veel van de informatie die u zult vinden onjuist of onvolledig zullen. Dit vormt een grote bedreiging als beginner IoT-ontwikkelaars zal het creëren van onveilige systemen die in gevaar brengen veiligheid en verlof gapend gaten in systemen die kon toegang tot zeer privé gegevens toestaan, en zelfs controle over huis/bedrijf beveiligingssystemen, toestellen en doelapparaten.
Voor degenen die volgen mijn artikelen of weten mij, zal u weten dat veiligheid mijn primaire zorg is bij het ontwikkelen van elk type systeem, of het web, mobiele specifieke, IoT of kunstmatige intelligentie. Sommige mensen moet glimlachen nu zoals zij gesprekken herinneren hebben zij met mij over proberen te krijgen wil losraken opwaarts op mijn beveiligingsmethoden om het leven gemakkelijker maken en mij point leeg weigeren met geen berouw. Als u een van de websites/applicaties die ik heb gebouwd ziet u dat alle mijn systemen zijn beveiligd tegen de nieuwste bekende bedreigingen en dat in feite mijn coderingsmethoden een A hebben + sortering die hoger is dan elke één van de servers van Google volgens het rapport van Qualys SSL die heeft afgetopte Googles veiligheid bij B rang.
(https://www.ssllabs.com/ssltest/analyze.html?d=https :// www.techbubble.eu)
(https://www.ssllabs.com/ssltest/analyze.html?d=https :// www.google.com)
Hebben gezegdd dat, er is niet één enkel systeem of netwerk dat uncrackable, zoals ik blijf zeggen dat het niet mogelijk totdat we verdere vooruitgang met kwantumfysica en veiligheid is een lopende leercurve, zou niemand ooit leedvermaak dat hun systeem uncrackable is, want dat zou een leugen.
Hoewel ik steun mensen leren over technologie, en ik heel goed weet dat er een noodzaak dat veel mensen beginnen zal om te realiseren in het komende jaar of zo, ook baart mij zorgen dat micro controllers en producten voor het ontwikkelen van toepassingen op zijn apparaten zoals de Intel Galileo en de Raspberry PI zo gemakkelijk verkregen door, en gepromoveerd tot mensen die weinig of geen ervaring met ontwikkeling en veiligheid hebben. Mensen krijgen tools als Wordpress waarmee mensen met absoluut geen ervaring op systemen op internet publiceren heeft gegeven mij een nerveus kramp in de afgelopen paar jaar, en nu ik dicht bij een volledige geblazen hartaanval ben als ik lees over botch banen van systemen die mensen maken met geen zorg voor of begrip van de beveiliging van de systemen.
Een manier dat ik hebben ervoor gezorgd dat mijn systemen blijven zo veilig als ik kan hen mogelijk te maken is door zware bedragen voor onderzoek, help van twee mensen die vrij hebben veel begeleid me in de afgelopen paar jaar, en het houden van mijn codes en de methoden die zijn vergrendeld, maar als gevolg van de enorme hoeveelheid gevaar dat IoT ontwikkeling kan veroorzaken heb ik besloten om enkele van de fundamenten van de minimale beveiliging die moet worden toegepast bij het ontwikkelen van document systemen op Intel Galileo en Raspberry PI ontwikkelborden.
BEVEILIGEN VAN INTERNET TOEGANKELIJKE SYSTEMEN GEBOUWD OP INTEL GALILEO GEN 1:
De volgende informatie helpt u veilig uw internet toegankelijk Intel Galileo systeem dat is gebaseerd op een Linux OS.
1. veilig uw ROUTER: Dit deel is dat een absolute must! Veel tot mijn afkeer worden de meeste routers geleverd zonder de veiligheid functies ingeschakeld. Beveiligen uw router valt buiten het bereik van dit artikel, maar je kunt het lezen van een artikel dat ik schreef vorig jaar voor meer info. (https://www.techbubble.info/blog/web/online-security/entry/Is-Your-Router-Secure)
2. CHANGE ROOT-wachtwoord: De eerste fase met elk nieuw apparaat moet altijd het standaardwachtwoord te wijzigen. Lijst zijn gemakkelijk toegankelijk op het internet zodat hackers de standaard wachtwoorden van vrijwel elk type apparaat en als u uw wachtwoord niet naar een veilig wachtwoord veranderen iedereen gemakkelijk toegang tot uw apparaat als deze is aangesloten op het internet. Eenmaal ingelogd op de Intel Galileo via SSH het volgende commando vanaf de command line:
passwd
U zal dan worden gevraagd een wachtwoord van minimaal 5 tekens en geïnformeerd te gebruiken een combinatie van hoofdletters en kleine letters en getallen, moet u ook symbolen ook gebruiken om ervoor te zorgen dat uw wachtwoord is zo veilig mogelijk. Re uw nieuwe wachtwoord en een bevestiging wordt getoond dat het wachtwoord is veranderd.
3. regelmatig UPDATE uw FIRMWARE: Is een andere belangrijke taak uit te voeren regelmatig om uw firmware-update. Op de volgende link vindt u sommige firmware updater software voor uw Intel Galileo die kunnen worden uitgevoerd vanaf Windows, Mac en Linux, kunt het regelmatig bijwerken van de firmware van uw planken. (https://downloadcenter.intel.com/download/24748/Intel-Galileo-Firmware-and-Drivers-1-0-4)
4. regelmatig uw UPDATEPAKKETTEN: Het is ook belangrijk om te werken en regelmatig bijwerken van uw pakketten. Geef de volgende bevelen van de terminal:
and update (Updates van de lijst van beschikbare pakketten)
and upgrade (Upgrades alle beschikbare pakketten)
5. een domeinnaam en SSL certificaat op uw bord toevoegen: Om ervoor te zorgen dat gegevens die worden uitgewisseld tussen uw Intel Galileo en eventuele aansluitende webservices is gecodeerd een belangrijk ding om te doen is het toevoegen van SSL-codering aan uw verzoeken. Hier zal ik u de grondbeginselen van de voltooiing van deze taak.
-Zorgen voor uw lokale netwerk heeft een statisch IP-adres, u zal zitten kundig voor kopen bij uw ISP, u service zoals neen-ip.com kan gebruiken maar dit is niet de voorkeursmethode.
-Ervoor zorgen dat alle poorten zijn gesloten op uw router met uitzondering van degenen die u nodig hebt voor uw toepassingen.
-Uw domeinnaam aanschaffen en installeren op een webserver, ik krijg mijn van NameCheap.com.
-Koop uw SSL certificaat, ik krijg mijn van NameCheap.com.
-Bewerk het zonebestand domeinen als u wilt opnemen van een subdomein dat gebruikmaakt van een A-record verwijst naar het statische IP-adres van uw netwerk.
-Opzetten van uw poort naar voren van uw router op uw Intel Galileo.
-Login aan uw Galileo via SSH en een RSA-sleutel en een CSR die worden gebruikt voor het activeren van uw SSL certificaat te genereren.
Gebruik de volgende opdracht om uw RSA-sleutel te genereren:
openssl genrsa-out ~/YOUR_CERT_FOLDER/YOUR_KEY_FILE.key 2048
Gebruik de volgende opdracht voor het genereren van uw MVO:
openssl req-nieuw - sha256-toets ~/YOUR_CERT_FOLDER/YOUR_KEY_FILE.key-out ~/YOUR_CERT_FOLDER/YOUR_CSR_FILE.csr
U zal worden gevraagd een paar vragen in dit stadium, volledige die ze allemaal maar zorgen niet Voer een wachtwoord in wanneer veroorzaakt aan, enkel geraakte invoeren.
-Hoofd over aan waar u het SSL-certificaat van gekocht en activeren van uw SSL-cert met behulp van de CSR die u gegenereerd op uw Intel Galileo, zodra gecontroleerd ontvangt u uw SSL certificaatbestanden.
-Sluit aan op uw Galileo gebruik van SFTP, voor dit ik altijd WinSCP op Windows, maar u kunt FileZilla of de FTP-client van uw keuze. Eenmaal aangesloten upload uw SSL-cert bestanden naar de map certs en hen in uw toepassing om versleutelde verkeer van en naar uw Intel Galileo opnemen.
6. Sluit alle havens met uitzondering van degenen benodigd voor uw toepassing: Zodra u uw toepassing toegankelijk via het internet hebt en met SSL beveiligd is het tijd om te controleren of IPTables is geïnstalleerd. IPTables kunt u opgeven welke poorten zijn toegankelijk op uw Intel Galileo door ze allemaal te blokkeren en toegang tot alleen de poorten die u witte lijst. IPTables heeft veel eigenschappen en methoden is dit de basis:
-Controleer of IPTables is geïnstalleerd met de volgende opdracht, als het is, ziet u een bericht zeggend dat, als het niet het zal worden geïnstalleerd:
and installeren iptables
-If/eenmaal geïnstalleerd kunt u uw huidige configs controleren door de volgende opdracht uit te voeren:
iptables -L of iptables -L - v
-Maak een nieuw configuratiebestand voor IPTables en wijzig de code naar uw wens. Dit zal het blokkeren van al het verkeer naar uw Galileo behalve SSH en de opgegeven poorten u witte lijst. Om uw nieuwe configuratiebestand te maken u zou het volgende commando: (ik ben met behulp van nano maar u kunt uw favoriete tekst-editor)
nano /etc/iptables.firewall.rules
Voeg de volgende code en aanpassen aan uw voorkeur:
<---CODE START--->
* filter
# Alle loopback (lo0) verkeer toestaan en neerzetten van al het verkeer naar 127/8 waarin lo0 niet worden gebruikt
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j afwijzen
# Accepteren dat alle gevestigde binnenkomende verbindingen
-A INPUT -m state - staat en zijn gevestigd, RELATED -j ACCEPT
# Alle uitgaande verkeer toestaan - u kunt dit alleen bepaalde om verkeer toe te
-A OUTPUT -j ACCEPT
# HTTP en HTTPS verbindingen vanaf elke locatie (de normale poorten voor websites en SSL) toestaan.
-A INPUT -p tcp-dport 80 -j ACCEPT
-A INPUT -p tcp-dport 443 -j ACCEPT
-A INPUT -p tcp-dport 8080 -j ACCEPT
# SSH verbindingen toestaan
#
# De - dport nummer moet hetzelfde poortnummer die u in sshd_config stellen
#
-A INPUT -p tcp -m state - staat nieuwe dport 22 -j ACCEPT
# Toestaan ping
-A INPUT -p icmp -j ACCEPT
# Logboek iptables geweigerd oproepen
-A INPUT -m limit--limiet 5/min - j LOG--log-prefix "iptables geweigerd:"--log-niveau 7
# Drop alle andere binnenkomende - standaard weigeren tenzij expliciet toegestaan beleid
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT
<---CODE einde--->
-Zodra u hebt bewerkt en opgeslagen je configuratiebestand kunt u vervolgens de firewallregels laden door het commando te geven:
iptables-herstel < /etc/iptables.firewall.rules
-Om ervoor te zorgen dat de firewall elk geladen wordt en everytime u opwaarts uw Intel Galileo u schoen moet een nieuw bestand maken in de netwerkadapter haken:
nano /etc/network/if-pre-up.d/firewall
-Maak het uitvoerbaar:
chmod + x /etc/network/if-pre-up.d/firewall
-Voeg de volgende code:
<---CODE START--->
#! / bin/sh
/Sbin/iptables-Restore < /etc/iptables.firewall.rules
<---CODE einde--->
-Reboot uw Galileo en uw firewall moet opstarten op opstarten everytime nu.
Dit zijn slechts de basis van het krijgen van uw internet toegankelijk Intel Galileo veilig en als je naar programma systemen voor de IoT u gaat moet 100% implementeren van deze methoden op zijn minst of risico naar beneden door de bliksem wordt getroffen :D De stappen voor het beveiligen van een systeem dat is gebouwd op een Raspberry PI zijn zeer vergelijkbaar met de bovenstaande moer omvatten de standaardgebruiker verwijderen en vervangen door een andere gebruiker van sudo. De stappen om dat te doen zijn als volgt:
1. SUPER GEBRUIKER MAKEN:
sudo useradd -m gebruikersnaam -G sudo
2. VERANDERING SUPER USER PASS:
sudo passwd USERNAME
3. CONTROLEER SUDO OP SUPER-GEBRUIKER:
EEN SUDO COMMANDO
STANDAARD SUPER gebruiker verwijderen (pi):
sudo deluser pi (verwijderen enige gebruiker)
sudo deluser-verwijderen-home pi (verwijderen gebruiker en basismap van de gebruiker)
Ik hoop dat mensen dit nuttig, dat het was zeker een heleboel werk om erachter te komen hoe dit alles te doen zodat het je veel tijd moet opslaan zodat u kunt besteden meer tijd zich te concentreren op de ontwikkeling. Zoals ik al zei dat dit is niet een gids van het einde zijn allen en allen, er zijn meer veiligheidsaspecten te overwegen, maar dit moet u beginnen op je weg.
Als dit artikel u wees zo goed steun geholpen door het delen van het oorspronkelijke artikel op mijn site: