2020年8月11日火曜日

Raspberry pi 3 b+のPoE給電化

PC周りの機器が増えてきたので、Raspberry piをPoE化することに

購入したのは公式のPoE HAT
Amazonだと6kくらいしたけどギフト券あったので良しとしよう


対応規格はPoE 802.3afとなっている
自宅のL2-SWはNETGEARのGS-310TPなので、atもafも対応しており問題なく利用可能

基本的にRaspberry pi本体にそのまま刺すだけで特別な設定は不要


ただ、問題なのは一緒に買ったケース側だった
間に基盤保護用のパネルが成形されているためHATが干渉して組めない
USB 2.0 to Ethernet Controllerのヒートシンクも干渉するため仕方なく撤去した


仕方ないので自己責任でぶち壊す
大枠をニッパーで割って、細かいところはカッターと棒ヤスリでざっくりと成形

これで問題なく組み込めた
ケースとRaspberry piのねじ止めもできないものの、ケースで上から押さえてあり、あまり振動の無いところに置くので問題は無いと思う



蓋を閉めてLANケーブルを指したら無事起動した
ただ、FANの音が予想よりも大きい気がする
まぁ横でベアボーン用のFANも回ってるからそこまで気にしなくてもいいのかな

2020年7月26日日曜日

iPhoneでのSSLインスペクション有効化

会社貸与のiPhone8(iOS13.6)を自宅のWi-Fiに繋げるのに、ついでだからとSSLインスペクションを有効にしているNWへ追加することにした

以下サイトを確認すると、iOSでSSLインスペクションを利用する場合は除外リストに追加した上でプロキシを経由するようにと記載があるので、Wi-Fi接続以外の設定を追加して行う




別端末でXG Firewallから証明書をダウンロードして、クラウドサービスを利用してiPhoneへ証明書を転送しておく

該当の証明書はXG Firewallの【システム】>【証明書】ページの【認証局(CA)】タブを開いて【SecurityAppliance_SSL_CA】のダウンロードボタンを押して別端末でダウンロードした


■iPhone端末設定
iPhoneの設定画面を開いて【一般】>【プロファイルとデバイス管理】からダウンロードした証明書をインストールする

インストールが完了したら【一般】>【情報】>【証明書信頼設定】を開いてインストールした証明書を有効化する

接続しているWi-Fiの右側のマークをタップしてHTTPプロキシの設定を追加する
プロキシのIPはDefault GWと同じ値、ポートはXG Firewallの初期値は【3128】なのでそのまま設定する
ローカル端末へはアクセスさせないので除外リストは空白にした

ユーザ認証は必要であればXG Firewall側でユーザを作成してPW設定したものを入れればいいか


■XG Firewall追加設定
Appleのサイトで指定されているものをHTTPS復号化の除外リストとして登録する
XG Firewallにログインして【保護】>【Web】ページの【例外】タブを開いてルールを【追加】する

上記URLに記載の【デバイスの設定】、【デバイス管理】、【ソフトウェア・アップデート】、【App Store】、【証明書の検証】からiOSが該当するURLを追加していく
【*.】となっているものはそのままではXG Firewallに登録できないので【^[A-Za-z0-9.-]*.】に置き換える


設定が完了したら適当なページ等を開いて正常性を確認する
App Storeやその他アプリも一応開いて異常がないかを確認して完了

2020年6月30日火曜日

Amazonでのkindle本の支払いでポイントやギフト券を使わない設定

今までAmazonでkindle本を購入する際は、【1-Clickで今すぐ買う】で購入するとAmazonポイントやギフト券が優先的に使われてしまい、クレジットカード払いを選べなかった

ポイントやギフト券は別途貯めておきたい性分なので、電子書籍はGooglePlaybookなどで購入するようにしていた


ただ、ふと見たら設定できるようになっていたのでいつの間にか改変されていた模様
設定は以下のページから


Amazonの【アカウントサービス】>【お客様の支払い方法】>【設定】タブ>【Kindleの支払い設定を管理】>【お支払方法を編集】ボタン



ここから【Amazonポイントを使用】と【ギフト券を使用】のチェックを外して【編集完了】を押せば設定が反映される

試しに100円程度の本を購入してみたところ、問題なくクレジットカードから引き落とされた

ただ、相変わらず【1-Clickで今すぐ買う】しか選択肢が無いのは便利なのか不便なのか

2020年6月20日土曜日

紫陽花と花菖蒲

撮影日:2020/06/06 20時頃
撮影場所:山口県岩国市 吉香公園


6月の梅雨前に紫陽花を見にいつもの公園に

若干早かったものの、ある程度の株はキレイに咲いていた


