3
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Raspberry PiでセキュアなNASを作ろう

Last updated at Posted at 2020-09-24

みなさんこんにちは。
先輩からRaspberry Pi 3B+を御馳走して頂いたので、自宅で使うためのセキュアなNASを調理していきます。

#環境と目標

  • Raspberry Pi 3B+
  • Raspberry Pi OS (Debian 10.4ベース)
  • 500GB USB-HDD
  • ファイル暗号化にはVeraCrypt
  • ファイル共有にはSamba

LAN内にはWin10マシンとラズパイ、Androidスマートフォンがあり、各デバイスでNASにアクセス可能にする

#やってみよう
Raspberry Pi OSをインストールし、SSHでデフォルトユーザにログインした直後から話を進めていきます。

###前準備
まずはSambaをインストールします。
sudo apt install samba
Sambaを使用すると、WindowsやSMBプロトコルに対応したAndroidファイルマネージャなどでNASにアクセスできるようになります。

USB-HDDをマウントするためのディレクトリを作成します。
mkdir /home/pi/share
デバイス名はlsblkで確認できます。

マウントしましょう。
sudo mount /dev/sda1 /home/pi/share

###Sambaの設定
続いてSambaの設定をしていきましょう。
/etc/samba/smb.conf がSambaの設定ファイルです。(念のためホームディレクトリ等にバックアップしておくことをお勧めします。)

Vimなどのテキストエディタで開くと、

smb.conf
workgroup = WORKGROUP

という行があるので
各自のワークグループ名を入力してください。
(LAN内のWindowsマシンでWin+Rキーを押して名前を指定して実行にてsysdm.cpl
image.png
で、確認できます。)

そして共有したいディレクトリを指定します。
smb.confの末尾に書きましょう。

[share] #表示名
  path = /home/pi/share  #共有したいディレクトリを入力
  writable = yes
  read only = no
  force create mode = 777
  create mask = 777
  force directory mode = 777
  directory mask = 777

以上でSambaの設定は終了です。

Windowsマシンのエクスプローラー > ネットワーク > RASPBERRYPIからNAS内に読み書き可能なことを確認しましょう。

###Veracryptとは
AES等の暗号化アルゴリズムで暗号化されたボリュームを作成できるソフトウエアです。
パーティション自体も暗号化することができるという優れものです。

###実際にやってみましょう
Veracrypt自体はGUI、CLIどちらでも利用可能ですが、暗号化ボリュームの作成はGUIの方が分かりやすいと思うのでWindows側で進めていきます。

Veracryptを起動します。
image.png

左上の「ボリューム」より、新規ボリュームの作成を選択します。
image.png

暗号化されたファイルコンテナの作成を選択し、次へをクリック
image.png

ここでは隠しボリュームを使用しないので、このまま次へをクリックします

image.png
ボリュームを作成する位置は、先程構築したNAS内にしましょう。

image.png
こちらもそのまま次へをクリックしてください。

あまり大きな容量を指定するとRaspberryPiは非力なのでマウントする際に時間がかかるので容量は小さめにすることをおすすめします。

image.png
パスワードは複雑で長いものを使用することをおすすめします。

次のウィンドウで暗号化作業が始まり、完了するとNAS内に暗号化されたボリュームができていると思います。

SSHでの作業へ移ります。

###実は
Veracryptは標準のリポジトリには存在しません。(ソースコードの一部がオープンソースでないため)

なので、マウントにはZulucryptを使用します。(いちいち公式サイトに取りに行くのがめんどい)
sudo apt install zulucrypt-cli

インストールが終了したら、暗号化ボリュームをマウントするディレクトリも作成しておきましょう。
mkdir ~/volume

オープンとマウントを別々に行います。

sudo zuluCrypt-cli -O -d /(共有フォルダ)/(ボリューム名) -t vcrypt

パスワードを入力し、オープン終了までしばらく待ちます。
オープンが終了し、lsblkで確認するとzuluCryptから始まるデバイス名が確認できると思います。

sudo mount -o uid=(uid) -o gid=(gid) /dev/mapper/(デバイス名) /home/pi/volumeでマウントします。

uidとgidはidコマンドで確認できます。

###最後に

マウントした暗号化ボリュームをLAN上に共有してみましょう。

smb.confを開き、末尾に新しく設定を追加していきましょう。

[volume] #表示名
  path = /home/pi/volume  #共有したいディレクトリを入力
  writable = yes
  read only = no
  force create mode = 777
  create mask = 777
  force directory mode = 777
  directory mask = 777

sudo systemctl smbd nmbdでSambaを再起動し、確認してみましょう。

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?