「あなくつ」のおもちゃばこ

Blog

ActiveDirectoryで制限されているPCもリモートで操作したいんじゃ!

前回の投稿から1年も経っていたなんて・・・

とあるノートPCがあります。これは別の会社のActiveDirectoryに参加していて、VPNつないだり共有フォルダ参照したりするのに必要です。ログインするためには指紋認証も必要です。

ところで、このPCは普段の業務に使うものではなく、持ち歩いたりしないので会社に置きっぱなしにして、リモートで使いたいですよね。

ところが、このPCはADのポリシーで激しく制限されいるのでリモートデスクトップが使えません。まぁ当然ですね。

でもどうにかしてリモートで使いたいんですよ。出先で急にデータ見たりしたいことも発生するわけです。

で、どうするか考えて、UltraVNCで下記のような仕組みを用意しました。

UltraVNC Repeater

ノートPCはADのポリシーでポート空けたりできないので、VNCサーバーになれません。そのため、リピーターを別途用意して、ノートPCからはクライアントとしてリピーターに接続するようにしておきます。

リモート操作する側はリピーターを経由してノートPCへアクセスします。

ちなみに、この図は会社のLAN内で操作する前提になっていますが、会社のLANはVPNで入れるので実質インターネットがあればどこからでも操作できるようになっています。

VNCでリモートコントロール

リピーターをLinux上に作成する手順は UltraVNC SC (Single Click) com Repeater CentOS 7 あたりを参考にしました。比較的小さいプログラムのようなので、必要なライブラリがあれば素直にコンパイルできるはずです。

ノートPC側は下記のショートカットをスタートアップに置いておけば、ログインしたときに自動的にリピーターに接続させることができます。

winvnc.exe -autoreconnect ID:1000 -connect 192.168.0.10:5500 -run

ノートPC側のVNCはユーザーモードで動いているので、

  • 常にログオンした状態になっていないと接続できない
  • スリープになってもいけない
  • UACが起動すると操作不能になる

というあたりが気をつけなければならない点です。

スリープやロックの時間はポリシーで設定されていることが多いと思うので、その場合はメディアプレーヤーで音楽でもリピート再生しておいてください。

タグ : Active Directory,VNC

2018/07/29 18:15:21 | Trackbacks (0) | Comments (0) | Technology

NessusにSSL証明書をインストール

Nessusはデフォルトでは自己署名証明書がセットされています。これを信頼できる証明書機関から取得したSSL証明書に置き換える方法です。サーバーはCentOS7です。

結論

  • サーバー証明書: /opt/nessus/com/nessus/CA/servercert.pem
  • 中間証明書: /opt/nessus/com/nessus/CA/serverchain.pem
  • 秘密鍵: /opt/nessus/var/nessus/CA/serverkey.pem

証明書と秘密鍵のディレクトリが違うことに気が付かなくて小1時間。中間証明書のファイルが cacert.pem と勘違いして小1時間。まったく手こずらせやがって。

タグ : certificate,nessus,ssl,証明書

2017/07/29 17:45:18 | Trackbacks (0) | Comments (0) | Technology

CentOS6 + Apache2.2 + PHP5.3 (Module) + PHP7.1 (FastCGI)

CentOS6にPHP5とPHP7を入れたいんじゃ!ということで奮闘してみました。

もともと CentOS6 + Apache2.2 + PHP5.3 という一昔前の普通の環境が整っているサーバーへPHP7をインストールし、特定のバーチャルホストだけでPHP7を有効にできるように設定してみます。

手順は面倒なので、ポイントだけ箇条書きにしておきます。

  • yum で remi から php71 をインストール
  • mod_fastcgi の rpm をどこからか見つけてきてインストール (RPMForgeがなくなってしまったので yum からインストールする手段がわからん)
  • Apacheに下記の設定を追加
Action php71-fastcgi /php71-fcgi/php-fpm
ScriptAlias /php71-fcgi/ /opt/remi/php71/root/usr/sbin/
FastCGIExternalServer /opt/remi/php71/root/usr/sbin/php-fpm -host 127.0.0.1:9000
<Directory "/opt/remi/php71/root/usr/sbin/">
  Options None
  AllowOverride None
  Allow from all
</Directory>
  • PHP7を有効にするバーチャルホストに下記の設定を追加
<FilesMatch ".+\.php$">
  SetHandler php71-fastcgi
</FilesMatch>

こんな感じで動くんじゃないでしょうか!?

タグ : apache,centos,fpm,php

2017/01/16 04:11:32 | Trackbacks (0) | Comments (0) | Technology

2016年あけましておめでとうございます

山梨側からだと太陽が富士山の反対側に周らないから、なかなか綺麗に撮るのは難しいですね。レンズに汚れついていたし。

