カテゴリー: PC-OS-IT
CATEGORY ARCHIVE
minipcにIPFireを入れたのでついでにOpenVPNも導入してSSH接続とリモートデスクトップ接続を可能にした。
前提
- ミニPCにIPFireを設置
- 想定使用はwindowsタブレット、接続先はgreen内のサーバー
ステップ1(Global Settings)
Services --> OpenVPN でGlobal Settingsのエリアを設定する。注意点は以下
- local vpn hostname/IP の部分:FQDN(グローバルドメインネーム or グローバルIP)を設定
- openvpn subnet 部分:private IPアドレスの範囲設定(192.168.xxx.0/255.255.255.0)
- tls channel protection をチェックする
- encryption を aes-gcm(256 bit) に変更する
これでsaveする
ステップ2(Generate Server certificates and keys)
Generate Root/Host certificates ボタンをクリック
注意点
- ipfire's hostname 部分:FQDN(グローバルドメインネーム or グローバルIP) ?
- country : Japan
Generate Root/Host certificates ボタンをクリック
ステップ3(Connection Status and Control)
Addをクリックし次に進む。 以下注意点
・Client configuration
coneection type: roadwarrior
Addをクリック
connectionエリア
Authentication/Generate a certificate エリア
- user's full name or system hostname:使う予定のタブレットの実際のhostnameを入力した
- PKCS12 file passwordも入力した
ここまでしたら、Saveする
ステップ4(firewall rulesの調整)
- source: openvpn any , destination: green any , accept , log
add , apply change
- source: any , destination: red any , accept , log
add, apply change
ステップ5(タブレットPCにopenvpnを導入)
タブレットPCにclientソフトとして、openvpn GUI for windowsをインストール
ダウンロードサイトは例えばここ
ステップ6(関連ファイルをclient PCに入れる)
- Dynamic OpenVPN IP address pool のところのdownload client packageをクリック
- ダウンロードしたファイルを展開
- client pcに展開したファイルを移動
- clientpcのc:\program files\openvpn\config配下に上記ファイルを格納
ステップ7(openvpn用のポート開放とポート転送)
ルータで行った
ステップ8(openvpnの起動とテスト)
- start openvpn serverをクリックして起動
- 別ネットワークからクライアントPC上でopenvpnを起動し接続する
- ssh接続可能か、リモートデスクトップ接続可能かテストする
※理由はまだ不明だがリモートデスクトップ接続で画面が真っ暗な事がある。問題ない場合もあり
追補 androidクライアントの場合
"openvon connect"アプリではエラーとなり繋がらず。 "openvpn for android"だと接続できた
前提環境
ipfireをインストールと基本設定が完了している事
IPS(Intrusion Prevention System)導入のステップ
1. IPSルールセットのprovider登録
「https://wiki.ipfire.org/configuration/firewall/ips/rulesets」を参考にして選ぶ。
Firewall -> Intrusion Prevention 箇所のRule Setingsで、Add providerをクリックし、
rule set providerを選ぶ
無料かつ登録不要の「Emergingthreats.net Community Rules」と「Snort/VRT GPLv2 Community Rules」を選んだ。
2. 「https://wiki.ipfire.org/configuration/firewall/ips/rule-selection」を参考にして、
Customize rulesetをクリックし、実際に適用するルールセットを選択する。
3. IPSを有効にする
「 Enable Intrusion Prevention System」、「Enabled on RED」、「 Enabled on GREEN」
をチェックしてsaveしIPSを有効にする
4. ログで必要なアクセスがブロックしていないかを確認する。
dual lan構成のミニPCにipfireを実装し、既存webサーバー用のutmに仕立てる
背景
最近intel n100搭載のミニPCが話題になっている。dual lan搭載の品もあったので、セキュリティ強化のためにutmの構築を試してみようと考えた。 記録として残す。
ミニPCの仕様概略
CPU: Intel n100 メモリー: DDR5 16GB Lan: 1G x 2 wi-fi(※): 2.4G/5G
追加でSSD増設済み
※ 技適マークがついている事確認済み
現構成イメージと予定構成イメージ
事前に確認必要な点
1. ミニPCのLANポートのMACアドレス 及び wifiカードのMACアドレス
(ミニPCのwindowsから、ipconfig /all にて確認)
2. wifiカードの品名・サポートするwifi規格・サポートするwpa種別
・品名は直接目視か、デバイスマネージャーから調べる
・wifi規格は、wifiカードだけでなく制御用PCについても確認
・wpa種別についても、wifiカード及び制御用PCについても確認
(netsh wlan show driversで、ノートPCがwpa3を未サポートであった)
3. SSD増設
(ipfireのインストールでデバイスをまるまる使うので増設が必要)
ipfireのインストール
一般的な手順にて増設したSSDにインストール
書き込みツール: rufus
ダウンロードサイト: https://www.ipfire.org/
ipfireのsetup
ブートから始める
ローカルドメインネームは何でも良さそう。rootパスワードはコマンドやSSH用、adminパスワードはWebUI用 ファイルシステムはext4を選択する。
初期設定中に次のネットワーク設定に進む。
ネットワークの最初の設定
初期化中もしくはその後のrootからのsetupコマンドで設定
1. Network configuration type
Green + Red + Blue を設定。 最初はGreen + Red でしておいと後から変更も可
2. Drivers and card assignments
MACアドレスでどれがどれか確認しながらGreen, Red, Blueに対してアサインしていく
3. Address settings
Red, Greenに対して下記ページを参考に設定する
( https://wiki.ipfire.org/installation/step5 )
ネットワーク追加設定
1. hostapd addonを導入
webuiから、Ipfire -> Pakfire と進みhostapd addonをインストール
参考:https://teklager.se/en/knowledge-base/ipfire-wifi-blue-interface-configuration-instructions/
:https://wiki.ipfire.org/addons/wireless
2. Blue用のwifiアクセスポイントの設定を行う
webuiから、Ipfire -> WlanAP
以下の様に設定していった
SSID:
HW Mode: 802.11gn とした。 最初、802.1acで失敗したため。
HT Caps : [HT40-][HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40] とした。
https://wiki.ipfire.org/hardware/networking/mpcie を元に類推して設定
SSHアクセスを可能にする
webuiで、System -> SSH access から、SSH Accessを有効にする。
なお、greenへのSSHアクセスは、blueのgatewayにSSH接続後そこからSSH接続する。
制御用PCからのwebui制御を可能にする
1. DHCPサーバーの設定
Network -> DHCP Server からIPの範囲 等を設定する
参考:https://wiki.ipfire.org/addons/wireless
2. blueゾーンにPCを登録する
Firewall -> Blue Access から、MACアドレスとアサインするIPアドレスを登録する
3. BlueからGreenにアクセス可能にする
Firewall -> Firewall Rules から、Incoming Firewall Accessの設定する。
制御用PCのIPアドレスからGreenへのアクセスを許可する
参考:https://wiki.ipfire.org/configuration/firewall/accesstoblue
サーバーへポート転送を行う
Firewall -> Firewall Rules から転送ルールを設定する
参考:https://wiki.ipfire.org/configuration/firewall/rules/port-forwarding/red_to_server_on_green
その他調整
1. サーバー側のIPアドレスを調節する。
固定アドレスからDHCPによる設定に変更し、ipfire側からMACアドレスから新しく設定するIPアドレスを割り当てる様にする
2. サーバーのIPアドレスの変更に伴い、apacheの’.httaccess’ファイルでのアクセス制御を調整
3. サーバーのIPアドレス変更に伴い、サーバーへのアクセス用ファイルを調整(例:hosts)
各機を再起動してテストして終了。
次は、firewall機能を設定していく。
windos7パソコンをwindows10に変えたのでその記録
背景
windows7がサポートされなくなり、アラームも出されることが起きてきたので、常用使用からはずしたPCがあった。廃棄や売却も考慮して、windows7で再セットアップしようとしたが、うまくいかず。理由は不明だが、再セットアップ用CD(DVD?)を作成してから時間が経ち、DVDドライブ変更やSSDに換装などのせいかも。
webでいろいろ初期化を調べていたところ、windows10にアップグレードできる事がわかったので、windows10に設定を引き継がずないオプションでアップグレードした。
PCの仕様
NEC製ValueStar Windows7 Home premium(64 bit) 8GBメモリー SSDに換装
事前確認
windows7のプロダクトキーを確認
- PC等に貼付されている証紙から確認 もしくは
- プロダクトキー抽出ソフトを使って確認
- EaseUS Key Finder 又は
- Windows Product Key Viewer
※ regeditからのHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion やコマンドプロンプトからのコマンド等では正しいキーを抽出できなかった
手順と注意
1. http://www.microsoft.com/ja-jp/software-download/windows10 にアクセスしてインストールUSBメモリーを作成する
※ 「このPCを今すぐアップグレードする」はエラーとなったので、上記方法を使う
2.上記USBメモリーからwindows10をインストールする。 途中の再起動の場面では、案内が表示されないがUSBメモリーを抜く。
また、アカウント作成の場面ではLANケーブルを抜く/wifiドングルを抜くなどすればskipできる
参考にさせていただいたサイト
IPv4回線lanとv6プラス回線lanの2つのlanからアクセス可能にするため、既存のlanケーブル接続に加えてwifi接続を追加した。
背景
内部lanが2つあるので、両方のlanからNASにアクセス可能にしたい。lanケーブルで接続していたが、USBタイプのwifiドングルでの接続を追加をめざす。
なお、NASはSynology DS2118Playを使用。
試行
試行1 TP-LINK Archer T2U Nano (写真の左端)
認識されず。synologyのサイトによると、サポートされていない。
SSH接続できる様にし、かつ、GCCも導入したが、aarch64用にコンパイルできる適当なdriverが見当たらず。
試行2 IO-DATA WN-G150VMW (写真の真ん中)
認識されず。synologyのサイトによると、サポートされていない。
試行3 Buffalo WLI-VC-GNM (写真の右端)
認識され、wifi接続が可能になった。
結果 特定のwifi adaptorで接続できた。
V6プラス光回線でのVPNの設定までに、様々な問題に直面した。その顛末を残す。
前提となるネット環境
回線は、V6プラスセッションと固定IP(ipv4)セッション。V6プラス回線側にもraspberry piを接続し、そのraspiにwireguardでVPNを設置する。自宅外からVPN接続は、喫茶店のフリーwifiもしくはスマホ経由のテザリングを利用して自宅raspiに接続する事を想定している。
ONU: PR-S300SE ルーター: Aterm WG2600HS2 mobile sim: IIJmio (ipv6可能)
IPv4でwireguard設定トライとNG数々
wireguardを設定し、自宅では接続できたが、自宅外から試すもpingが返ってこない。 ここから、数々の試行が始まる。
・ルーターをオートecoモードにしていたせいでは?
ecoモードを無効にする。 ==> NG:変わらず
・raspi側でwifi落としているのでは?
raspiのpowerマネジメントをオフにする => NG:変わらず
・通信していないと切断されるのでは?
2分ごとにpingを送ってみる ==> NG:変わらず
・別の部屋に置いていたので電波強度が弱いとうまく行かない?
電波強度を50%から100%に戻す ==> NG:変わらず
・5G wifiだと切断されるのでは?
2.5G wifiに変えてみる ==> NG:変わらず
・念のためwifi切断があればリンクアップする
ping返らなければリンクアップ ==> NG:変わらず
※リンクアップ記録とっても発動なし
・wifiをあきらめて有線接続では?
有線接続に変更 ==> NG:変わらず
・帰宅後、ルータに繋がっているwindowsPCを起動してみる ==> 接続:変化あり
・帰宅後、raspiから外部(8.8.8.8)へping ==> 接続:変化あり
・そもそもwireguard用udpが届いているか?
ufw logでudp届いているかチェック ==>NG: 届いていない
(sudo ufw logging mediumが必要だった)
・ipv6ではどうか? ==>届いている
個人的見解その1
V6プラスでは一定時間外部へのアクセスが無いと、受信時IPv4へ変換する機能を停止しているのではないか。そのため、自宅へ繋がらない
この個人的結論の後、wireguardをipv6で運用を目指す事に方針変更した
IPv6でwireguard設定トライとNG数々
IPv6でwireguardを設定した。自宅wifiではwireguard接続はうまく動いた。 しかし、自宅外からトライすると、pingが返らない。 以降、新たな数々の試行が始まる。
・そもそも自宅からテザリングではどうか? ==>NG:状況変わらず
・ファイアウォールやフィルタリングのため?
ファイアウォールとフィルタリングを切る ==>NG:状況変わらず
・クライアント側wireguardソフトで受信パケット0B
・調べる方法が残り少ない
wiresharkでクライアント側を調べてみる ==>Handshake request以降見当たらず
wiresharkでサーバー側を調査 ==>Handshake requestを返している
・もしかして一時ipv6アドレスが関係?
一時ipv6アドレスの使用を止めてみる ==>NG:状況変わらず(wiresharkでも)
個人的見解その2
契約しているモバイルネットワーク経由では、フィルタリングか何かされておりHandshake responseは中継されない。
暫定処置
raspiから定期的に外部へアクセスし、IPv4でwireguard接続を行う。
宛先としては、他者に迷惑をかけないように、自宅固定IP(IPv4)アドレス内のサーバーへ、「nping -c 1 アドレス」をcronで行う。
結果
やった。ようやく自宅外からwireguard接続でき、pingも返ってきた。
おわった。長かった。バンザーイ。