From dac703dda941e1fd4ad0f6c0934a1f937fe5d45f Mon Sep 17 00:00:00 2001 From: Steven Baltakatei Sandoval Date: Tue, 30 Jun 2020 19:46:30 +0000 Subject: [PATCH 1/1] doc(loc/README): Show how to disable swap file Disabling swap file is important for reducing probability that unencrypted data is written to disk. --- doc/location/README.html | 182 ++++++++++++++++++++++----------------- doc/location/README.odt | Bin 16124 -> 16345 bytes doc/location/README.org | 45 ++++++---- 3 files changed, 132 insertions(+), 95 deletions(-) diff --git a/doc/location/README.html b/doc/location/README.html index 11a6516..69a4789 100644 --- a/doc/location/README.html +++ b/doc/location/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Ninfacyzga-01 Manual @@ -234,24 +234,24 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 Location Logging

+
+

1 Location Logging

This document was created by Steven Baltakatei Sandoval on 2020-06-29T12:14Z under a Creative Commons BY-SA 4.0 license. It -was updated by Steven Baltakatei Sandoval on 2020-06-30T17:13Z +was updated by Steven Baltakatei Sandoval on 2020-06-30T19:44Z

-
-

1.1 Narrative

+
+

1.1 Narrative

Ninfacyzga-01 records (logs) its position in time and space using a @@ -282,23 +282,23 @@ before being processed and written to disk.

-
-

1.2 Description

+
+

1.2 Description

-
-

1.2.1 Hardware

+
+

1.2.1 Hardware

    -
  1. Raspberry Pi Zero W
    +
  2. Raspberry Pi Zero W

    See the OEM webpage for this product.

  3. -
  4. PiZ UpTime 2.0
    +
  5. PiZ UpTime 2.0

    See the OEM webpage for this product. @@ -307,8 +307,8 @@ See the OEM webpage for

-
-

1.2.2 Software

+
+

1.2.2 Software

bkgpslog : The bash script that performs the location data @@ -349,7 +349,7 @@ should be copied to $HOME/.local/bin.

    -
  1. Narrative
    +
  2. Narrative

    bkgpslog populates a 60-second buffer with NMEA data from gpsd via @@ -362,28 +362,28 @@ encrypted with age, and then written to disk.

-
-

1.2.3 Output

+
+

1.2.3 Output

    -
  1. File Formats
    +
  2. File Formats
      -
    1. NMEA
      +
    2. NMEA

      See the Wikipedia page for this.

    3. -
    4. GPX
      +
    5. GPX

      See the Wikipedia page for this. WGS84 is the datum used.

    6. -
    7. KML
      +
    8. KML

      See the Wikipedia page for this. WGS84 is the datum used. @@ -392,7 +392,7 @@ See the Wikipedi

  3. -
  4. Encryption Method
    +
  5. Encryption Method

    Files produced by the bkgpslog script are encrypted against a set of @@ -421,7 +421,7 @@ Help information for age is available by running $ age --help

      -
    1. Encryption Commands
      +
    2. Encryption Commands

      Files may be encrypted to several recipients using a command similar to: @@ -442,7 +442,7 @@ bech32-formatted public key strings.

    3. -
    4. Decryption Commands
      +
    5. Decryption Commands

      Files may be decrypted using a command similar to: @@ -462,12 +462,12 @@ The version of age used to perform the encryption

-
-

1.3 Operating Procedures

+
+

1.3 Operating Procedures

-
-

1.3.1 Initial Startup

+
+

1.3.1 Initial Startup