富士山2016年

八ヶ岳のほうがキレイに見えていて、そちらにするか迷ったのですが、縁起物ということでやはり富士山に。

本年もどうぞよろしくお願いいたします。

2016/01/03 22:40:11 | Trackbacks (0) | Comments (0) | Pastime

Apacheモジュールで404エラーの出し方2種と違い

会社が休みに入ると仕事ができていいですね(え

Apacheモジュールで処理を行った結果、404(Not Found)のHTTPステータスコードを返したい場合があります。その場合、2種類の方法があります。

  • ap_hook_handler で登録したフック関数の戻り値で404を返す
  • ap_hook_handler で登録したフック関数の引数 request_rec 構造体の status の値を変更する(戻り値は0=OKを返す)

さて、2つの違いは何でしょう。答えは、レスポンスボディに何が出力されるか、ということろに違いがあります。

Apacheのフックの処理の流れから考えてみましょう。とりあえず、今回ポイントとなっているあたりを概略図にすると下記のようになります。

正常なとき
正常なとき

エラーの時(ファイルがない)
エラーの時

Apacheがいろいろなフックを呼びだし、誰かが処理を担当してくれたらそれを返す、誰も処理してくれなかったらエラー処理して返す、という感じでしょうか。

このとき、フック関数の戻り値で404を返すと下記のように処理が流れます。

エラーの時

エラー処理のほうに流れるわけですね。よって、エラー処理で生成されたレスポンスボディが返されます。Apacheの設定で ErrorDocument ディレクティブを設定している場合、指定されているコンテンツがレスポンスされます。

一方、request_rec 構造体の status の値を変更する場合、フック関数自体はOK(処理完了)を返すので、エラーレスポンスには処理が流れません。よって、 ap_rwrite などでレスポンスボディをセットしていれば、その内容がレスポンスされます。

エラーの時

この動きは、404エラーに限らず、500(Internal Server Error)などでも同様です。

これを理解できると、

  • 引数が不正で処理が続行できない場合など、モジュールでエラーを出力したい時、なんでエラーになったのかエラーメッセージを表示しつつ 400 のステータスコードを返す
  • 引数が不正だった場合でも、ファイルのダウンロードの処理(CSVの出力など)の場合は、 ErrorDocument ディレクティブで設定された 404 ページを表示させたい

など便利な使い方ができます。

Apacheモジュール開発している人なんてあまりいないと思いますが、ご参考までに!

タグ : apache,module,モジュール

2015/12/30 20:23:08 | Trackbacks (0) | Comments (0) | Technology

2015年買ってよかったものランキング

第3位 ゴルフセット

新しい遊びが増えました。

しかーし、金かかるし、なかなかうまくならないし、今のところ費用対効果の悪い投資です。

来年はもう少しちゃんと練習しましょう。


第2位 パソコン

HDDが壊れたことに便乗して、CPU・マザボ・メモリ・HDD・ケース全面的に買い換えしました。

結構な金額になってしまったのがイタイですが、まぁ仕事道具なので必要経費です。どうぐだいじ。

i7はIvy BridgeからSkylakeに乗り換えですが、あまり早くなった気がしませんね。まぁIvy Bridgeでも全く不自由してなかったので、その程度にしかCPUを使っていないのかもしれません。

それよりも、最近のパソコンではディスクIOが体感スピードに影響していそうですよね。

機会を見てM2接続のSSDがほしいところです。(しかし再インストールは面倒)


第1位 音波歯ブラシ

マジこれいいよ!! なんで今まで使わなかったんだろう。

音波歯ブラシ使ってない人へこれを言いたくてブログを書いたようなものです。

昔の電動歯ブラシのイメージが強くて、手磨きのほうがよく磨けるっしょー、としか思っていなかったんです。ところが、ひょんなことからポケットドルツを使ってみたところ、これは案外いいかも!と思い、それならポケットじゃないドルツはもっといいでしょ!と思って入手しました。

音波歯ブラシにしてから、歯もツルツルになって口臭も減った(?)気がします。(いつまで続くかわかりませんが)最近はこれにフロスとデンタルリンスも使ってしっかりケアするよう心がけています。

歯が綺麗になったおかげで、歯石がすげー気になるようになっちゃったんですよね。歯医者行かなきゃ・・・。


2015/12/29 04:59:56 | Trackbacks (0) | Comments (0) | Pastime

PostgreSQLのデータをMySQLへインポートする自分用メモ

PostgreSQLで運用していたデータをMySQLへ移行する必要が出てきてしまったので、少しでもラクに移行できないか考えてみた。

前提条件として

  • データ型は基本の型ばかり (INT/DOUBLE/CHAR/TEXTなど。DATETIMEなども使っていない)
  • 関数・変数は使わない (SERIAL(AUTO_INCREMENT)だけ)

というテーブル構成。

  1. まずダンプファイルを作る

    pg_dump --inserts --column-inserts -f /tmp/psql.sql [DB名]

  2. SQLファイル先頭のSETコマンドを削除

  3. ALTER TABLE [テーブル名] OWNER TO [ユーザー名] を削除

  4. CREATE SEQUENCE・・・ を削除

  5. ALTER SEQUENCE・・・ を削除

  6. ALTER TABLE ONLY・・・ を削除

  7. テーブル定義を置換

    • CHARACTER > CHAR (型の読み替え)
    • REAL > FLOAT (型の読み替え)
    • DOUBLE PRECISION > DOUBLE (型の読み替え)
    • TEXT DEFAULT ''::text > TEXT (TEXT型にデフォルト値を設定できない)
    • ''::bpchar > '' (デフォルト値の型明示を削除)
  8. データを置換

    • (\s+)' > ' (CHAR型だったカラムはパディングのスペース文字が入っているので削除。データ内のスペースを削除しないように注意)
  9. SERIAL型だったカラムに AUTO_INCREMENT 属性を付与

  10. SERIALの最大値を AUTO_INCREMENT の次の値へ変換 (テーブル名をうまく抜き出せるように正規表現を書いてね)

    検索正規表現: SELECT pgcatalog.setval('(.+)[^]+id_seq', (\d+), true);

    置換正規表現: SET @num = \2+1; SET @sql=CONCAT('ALTER TABLE \1 AUTO_INCREMENT=',@num); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;

  11. あとはエラーが出なくなるまでガンバレ!

タグ : MySQL,PostgreSQL,インポート,ダンプ

2015/08/24 16:23:44 | Trackbacks (0) | Comments (0) | Technology

Raspberry PiでSDカードが論理破損した時に少しでもファイルを救出するコマンド

手元のマシンがWindowsなので、VMwarePlayerとKNOPPIXで作業。

まずはSDカードをマシンに接続して、デバイスを確認

fdisk -l

Superblockのバックアップの場所を確認

mke2fs -n /dev/[デバイス]2

ファイルシステムのチェックと修復

e2fsck -f -b [Superblockのバックアップ] -y /dev/[デバイス]2

とりあえずこれで一部だけでも読めるようになる・・・、かも。

作業する前にddしておくのを忘れずに。

2015/05/21 02:53:27 | Trackbacks (0) | Comments (0) | Technology

CHドメインの移管方法(他社→VALUE DOMAIN)

最初に警告しておきますが、VALUE DOMAINではCHドメインの移管は公式にサポートしていません。下記の内容は、2015年05月現在たまたまできた、というだけですので、実行する場合は自己責任でお願いします。言っていることがよくわからない場合はやらないほうがいいでしょう。

  1. 移管元のレジストラでAuthCode(認証鍵・認証コード)を確認
  2. 「新しく移管申請を行う」の「Key」を選択VALUE DOMAINへログインし、ドメイン操作メニューの「新しく移管申請を行う」の「Key」を選択
  3. 「次のステップへ」を選択ページ中程の「次のステップへ」を選択
  4. デベロッパーツールを起動ブラウザのデベロッパーツールを起動
  5. ドロップダウンリストにCHドメインを追加ドメインのドロップダウンリストにCHドメインを追加
  6. 必要情報を入力して「移管申請」を選択
  7. 申請完了が表示されれば手続きは完了
  8. 移管が完了するのを待つ

CHドメインは、お名前.comではKey-Systemが上位レジストラのようだったので、VALUE DOMAINでも同じだろうと予測しました。VALUE DOMAINのコントロールパネルはバリデーションが甘いところがあるので、無理やりCHドメインのデータを送信してみたらできちゃった、っていう感じです。

タグ : CH,VALUE DOMAIN,ドメイン,移管

2015/05/08 16:40:18 | Trackbacks (0) | Comments (0) | Technology

2015年あけましておめでとうございます

久々にブログを見返したら、前回の更新から半年も経ってしまっていた・・・。

ちょっとこのままではマズイなと思うので、ブログに関しては今年は1ヶ月に1回は更新することにしよう。そうしよう。

ということで、皆様今年もどうぞよろしくお願いします。

2015年1月3日の富士山

2015年1月3日の富士山を4Kサイズでどうぞ。

2015/01/05 04:05:28 | Trackbacks (0) | Comments (0) | Pastime

  • Top
  • Software
  • Blog
  • Laboratory
  • Profile
Search
Feeds of Blog
Archives

Copyright © 2004-2018 Ana-Kutsu All Rights Reserved.