Tag disse trin for at sikre din Raspberry Pi imod angriberne - 💡 Fix My Ideas

Tag disse trin for at sikre din Raspberry Pi imod angriberne

Tag disse trin for at sikre din Raspberry Pi imod angriberne


Forfatter: Ethan Holmes, 2019

Raspberry Pi boards er fantastiske til ethvert projekt - de er billige, nemme at bruge, kan køre en bred vifte af mulige operativsystemer og levere programmerbare GPIO-stifter samt multi-core CPU-tilgængelighed og flere USB-porte.

Du kan bruge Raspberry Pi boards til alle former for automatisering og informationsindsamling projekter. Men hvis du ikke er forsigtig, kan dit lille hobbyprojekt resultere i en sikkerhedsrisiko, der fungerer som et indgangspunkt i dit netværk. De kan ikke udføre sikker opstart som ARM Trustzone, og SD-kort og operativsystem er ikke let krypterede. Følg disse sikkerhedstips for at beskytte dine Pi og andre enheder på dit netværk.

Hvorfor skulle nogen hack en Raspberry Pi?

  • Dens computerkraft kan misbruges til operationer som minedrift cryptocurrency.
  • Det kan bruges som et hoppepunkt til at angribe andre værter for at dække angriberens spor.
  • Det er et indgangspunkt til resten af ​​et internt netværk. En angriber kan nemt nå filserverne og forsøge at installere ransomware, få dokumenter til udpressning eller manipulere firewall- og routerindstillingerne for at sikre vedvarende adgang i fremtiden til senere uhyggelige handlinger, enten ved at angribe routerens webkonsol eller udføre uPNP manipulation for at åbne flere porte til internettet for angreb.

Passwords

Ændre standardadgangskoderne - Hvis du installerer en ny version af NOOBS eller Raspbian, skal du sørge for at ændre standardadgangskoden til "pi" -brugeren til noget, der er langt og svært at gætte. En passphase som "iamasuckerfor5dollarmojitos" er meget bedre end [email protected]! Selvom du planlægger at deaktivere kontoen, er dette første skridt grundlæggende beskyttelse, hvis du glemmer det.

Brugerkonti

Dit næste skridt skal være at deaktivere standard Pi-kontoen i Raspbian. Før du gør dette, opret en ny konto på systemet. Du kan bruge useradd kommandoen for at gøre dette, med nogle ekstra flag til at angive, at der oprettes en ny hjemmekatalog for brugeren. Log ind som Pi-brugeren og udsted kommandoen:

$ sudo / usr / sbin / useradd - grupper sudo -m makezine

Brug dit eget brugernavn i stedet for "makezine". Dette vil oprette en ny konto, oprette en mappe til kontoen (f.eks / Home / makezine), og tilføj den nye konto til sudo-gruppen, så brugeren kan bruge sudo-kommandoen. Når først den nye brugerkonto er oprettet, skal vi angive et kodeord for kontoen. Du kan gøre dette ved hjælp af kommandoen:

$ sudo passwd makezine

Dernæst nulstill root adgangskoden. Vælg noget langt og svært at gætte.

$ sudo passwd root

Endelig vil du gerne deaktivere Pi-kontoen:

$ sudo passwd -lock pi

Nu kan du logge ud af Pi-kontoen og logge ind med din nye konto og adgangskode.

Sikring af SSH

Som standard installerer Raspbian en fjernadgangskal (SSH), som du kan få adgang til overalt. Du kan deaktivere dette ved at oprette SSH, så kun maskiner med en autoriseret SSH-nøgle kan logge ind. Sikkerhedskopier dine private nøgler i mindst to steder, du har tillid til.

For at indstille dem skal du redigere SSH-konfigurationsfilen ved hjælp af vi eller en anden tekstredigerer med kommandoen:

$ sudo vi / etc / ssh / sshd_config

Sørg for, at følgende linjer er indstillet og uden bemærkninger - hvilket betyder at linjerne er i filen, og de er ikke forud for et hash-tag-symbol, som markerer en linje som en kommentar og ignorerer den til konfigurationsformål:

# Autentificering: LoginGraceTime 120 PermitRootLogin nej StrictModes ja RSAAuthentication ja PubkeyAuthentication ja AuthorizedKeysFile% h / .ssh / authorized_keys # For at aktivere tomme adgangskoder, skift til ja (IKKE ANBEFALET) PermitEmptyPasswords no # Skift til ja for at aktivere udfordrings-respons adgangskoder (pas på problemer med # nogle PAM moduler og tråde) ChallengeResponseAuthentication no # Skift til nej for at deaktivere tunnelled clear text passwords PasswordAuthentication no BrugPAM no