See OEM (Ozzmaker) quickstart guide for the BerryGPS-IMU. @@ -475,7 +475,7 @@ See OEM (Ozzmaker) -

  • Physical Setup
    +
  • Physical Setup

    BerryGPS-IMU must be electrically connected to the correct pins on the @@ -490,9 +490,9 @@ possible.

  • -
  • Software Setup
    +
  • Software Setup
      -
    1. Install Executables
      +
    2. Install Executables

      Install Raspbian 10 Buster onto an SD card image. See the Raspberry Pi @@ -523,44 +523,53 @@ Linux) in $HOME/.local/bin.

    3. -
    4. Disable Swap File
      +
    5. Disable Swap File

      -Since standard Raspbian 10 install involves copying unencrypted file -system image to SD card which is mounted by the Raspberry Pi, system -memory may be written to disk in the form of a Swap file as described -here. In order to reduce the chance that location log data is ever -written to disk, swap file functionality must be disabled. +Since standard Raspbian 10 (Buster) install involves copying +unencrypted file system image to SD card which is mounted by the +Raspberry Pi, system memory may be written to disk in the form of a +Swap file as described here. In order to reduce the chance that +location log data is ever written to disk, swap file functionality +must be disabled1.

      +

      +Raspbian 10 uses dphys-swapfile to manage a swap file. It may be +disabled persistently2 by running +the following command: +

      + +
      +sudo systemctl disable dphys-swapfile.service
      +
      +
      +

      To view the status of the swap file in Raspbian 10, run free -m:

       pi@ninfacyzga-01:~$ free -m
      -              total        used        free      shared  buff/cache   available
      -Mem:            432          86          36          21         309         268
      -Swap:            99           0          99
      +          total    used    free  shared  buff/cache   available
      +Mem:        432      86      36      21         309         268
      +Swap:        99       0      99
       

      -The swap file may be disabled by: +After disabling the swap file and rebooting:

      -pi@ninfacyzga-01:~$ sudo dphys-swapfile swapoff
      -pi@ninfacyzga-01:~$ sudo dphys-swapfile uninstall
      -pi@ninfacyzga-01:~$ sudo update-rc.d dphys-swapfile remove
       pi@ninfacyzga-01:~$ free -m
      -              total        used        free      shared  buff/cache   available
      -Mem:            432          96          33          22         302         258
      -Swap:             0           0           0
      +          total    used    free  shared  buff/cache   available
      +Mem:        432      89     214       3         128         289
      +Swap:         0       0       0
       
    6. -
    7. Automatic Start Configuration
      +
    8. Automatic Start Configuration

      Edit the user cron job list with $ crontab -e to add the following @@ -600,7 +609,7 @@ may resemble:

      The age1z2...qkv6p is an age public key string. Please see the -Key Generation section for an explanation. +Key Generation section for an explanation.

      @@ -618,7 +627,7 @@ The options are:

    9. -
    10. Log Transfer Configuration
      +
    11. Log Transfer Configuration

      Log files may be shared to other machines via syncthing. See this @@ -635,7 +644,7 @@ of this document.

    12. -
    13. Key Generation
      +
    14. Key Generation

      An age encryption key may be generated like so: @@ -643,7 +652,7 @@ An age encryption key may be generated like so:

       $ umask          # Gets current umask
       0022             # Note: This is the default umask for Raspbian 10
      -$ umask 066      # Sets umask so key.txt will have no permissions except for owner (you)
      +$ umask 066      # So key.txt will have no perms except for owner (you)
       $ umask          # Confirm umask set to 066
       0066
       $ age-keygen > key.txt
      @@ -679,8 +688,8 @@ be readable, writeable, or executable to anyone except the owner
       
  • -
    -

    1.3.2 Normal Startup

    +
    +

    1.3.2 Normal Startup

    Turn on Ninfacyzga-01 by supplying 5VDC power to the Raspberry Pi. No @@ -688,8 +697,8 @@ further interaction should be required.

    -
    -

    1.3.3 Normal Operation

    +
    +

    1.3.3 Normal Operation

    No interaction beyond continually supplying approximately 100mA of @@ -698,14 +707,14 @@ is required.

      -
    1. Log Transfer
      +
    2. Log Transfer

      Log files may be transferred by use of syncthing shared folders.

    3. -
    4. Automatic Updates
      +
    5. Automatic Updates

      The automatic-upgrades package, if installed, should automatically @@ -715,8 +724,8 @@ install security patches to packages installed via apt.

    -
    -

    1.3.4 Normal Shutdown

    +
    +

    1.3.4 Normal Shutdown

    The system may be shutdown via SSH by running: @@ -729,8 +738,8 @@ $ sudo shutdown -r 0

    -
    -

    1.3.5 Unscheduled Shutdown

    +
    +

    1.3.5 Unscheduled Shutdown

    Ninfacyzga-01 as described and setup should tolerate unscheduled power @@ -739,8 +748,8 @@ seconds worth of location data may be lost.

    -
    -

    1.3.6 End of Life Disposal

    +
    +

    1.3.6 End of Life Disposal

    LiPo batteries used by the PiZ Uptime 2.0 module should be disposed of @@ -763,10 +772,27 @@ lead-free solder.

    +

    Author: Steven Baltakatei Sandoval

    -

    Created: 2020-06-30 Tue 17:14

    +

    Created: 2020-06-30 Tue 19:45

    Validate

    diff --git a/doc/location/README.odt b/doc/location/README.odt index 5bcd1246b0442191e8b9c176c870a49cbdc0e055..43483169031e6430f002b9ea2478f0a11fa2ad67 100644 GIT binary patch delta 8762 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 R|7C*zJE#Aq!x#RC{tG1fa{mAT diff --git a/doc/location/README.org b/doc/location/README.org index ebabe81..397968f 100644 --- a/doc/location/README.org +++ b/doc/location/README.org @@ -1,7 +1,7 @@ * Location Logging This document was created by Steven Baltakatei Sandoval on ~2020-06-29T12:14Z~ under a [[https://creativecommons.org/licenses/by-sa/4.0/][Creative Commons BY-SA 4.0 license]]. It -was updated by Steven Baltakatei Sandoval on ~2020-06-30T17:13Z~ +was updated by Steven Baltakatei Sandoval on ~2020-06-30T19:44Z~ #+TITLE: Ninfacyzga-01 Manual #+AUTHOR: Steven Baltakatei Sandoval #+EMAIL: baltakatei@gmail.com @@ -131,33 +131,44 @@ Place ~age~ binary (the one compiled for ARM CPU architecture for Linux) in ~$HOME/.local/bin~. ***** Disable Swap File -Since standard Raspbian 10 install involves copying unencrypted file -system image to SD card which is mounted by the Raspberry Pi, system -memory may be written to disk in the form of a Swap file as described -[[https://ideaheap.com/2013/07/stopping-sd-card-corruption-on-a-raspberry-pi/][here]]. In order to reduce the chance that location log data is ever -written to disk, swap file functionality must be disabled. +Since standard Raspbian 10 (Buster) install involves copying +unencrypted file system image to SD card which is mounted by the +Raspberry Pi, system memory may be written to disk in the form of a +Swap file as described [[https://ideaheap.com/2013/07/stopping-sd-card-corruption-on-a-raspberry-pi/][here]]. In order to reduce the chance that +location log data is ever written to disk, swap file functionality +must be disabled[fn:ideaheap_20130731_disableswap]. + +Raspbian 10 uses dphys-swapfile to manage a swap file. It may be +disabled persistently[fn:rpf_20190702_disableswappersist] by running +the following command: + +: sudo systemctl disable dphys-swapfile.service To view the status of the swap file in Raspbian 10, run ~free -m~: #+BEGIN_EXAMPLE pi@ninfacyzga-01:~$ free -m - total used free shared buff/cache available -Mem: 432 86 36 21 309 268 -Swap: 99 0 99 + total used free shared buff/cache available +Mem: 432 86 36 21 309 268 +Swap: 99 0 99 #+END_EXAMPLE -The swap file may be disabled by: +After disabling the swap file and rebooting: #+BEGIN_EXAMPLE -pi@ninfacyzga-01:~$ sudo dphys-swapfile swapoff -pi@ninfacyzga-01:~$ sudo dphys-swapfile uninstall -pi@ninfacyzga-01:~$ sudo update-rc.d dphys-swapfile remove pi@ninfacyzga-01:~$ free -m - total used free shared buff/cache available -Mem: 432 96 33 22 302 258 -Swap: 0 0 0 + total used free shared buff/cache available +Mem: 432 89 214 3 128 289 +Swap: 0 0 0 #+END_EXAMPLE +[fn:ideaheap_20130731_disableswap] Explanation: +https://ideaheap.com/2013/07/stopping-sd-card-corruption-on-a-raspberry-pi/ + +[fn:rpf_20190702_disableswappersist] Persistant disabling of swap in +Raspbian 10 Buster: +https://www.raspberrypi.org/forums/viewtopic.php?p=1490692&sid=5c596a124b7805d6b10dab8d3d7caf16#p1490692 + ***** Automatic Start Configuration Edit the user cron job list with ~$ crontab -e~ to add the following @@ -212,7 +223,7 @@ An ~age~ encryption key may be generated like so: #+BEGIN_EXAMPLE $ umask # Gets current umask 0022 # Note: This is the default umask for Raspbian 10 -$ umask 066 # Sets umask so key.txt will have no permissions except for owner (you) +$ umask 066 # So key.txt will have no perms except for owner (you) $ umask # Confirm umask set to 066 0066 $ age-keygen > key.txt -- 2.30.2