注目キーワード

【Raspberry Pi 】利用を開始する前に、必ずやること(セキュリティ設定のつづき)

すけろく
よし!ユーザも変更したし、自動ログインも
できないようにしたぞ!
これでやっと・・・
げんろく
それは良い心がけだな。
Wi-Fiのパスフレーズの暗号化はしたのかな?
すけろく
。。。
げんろく
今すぐやったほうがよいよ!
念のためにな。
Raspberry Pi のOSインストール、セキュリティ設定とこれまで説明してきました。
この記事では、セキュリティ設定の続きとして、Wi-Fiのパスフレーズの暗号化をご紹介します。

パスフレーズの暗号化は、必ずやったほうが良いと考えています。

ImagerなどでWi-Fiを設定した場合、Raspberry Pi内のファイルにWi-Fiのパスワードが平文で記載されます。そのままでも動作上は問題ありませんが、そのファイルを自体がリスクになる可能性があります。(盗み見されると簡単にWi-Fiへの接続を許してしまうかも)

では、さっそく、Wi-Fiのパスフレーズの暗号化を行っていきましょう!

基本的に設定はコマンドベースで行います。入力コマンドは、「コマンド」と色を付けて記載します。入力の結果出力される内容については、「出力」のような色で記載しています。
各コマンドの頭にある「$ 」はプロンプト部分なので、入力は不要です。
本記事の前提としては、以下の記事で設定を変更した環境としています。
先にこちらの記事を読まれることをおススメします。
関連記事

すけろく Raspberry Pi は、OSの書き込みも簡単で すぐに使いはじめられるな! げんろく 初期設定はちゃんとしたのか? まさか、初期設定のまま使っていることはないよな? […]

次に紹介する手順を行った際、失敗すると言わずもがなWI-Fi接続ができなくなってしまいます。そうなってもよいようにネットワーク接続がなくても作業できるような環境を準備しておくと便利です。
以前に紹介したOn-The-Go機能を使ってパソコンとRassbery PiをUSB接続して操作する記事などを事前に行っておくと、もしもの時に役立ちますので参考にしてくださいね。ちなみにおススメのキーボードやディスプレイなどは、以下の記事で紹介していますので良かったら見てください。
関連記事

こんな悩みありませんか? 「Raspberry Pi はじめたいけど、何があれば遊べるの? いくらかかるの?」 そんなご質問に答えるべく、購入品リストをまとめてみました。 本記事は以下の記事「Raspberry Piのはじ[…]

Wi-Fiのパスフレーズを暗号化する

Raspberry Pi OSでは、画面上からWi-Fi設定をするとSSIDとパスワードが平文(誰でも判読できる形)で保存されます。ここでは、そのパスフレーズを暗号化して保護する方法をご紹介します。

Wi-Fiのパスフレーズを暗号化する手順


1
コマンドプロンプトを起動して、Raspberry Pi にSSHでログインします。

$ ssh "ユーザ名"@"ホスト名またはIPアドレス".local -p ”接続ポート番号"
入力例:
$ ssh pythonpi@raspi01.local -p 54321

※「ユーザ名」は前回設定した「pi」ではない管理者ユーザを指定します。
※「接続ポート番号」は前回設定したポート番号を指定します。


2
パスワードを聞いてきますので初期パスワードを入力します。

XXXX@XXXXXXXX.local's password: "パスワード"
Linux raspi01 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l ......
$

3
まず保存されているパスフレーズを確認します。以下のように設定ファイルを開きます。

$ cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
  ssid="設定したSSID" 
  psk="設定したパスワード"  ←ここに平文で保存されている
}

※上記のように平文で保存されていたら次の手順で暗号化します。


4
パスフレーズ暗号化します。以下のようにコマンドを実行します。

 sudo wpa_passphrase "設定したSSID" "設定したパスワード" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

例:SSID: HG555-222-bg パスワード: testwifi01 の場合、次のようになります。

$ sudo wpa_passphrase "HG555-222-bg" "testwifi01" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
[sudo] password for ”ユーザ名”:  "パスワード"
network={
  ssid="HG555-222-bg"
  #psk="testwifi01"
  psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

※上記のように「psk=」部分が一見しただけでは判別できなくなります。


5
エディタで設定ファイルを開き、不要なものを削除します。

以下のコマンドは編集用エディタとしてviを使っています。
赤色の行を削除します。

$sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
[sudo] password for ”ユーザ名”:  "パスワード"
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={          ←削除
  ssid="設定したSSID"    ←削除
  psk="設定したパスワード" ←削除
}               ←削除
network={
  ssid="設定したSSID"
  #psk="PASS_PHRASE"   ←削除
  psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

※ちなみにviの操作方法としては、次の通りです。
・カーソル位置の文字を消す →「x」で消去
・カーソル位置の行を消す →「dd」で消去
・今のカーソル位置に文字を入れる→「i」で入力モード
・今のカーソル位置の一つ右に文字を入れる→「a」で入力モード
・入力モードの終了→「esc」
・保存して終了 →「:wq!」※入力モードを「esc」で解除後に入力


6
編集後の内容を確認します。

$cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
  ssid="設定したSSID"
  psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

7
修正が終わっていることを確認したら、Raspberry Piを再起動(リブート)します。

以下のコマンドを実行し、聞かれた場合は管理者のパスワードを入力します。

$sudo reboot now

8
コマンドプロンプトを起動して、Raspberry Pi にSSHでログインします。

$ ssh "ユーザ名"@"ホスト名またはIPアドレス".local -p ”接続ポート番号"
入力例:
$ ssh pythonpi@raspi01.local -p 54321

※「ユーザ名」は前回設定した「pi」ではない管理者ユーザを指定します。
※「接続ポート番号」は前回設定したポート番号を指定します。


9
パスワードを聞いてきますので初期パスワードを入力します。

XXXX@XXXXXXXX.local's password: "パスワード"
Linux raspi01 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l ......
$
接続できれば、作業は完了です。

 

どうでしたか!パスワードそのまま平文で保存されているでしょ?

初めて見たときは、ちょっと冷や汗がでて、速攻でGoogle先生で検索しまくりました。
他の方も今回ご紹介した手順で設定されていますね。

セキュリティは大事ですから。。。

今回の記事は以上になります。
皆さんのお役に立てたのであれば光栄です。