Den sidste linje er meget vigtig, da den vil deaktivere Pluggable Authentication Modules (PAM) eller native Linux-godkendelse, og kun tillade brugere at logge ind med en nøgle. Dernæst generer en SSH-nøgle. Du kan gøre dette med PuTTY på Windows eller med ssh-keygen kommandoen på Linux. Opret en .ssh-mappe i din brugers hjemmekatalog og en authorized_keys-fil med følgende kommandoer. Sørg for at indstille tilladelserne korrekt (ellers vil den nøglebaserede godkendelse mislykkes):

$ mkdir ~ / .ssh $ chmod 0700 ~ / .ssh $ touch ~ / .ssh / authorized_keys $ chmod 0600 ~ / .ssh / authorized_keys

Brug derefter din tekstredigerer til at redigere filen authorized_keys og indsæt i den offentlige nøgle, du genererede, så du kan logge ind. Sørg for at genstarte SSH for at sikre ændringerne træder i kraft ved hjælp af kommandoen:

$ sudo systemctl genstart ssh

Firewall

Når du har låst SSH, skal du sikre dig, at iptables firewall kører på din Pi. For et godt mål kan du konfigurere firewallen, så den logger en besked, når en firewall-regel er aktiveret, og en forbindelse er blokeret. Først sørg for at iptables er installeret ved hjælp af kommandoen:

$ sudo apt-get installer iptables iptables-vedholdende

Bemærk at brug af iptables-firewall kræver, at nye kernemoduler indlæses. Den nemmeste måde at indlæse dem på er at genstarte din Pi. Når først iptables er installeret, skal du gå videre og kontrollere de nuværende iptables-regler med kommandoen:

$ sudo / sbin / iptables -L

Dette vil liste reglerne, som sandsynligvis er tomme. Du kan gemme disse regler til en tekstfil og redigere den ved hjælp af kommandoen:

$ sudo / sbin / iptables-save> /etc/iptables/rules.v4

Dette er den fil, som iptables-vedholdende bruger, når dit system starter eller genstarter for at sikre, at firewall stadig kører. Gem, rediger derefter filen, så den ser lidt ud som følgende (ændrer de regler du har brug for):

$ sudo cat /etc/iptables/rules.v4: INPUT ACCEPT [0: 0]: FORWARD ACCEPT [0: 0]: OUTPUT ACCEPT [0: 0] # Tillader all loopback (lo0) trafik og slipper al trafik til 127 / 8, der ikke bruger lo0 -A INPUT -i lo -j ACCEPT -A INPUT! -i lo -d 127.0.0.0/8 -j REJECT # Accepterer alle etablerede indgående forbindelser -A INPUT -m-state -state OPSTILLET, RELATERET -J ACCEPT # Tillader al udgående trafik # Du kan ændre dette for kun at tillade bestemt trafik - A OUTPUT -J ACCEPT # Tillader SSH-forbindelser # - -portnummeret er det samme som i / etc / ssh / sshd_config -A INPUT -p tcp -m state -state NEW --port 22 -j ACCEPT # log iptables benægtet opkald (adgang via 'dmesg' kommando) -A INPUT -m grænse --limit 5 / min -j LOG -log-præfiks "iptables nægtet:" --log-niveau 7 # Afvis alle andre indgående - standard benægt, medmindre det er udtrykkeligt Tilladt politik: -A INPUT -J REJECT-A FORWARD -J REJECT COMMIT

Derefter skal du sikre dig, at dine iptables fungerer korrekt. Dette kan være vanskeligt, fordi du måske er eksternt tilsluttet via SSH, og hvis du har rodet noget op, vil du ikke have din forbindelse afbrudt. Heldigvis er der en kommando, der kan hjælpe dig ved at anvende regler og beder om bekræftelse på, at du stadig kan forbinde. Hvis du ikke svarer på et bestemt tidspunkt, antager programmet, at du er blevet afbrudt, og det vil rulle dine ændringer tilbage. Hvis du svarer, vil den anvende dine ændringer permanent. For at opnå dette skal du bruge kommandoen:

$ sudo / usr / sbin / iptables-apply /etc/iptables/rules.v4

Hvis alt fungerer, vil dine ændringer blive anvendt, og du kan tjekke dem med kommandoen:

$ sudo / sbin / iptables -L