花菖蒲も見頃の物から今からのものまで色とりどり
とはいえ暖色系はあまり好みではないので、どうしても寒色系ばかり撮ってしまう




この騒動が落ち着けばもう少しゆっくり写真撮りに行ける機会が増えればいいけど

2020年6月14日日曜日

Microsoft 365 Business BasicでのDKIMとDMARCの有効化

2020/6/30までの契約でMicrosoft 365 Business Basicが半年無料で使えるとのことだったので試しに契約してみた

独自ドメイン(MSの表記上はカスタムドメイン)のサブドメインでの運用だが、DNSに記載する必要があるレコードは全て管理コンソール上で明示されるので、ほぼコピペだけで問題なく設定が完了した



ただ、Exchange Onlineで利用するメールに対してDKIMとDMARC認証を行うにはGUIだけではできなかった



まずは以下のドキュメント通りに【Exchange Online PowerShell V2 モジュール】をインストールする

PowerShellを管理者権限で開いて以下コマンドを実行
> Set-ExecutionPolicy RemoteSigned

> Install-Module -Name ExchangeOnlineManagement
#yで使用許諾証明書に同意

Exchange Online に接続する
> $UserCredential = Get-Credential

> Connect-ExchangeOnline -Credential $UserCredential -ShowProgress $true
#【Windows PowerShell 資格情報の要求】で表示されるダイアログボックスへは今回契約したMicrosoft365のアカウント情報を入力する


■DKIMを手動でセットアップする
以下のドキュメントを参考にPowerShellでコマンドを叩く

Microsoft365の初期ドメインと独自ドメインの両方に適用するため、似たような事を繰り返す
> New-DkimSigningConfig -DomainName <domain> -Enabled $false
Get-DkimSigningConfig -Identity <domain> | Format-List Selector1CNAME, Selector2CNAME
#<domain>のところを初期ドメインと独自ドメインのFQDNでそれぞれ実行する

実行するとPowerShellの画面にDNSに記載するためのレコードが発行されるのでこれをメモしておく

以下がレコードの例
selector1-<domainGUID>._domainkey.<initialDomain>
selector2-<domainGUID>._domainkey.<initialDomain>
#初期ドメインはMicrosoft365側で自動設定されるため気にする必要はない
 <domainGUID>は独自ドメインのFQDNと末尾に文字が挿入された
 <initialDomain>は初期ドメインがそのまま入る

それぞれtxtレコードのHost nameは【selector1._domainkey】と【selector2._domainkey】になっているが、独自ドメインのサブドメインを利用しいているため【selector1._domainkey.<サブドメイン>】と【selector2._domainkey.<サブドメイン>】となる

上記の情報を確認したら、DNSレコードに必要情報を登録する
その上で、Microsoft365管理センターにログインして【Exchange】からExchange管理センターへ移動、【保護】>【dkim】から該当ドメインのdkimを有効にするをクリックする
DNS情報の伝播の関係でエラーが出た際は数時間~1日程時間を空けて再試行すればいい


■DMARCの設定
DKIMさえ有効になればDMARCはレコードを追加するだけで良い
DNSに以下のtxtレコードを追加する
【Host name】 _dmarc.<サブドメイン>
【種類】TXT
【値】"v=DMARC1; p=none"




値を有効にしたのち、gmail宛にテストメールを送り、メールのソースを表示して確認すれば、問題なくDKIMもDMARCも有効化されている



G Suiteの方がこの辺りの設定は簡単なものの、個人で利用する上では540円/月で50GBの独自ドメインのメールが使えて、1TBのクラウドストレージが使えて、ついでにモバイルのアプリが使えると思えばコスパの良いサービスだと思う

今後仕事で関わる可能性も考慮した場合、安価にMicrosoftの管理者として色々設定を確認できるので、何かしらの参考にもなればいいかなとも思う

2020年6月12日金曜日

雨上がりの蛍

撮影日:2020/06/10 20時頃
撮影場所:山口県岩国市錦町府谷


今年はタイミングが悪く梅雨入り前から雨予報だったものの、夕方雨が止む予報だったので急ぎ仕事終わりに車を出した

若干の霧雨は残っていたものの、湿度も高く多くの蛍が飛んでいた


2020年6月3日水曜日

OPNsenseでのOpenVPN設定

OPNsenseにOpenVPNの設定を追加する

公式サイトにドキュメントはあるものの、TOTPによる二要素認証を利用した方法等、今回使わない情報が載ってるので少し混乱した

【 Setup SSL VPN Road Warrior 】

構成は以前の記事同様XG Firewallと並列の構成
OpenVPNで接続したクライアントはXG FirewallのIPoEトンネルを利用してインターネットに抜ける構成になる
また、PPPoE側は個人向けOCNサービスのためダイナミックDNSとしてGoogle Domains内のDNSサービスに内包されているダイナミックDNSサービスを利用する



