投稿

2月, 2024の投稿を表示しています

Ultravnc 暗号化設定

イメージ
Ultravnc の通信を暗号化する設定 鍵の生成 サーバ側(被リモート側)で DSM Plugin [Use] にチェックを入れ [SecureVNCPlugin64.dsm] を選択、[Config.] を開く ※Config. を押すと UAC画面になるがリモートでは操作不可(サービスモードでも) [Passphrase] と [Confirm] を入れて(これが接続時に聞いてくるパスワードとなる) [Generate Client Authentication Key] を押して 20240228_Server_ClientAuth_m.pubkey ←サーバへ(被リモート側) 20240228_Viewer_ClientAuth.pkey ←クライアントへ(リモート側) のような日付で始まる2つのファイルをダイアログ経由で保存 [Close], [OK] で設定画面を閉じる 鍵の配置 各ファイルをサーバ(.pubkey)とクライアント(.pkey)の UltraVNCのプログラムフォルダに置く C:\Program Files\uvnc bvba\UltraVNC  接続 ビューワーで Use Encryption: SecureVNCPlugin64.dsm を選択して接続 パスワードは鍵の生成時に入力したもの コマンドオプション -dsmplugin SecureVNCPlugin64.dsm を追加 コマンドライン例 直接接続 \vncviewer.exe -connect 10.10.55.55 -dsmplugin SecureVNCPlugin64.dsm リピーター経由 \vncviewer.exe -proxy example.com:5900 ID:123456789 -dsmplugin SecureVNCPlugin64.dsm ※-password hogehoge も利用可

VPS に Ultravnc Repeater を設置

イメージ
互いにNAT配下にある端末からリモート操作を行うため VPS(グローバルアドレス) に Ultravnc Repeater を設置 インストール手順(ubuntu, centos)とセキュリティなどのメモ 接続概要 両端末からそれぞれ リピータ へ セッション を張り、その中で リモート操作 を行う リピータは複数の接続をさばけるので、被リモート側が接続時に設定した ID(数値)をリモート側が指定してターゲット端末を選別する仕組み ※画像のポート番号はデフォルト値です(運用では変更しましょう) インストール  (ソースからコンパイルが必要らしい) ダウンロードと解凍 # wget http://www.uvnc.eu/download/repeater/uvncrepeater.tar.gz # tar -zxvf uvncrepeater.tar.gz ビルド # cd 解凍したディレクトリ # make # make install makeで makeが見つからない  や g++: が見つからない と出た場合、開発ツールが入ってないのでインストール(makeが入ってなければ gccも入ってないと思う)してからmake を再度行う. makeで警告が出るが気にしない  Ubuntu # apt install make # apt install build-essential Centos # yum install make -y # yum -y install gcc-c++ ユーザーの追加 インストール最後に uvncrep ユーザーを追加しろとメッセージが出る Ubuntu # useradd -s /bin/false uvncrep Centos # adduser uvncrep -s /bin/false 起動と終了(手動) # /etc/init.d/uvncrepeater start # /etc/init.d/uvncrepeater stop 自動起動 chkconfig や systemd が使えないようなので、rc3.d へシンボリックリンクを登録 # cd /etc/rc3.d ←Ubuntu # cd /etc/rc.d/rc3.d ←Centos # ln -s /etc/init.d/uvncrepeater S11uv

Ultravnc のリピーター使用時にサーバに登録したクライアントがセッション終了で消される

イメージ
 Ultravnc のリピーター使用時にサーバに登録したクライアントがセッション終了で消される UltraVNCのリピーターを使用する場合、サーバ(リモートされる側)にリピーターを登録(確認は List All Clients)しておいて、クライアント(リモートする側)がリピータへ接続するが、切断後、リストからリピータが消されてしまい、再接続できなくなる https://uvnc.com/docs/uvnc-repeater.html によると C:\Program Files\uvnc bvba\UltraVNC\ultravnc.ini の [admin]セクションに service_commandline=-autoreconnect ID:123456789 -connect  リピータアドレス:5500 の形式で直接記述することで、サービス起動時にリピーターへ接続するとのこと ちなみに、サーバで設定する ID は複数接続を想定した識別子だと思いますが、Viwerから接続するときには ID: が必要らしい

php の simplexml_load_string で名前空間も取得する、ものすごく雑な方法

 php の simplexml_load_string でnamespace(名前空間)も取得する、ものすごく雑な方法 simplexml_load_string では <aa:abc> 等の名前空間を取得しようとすると children 等を用いて取得しなければならず、そのまま 配列→json とならない オレオレアプリ用なので <aa:abc> → <aa__abc> というタグに置き換えるという、ものすごく雑な方法で取得してみる ※<rdf: で始まるタグを除外 しているだけ(爆     $url = 'https://example.com/hogehoge.xml' ;     $xml = file_get_contents ( $url );     $xml = preg_replace ( '/<([\/] * )(?!rdf)([a-z] + ):([^>] + )>/' , '<$1$2__$3>' , $xml );     $rss = simplexml_load_string ( $xml );     print_r ( json_decode ( json_encode ( $rss ), true ));

Gmailへの転送方法による SPF, DKIM pass可否

イメージ
Gmail による SPF, DKIM チェックが始まったので、情報を整理 2022年3月頃から、Gmailへの転送で SPFが Softfail でも警告が表示されるようになった これの回避方法は、 メールを Gmail に転送するおすすめの方法 にあるように、転送時に エンベロープ送信者を変更 して転送することで、Gmail側は転送サーバのSPFを参照するようになり、SPF は PASS となる。 ただ、この方法で迷惑メールを含むメールを転送すると、送信元=転送サーバであるため、転送サーバがspam発信元としてマークされてしまうため、 迷惑メールを受信する可能性のあるメールアカウントは絶対に避けるべき である。 (GmailのPOP3受信等で対応、ただしアカウント数制限やプッシュ不可等制約あり) 今回、SPF, DKIM 設定ドメインによる、エンベロープ送信者の変更有無を確認 受信および転送サーバ(example.com)は、さくらのレンタルサーバで .maildrop の記述は ***@gmail.com への転送とした場合 転送設定 1. エンベロープ変更 なし cc "!***@gmail.com" 2. エンベロープ変更 あり cc "| /usr/sbin/sendmail -i -f postmaster@example.com ***@gmail.com" ※コンパネからの転送先追加では 1. が設定される 転送結果 1. エンベロープ変更 なし で転送されたGmail側の判定 2. エンベロープ変更 あり で転送されたGmail側の判定 DKIMについては、送信元ドメインを判定して、どちらも PASS  SPFについては、1.エンベロープ変更なし では、送信元のSPFレコードとマッチできないため SOFTFAIL となる。(送信元のSPFレコードで ~all が設定されている場合、 -allが設定されていると FAILとなる ) 2.エンベロープ変更あり では、送信元=転送元 となるため、送信元アドレスのSPF設定に関係なく、転送元のSPFが正しく設定されていれば PASS となる。 送信元の SPF設定は、受信側で設定不可のため、エンベロープ変更により、SPFをコントロール下に置くことが可能