Sluk, hvad du ikke behøver. Sørg for, at din firewall kun udsætter de ønskede tjenester, helst på ikke-standardporte.

Sæt det på sit eget netværk. Sørg for, at Pi er installeret på sit eget netværk, og at det ikke kan nå andre dele af netværket, mens du sikrer udgående forbindelser til internettet, er kendt og filtreret til daglig brug. Du bør ikke være i stand til at kontakte din hjemmets filserver eller andre systemer fra Pi, og dens internetforbindelse bør begrænses.

Opdateringer og sikkerhedskopier

Opdater dine pakker regelmæssigt. Tjek Raspberry Pi-webstedet for opdateringer. Du kan opsætte automatiske opdateringer ved at installere pakken "uovervågede opgraderinger" som beskrevet på den officielle Debian-wiki.

Sikkerhedskopier dine konfigurationer. Dit SD-kort mislykkes. Forvent fejl og backup dine data, eller SD-kortet som helhed, til et eksternt USB-drev som led i en krypteret pakke, fil eller filsystem.

Undgå forudinstallerede færdige billeder, hvis du kan. Hvis du bruger et forudinstalleret billede fra et sted, spørg dig selv hvorfor. Du har brug for fuld og fuldstændig tillid til skaberen, som måske har skåret hjørner og installeret sårbar software eller endda bagdøre. Dette kan endda være utilsigtet. Se om du selv kan installere billedet eller softwaren. Hvis du ikke kan eller vil det, skal du sørge for, at din Pi er i sit eget netværk og ikke kan nå andre systemer på dit netværk. Hvis din router har et DMZ-segment eller et gæst Wi-Fi-netværk, er det et glimrende valg for en Pi under forudsætning af, at kun de tjenester, du vil blive udsat for, udsættes for internettet. Hvis du absolut skal bruge et præfabrikeret billede:

  • Skift alle adgangskoder til alle konti, herunder men ikke begrænset til brugeren "pi" og "root". Softwaren, der leveres med Raspberry Pi, kan omfatte flere tjenester. Check med "netstat" for at se, hvilke tjenester der kører, og tjek din firewall og router konfiguration for at sikre, at du kun udsætter det, der er nødvendigt.
  • Genoprett SSH-nøglerne ved at udføre følgende:
# / bin / rm -v / etc / ssh / ssh_host_ * # dpkg-omkonfigurere openssh-server
  • Overvej at ændre de løbende tjenester til ikke-standardporte for at undgå drev-og massescanning af tjenesterne. De fleste angriberne er bare ude for at få ofre, der bruger standardporte.
  • Check tilbage med forfatteren af ​​billedet for opdateringer og relaterede sikkerhedsnyheder.

Sørg for kontinuitet

Hardware watchdog timer: Hvis din Raspberry Pi går i stykker mens du er på ferie, vil dine automatiske systemer også falde ned. Raspberry Pi leveres med en Broadcom hardware watchdog timer, der kan genstarte Pi i tilfælde af at det bliver unresponsive.

Heatsink: Det ville være en skam, hvis din Raspberry Pi løb for varmt på grund af vejr eller overklocking. Sørg for at have en heatsink på CPU'en for at sikre, at virkelig tunge spidser ikke slår det i stå. De koster kun et par dollars og er nemme at installere.

Logwatch: Modtag natlige e-mails, der rapporterer om de foregående dages aktiviteter og advarsler med Logwatch. Du skal sørge for, at e-mail arbejder på din Pi, men exim4-postrelæet skal fungere fint. Installer Logwatch ved hjælp af kommandoen:

$ sudo apt-get install logwatch

Dernæst juster konfigurationsfilen på /usr/share/logwatch/default.conf/logwatch.conf, så de passer til dine behov. Som standard vil Logwatch e-maile rootkontoen, så du vil sandsynligvis opsætte en slags relæ. Du kan tjekke min artikel om e-mail-relæer for yderligere rådgivning.



Du Kan Være Interesseret

VUW studerende skaber 3D-printere

VUW studerende skaber 3D-printere


Undersøgelse af broen mellem teknik og kunst med Sara Hendren

Undersøgelse af broen mellem teknik og kunst med Sara Hendren


Maker Spotlight: Pulsar Moonlight's Maria Cianfanelli

Maker Spotlight: Pulsar Moonlight's Maria Cianfanelli


Ugens tips: T-Pin Probes, Shop Fans, Clamping med Lim, og Brug Digital Calipers

Ugens tips: T-Pin Probes, Shop Fans, Clamping med Lim, og Brug Digital Calipers