■ダイナミックDNS設定
まずは外部アクセス用にダイナミックDNSの設定を行う

GoogleDomainsのページにアクセスして【DNS】>【合成レコード】のプルダウンから【ダイナミックDNS】を選択
今回はサブドメインで運用するので、空欄に任意のサブドメインを入力して追加する

追加したダイナミックDNSの情報を開くと【ユーザ名】と【パスワード】が表示されるので、これを後でコピペする

次にOPNsenseにログインして【サービス】>【ダイナミックDNS】のページ内右上の【追加】から設定する
設定か所は以下
【有効】にチェック
【サービスタイプ】Google Domains
【監視するインターフェース】WAN
【ホスト名】Google Domainsで作成したサブドメインのFQDN
【ユーザ名】Google Domainsからコピペ
【パスワード】Google Domainsからコピペ

保存して強制更新すると、OPNsenseのダイナミックDNSのページ内で追加したものが有効化され、取得したグローバルIPアドレスが表示される
このアドレスはGoogle Domains上にも同様の値が表示される


■内部認証局作成
【システム】>【セキュリティ】>【認証局】から新しい認証局を追加する
【説明】OpenVPN-CA #任意の値
【方法】内部認証局を作成
【鍵長】4096
【ダイジェストアルゴリズム】SHA512
【国コード】JP(Japan)
【都道府県】#任意の値
【市】#任意の値
【組織】#任意の値
【電子メールアドレス】#任意の値
【コモンネーム】#任意の値

■サーバ証明書作成
【システム】>【セキュリティ】>【証明書】から新しいサーバ証明書を追加する
【方法】内部証明書の新規作成
【説明】OpenVPN-CE #任意の値
【認証局】OpenVPN-CA #上で作成した認証局を選択
【タイプ】サーバ証明書
【鍵長】4096
【ダイジェストアルゴリズム】SHA512
国コードからしたは認証局の情報が自動転記される

■VPNユーザ作成とユーザ証明書作成
【システム】>【アクセス】>【ユーザ】からVPN用のユーザを追加する
【ユーザ名】#任意の値
【パスワード】#任意の値
【証明書】クリックすると、ユーザ証明書を作成します にチェック

保存してユーザ証明書の作成画面に移管する
【方法】内部証明書の新規作成
【説明】user-CE #任意の値
【認証局】OpenVPN-CA #上で作成した認証局を選択
【タイプ】クライアント証明書
【鍵長】4096
【ダイジェストアルゴリズム】SHA512
国コードからしたは認証局の情報が自動転記される


■OpenVPNサーバ作成
【VPN】>【OpenVPN】>【サーバ】から【新規サーバの設定にウィザードを使用】にてVPNサーバを追加する

・認証タイプ選択
【サーバのタイプ】Local User Access #初期値

・証明局選択 #誤訳?
【認証局】OpenVPN-CA #上記で作成した認証局を選択

・サーバ証明書選択
【証明書】OpenVPN-CE #上記で作成したサーバ証明書を選択

・サーバ設定
【インターフェース】WAN
【プロトコル】UDP
【ローカルポート】1194
【DHパラメータ長】4096
【暗号化アルゴリズム】AES-128-CBC(128 bit key, 128 bit block)
【認証ダイジェストアルゴリズム】SHA512(512-bit)

【IPv4 トンネルネットワーク】192.168.0.0/29 #VPNクライアントに割り当てるNW
【リダイレクトゲートウェイ】チェック入れる #VPNサーバ経由でインターネットへアクセスさせる
【IPv4 ローカルネットワーク】192.168.0.0/28

【動的IP】チェック入れる
【アドレスプール】チェック入れる



・ファイアウォールルール構成
【クライアントからサーバへのトラフィック】チェック入れる
【クライアントからVPN経由のトラフィック】チェック入れる

■作成されたFWルールの確認
【ファイアウォール】>【ルール】の【OpenVPN】と【WAN】それぞれに新しいルールが追加されている




これでOPNsense側のOpenVPN設定は完了

【VPN】>【OpenVPN】>【クライアントのエクスポート】からプロファイルをダウンロードして端末へ設定してやればつながる

androidの場合は
【Export type】ファイルのみ
として画面下の証明書からユーザ証明書のデータをダウンロードすれば利用できる


認証局や証明書を別途作成するのが面倒だったものの、サーバ自体はウィザードが用意されておりFWルールも自動作成なので設定自体は簡単だった

実スループットは回線とOPNsenseへの割り当てリソースに左右されるだろうから、実用的かどうかは様子見