データ保全

職業柄HDDのハードウェア故障でデータを喪失してしまう方の対応をすることがあります。
数百台のパソコンやサーバーで数年に1回有るか無いかの発生率なので、データ喪失する可能性はほぼゼロといってもよいですが、運の悪い方はいるみたいで、3年のメーカー保証期間内でもHDD故障に出会う人がいます。


HDDが故障したとしてもデータ復旧サービスを使えば数十万払えばいいのです。


とは言えない懐事情もあるので、私が考えるデータ保全についてまとめてみました。
(個人的な意見なので一般的でない場合があります。)


まずデータ保全は冗長化とバックアップの2種類に分けることができます。


冗長化はHDDが故障しても使い続けることができる様にするため。
 よくRAID-1とか5とか6構成とか表現するのがこれです。
バックアップは故意にデーターを削除しても取り戻せるようにする仕組みですね。
 ゴミ箱機能とかバックアップテープとかDVD-Rに保存とか・・・


この2種類は全く別物ですが、データを守る目的において混同している方がよくおられます。


「HDDをRAID-5構成にしているからデータは消えません!!」とかね
RAID-5とは3台以上のHDDを組み合わせて、1台にデータの一部を喪失しても復旧できる演算結果を保存し、そのほかのHDDに分割してデータを保存しますので、1台故障しても一部データと演算結果または分散保存したデータを元に完全なデータを読み出せるので安心ですね。RAID-1は2台のHDDに同じデータを書き込むことで片方が壊れても大丈夫って構成です。


確かに、構成するHDDの1台が故障してもデータを失うことはありません。でもね、削除は出来るんですよ。誤操作や故意、ソフトウェアの不具合によって削除したり、間違ったデータを上書きしたりすると、データを失う原因はHDD故障だけではないのです。


人為的なものからパソコン本体の故障、災害など様々な原因があります。


それらに対応するのがバックアップ。
ただ、バックアップは面倒です。


いつ必要になるかわからないデータを別の場所に保存する作業です。
しかも、どのくらい前のデータに戻ってもよいのか?
上書き対策は何世代前までのデータに戻したいことがあるのか?
データが必要になった時によって様々なので、完璧なバックアップって存在しない。


バックアップデータだってテープとかHDDとかDVDとかUSBメモリ、クラウドなどの記憶媒体に保存するので、それが壊れることもある。保管は金庫の中?別の場所?地球やばくね?


そんなことを考え出すと、完璧なバックアップって、無限の複製数、保存間隔はリアルタイム、無限の世代数。はっきり言って無理です。


だから保全したいデータの価値を天秤にかける。


取り合えず1台のHDDを2つのパーティションに分けてバックアップしてるから大丈夫!!なんて考えない方がいい。


とりあえず、物理的に別な記憶媒体にコピーを保存しておく。
たったそれだけで、万が一の時、完全喪失だけは防げます。



8dot3nameが無効!!

いい加減ね、8.3形式のファイル名じゃないと動かないソフトなんてゴミ箱にポイ!!ですよね。


と言いつつ、動かないと仕事にならないらしいので対応しましたよ。


これね、System Center 2012 Configuration Manager SP1のOS展開機能を使った時の問題なんですけど、Windows8用のADKから仕様が変わって8.3形式のファイル名が無効になってるんですよね。
だから、「Program Files」のショートネーム 「PROGRA^1」が保存されない。


8dot3name Short File Name settings not enabled via ADK Partition Disk step in SCCM OSD 2012 SP1


って事らしいので、このサイトに解決方法が書いてあったので、試してみたんですけどね。


始めはその他サイトでも提示されてたパーティションを作成した後に Formatで有効にしたんですけど、これ上手くいかないのです。たぶんwimを展開するときに無効化した状態で動作するっぽいです。


ということは、ブートイメージに含まれていないFSUTIL.EXEを入れないと・・・ってめんどくさいじゃん!!


もしかしたらOSイメージを展開したファイルを実行できないかなぁ~ できたら俺天才!!


って試してみたら、出来ましたよ!!


でもね、ここでハマるんですよ。タスクシーケンスに上のサイトのコマンドを入れるだけなんですけど、エラーになるんです。デバッグ用のコンソールでは動くので動かないはずはない。もしかして、何かの制限でダメなのか!!ってcmd.exe /cで試してみたりしたんですけど、うまくいかない。で、ログを読むんですけどね。SCCMのログってテキスト形式なんだけどnotepadで読めるような代物ではない!!という愚痴を言いながら該当コマンドあたりを見ると、return code 2とか正常終了した 0 じゃないんですよ。でも、そのコマンドを手打ちするとエラーもなく動くんですけどね。


ってことに半日気が付かず、タスクシーケンスはコマンドの戻り値が0を期待しているので、2とか返ってくりゃエラーになりますよね。


まぁ、無事問題は解決できたので、お行儀の悪いプログラムはきっと動くに違いない。



それにしても、今どき8.3形式なんて非推奨だし、いい加減治せよ~~~



ネットワークセキュリティーは戦わずして勝つ!!

最近ネットワークのお仕事やってないなぁ~なんて思ってしまって、愚痴っちゃおうかなぁ~なんて思いました。


一般的にインターネットと社内ネットワークや家庭内ネットワークの境界にはファイアウォールを設置するとセキュリティー面で安心という仮説があります。


ファイアウォールもUTMという部類で、攻撃検知やウイルス対策、URLフィルタリングなどの検疫技術を使って通信の内部も監視しよう!Palo Altoをはじめとする現代の(次世代)ファイアウォールではHTTP/HTTPS通信の中身を監視し、アプリケーションを認識して適切な通信規制を行うことで、よりセキュアな通信を可能とする製品が広がってきています。


でも、この辺の製品を使ったら安心だなんて思わない方がよいと思います。
攻撃者は利用可能な方法を活用して攻撃してくるわけで、どの企業においても、ほぼ例外なく許可するHTTP通信をつかって攻撃します。だから次世代ファイアウォールではHTTP通信に特化した制御を行おうとしているのです。


とはいえ、攻撃者はHTTP通信のなかでも許可された通信を使って攻撃をしようと頑張っていますので、最終的には信頼できる相手以外との通信は拒絶する必要があります。でも、インターネット上ではなりすましという技もありますので、本当に信頼できる相手なのかの確認をする必要があって、そのレベルまで行くと、信頼できる企業同士を専用線(または信頼できる閉域網)で接続する以外、方法がなかったりします。


ではそんな専用線通信しかしない企業に対し、攻撃者はどうするかといえば、社員になりすます。なりすますのが無理なら社員として堂々と潜入するのです。


このレベルで攻撃された場合、ネットワーク技術者として対抗する手段はありません。だって、相手は正社員であり、正規にアクセス権を保有する人間なので、不正アクセスではなく、業務上必要なアクセスということになります。


では、正規にアクセスすることができる社員に対し、いかに防御するか?というと、社員の行動を監視し、記録を取って、悪事を働いた際に犯人捜しをしやすい環境を作るということになります。


そりゃクリック操作などのアクションごとに画面を保存し、キー入力も記録、Webカメラ内蔵なら定期的に操作者の写真を保存。GPS付なら座標情報も、電話や会話もすべて録音。ありとあらゆる情報を取得し、保管するわけです。
プライバシーなんてありませんよ、業務すべてを監視する必要があるわけです。すかしっぺの回数や行った時間もすべて監視します。だって、すかしっぺでモールス信号やって情報漏えいを行う輩だっていないとは言い切れないでしょ?排泄物だって保管対象ですよ。カプセルに仕込んだ記憶媒体を排泄物に混入させ、下水処理場で待つ仲間に渡すことだって不可能ではない。


で、ありとあらゆる方法で社員を監視したとしても、監視システムを操作できる情報システム室の社員は故意に監視対象外にしたりすることができるので、彼らを監視する監視者が必要で、その監視者も必要、って無限に監視体制が必要です。



「絶対に安全」なんて絶対に不可能です。



じゃぁ、どうすればいいのよ!!と思うのですが、
簡単な方法は、盗む価値のある情報を保有しない。


これが一番ですね。すべての情報を公開し、価値をなくしてしまう。
公開されていれば、攻撃する必要がないし、防御する必要もない。
知りたければ公開されている情報を参照すればいいのです。


秘密がなければいいのです。



もしくは・・・・



秘密を保有していることを悟られない。


いかに攻撃対象にならないようにするか?
これこそ最大の防御ですね。




攻撃者の目的がセキュリティー対策費の増加だった場合、対策を行った時点で負けなんですよね。


攻撃者は目的を達成しているのですから。



Project Sienaで遊ぶ 第5回

お久しぶりです。Project Sienaで遊ぶ第5回目です。

今回は、先日バージョンアップでVisualsにHTML Labelが追加されたことで、まともなBlogビューアーに進化することが出来ましたので、その報告です。

手順的には第1回の続きになります。「Custom Gallery」に「Label」を追加し「Title」などブログの要素をお好みに合わせて追加していきます。






そして、ここで新機能「HTML Label」を追加し、HTML TEXTにBodyを指定します。HTML Labelは名前通り、HTMLを扱えますので、画像やリンクも表示されます。






では、プレビューを見てみましょう。
画像もリンクも表示されるようになりました。

見た目的には完成っぽいですね~





そのほかにも、機能が追加されており、今までできなかった表現も簡単に実現できるようになったようです。特にSNS連携はアピールポイントになるんでしょうね~


筆の選択に悩む

Lotus Notesなら簡単なスクリプトで実現できることを、SharePointで実現しようとすると、いろいろ難しいですね。


ってのは、言い訳みたいなところもあるけれど、こだわりというか・・・自分でブレーキをかけているのは分かるんですけどね~


ノーツって一つの掲示板を作るために、デザイナーツールを使う必要があって、このツールが最上級の機能を提供しているため、利用者の能力によって様々な掲示板というかアプリケーションを作ることができる。これはとってもいいことで、ちょっとこの項目を右に寄せたいよな~なんて思ったら簡単に実現できるし、この項目は○○のデータを引用して加工して代入することもできる。だからいつの間にか多機能な掲示板に発展(暴走)してしまう。


それに比べ、SharePointはWeb設定、SharePoint Designer、Visual Studioの3つから選ぶことになる。Web設定だけで実現できることは限られているので、必要な項目を追加、変更することは出来ても、プログラミングみたいなことはできないから、暴走してしまうことはあまりない。


基本機能で満足できない時にDesignerを使うことになるんだけど、Designerでカスタムフォームを作っても、Web上で列を追加したり変更したりすることができるので、フォームに存在しない列が出来たりすることがある。


だから、フォームのカスタマイズはあまりしない様にしたいなぁ~という意識が生まれてくる。


ノーツで当たり前のようにやってたフォームの編集や@関数だと書くの大変だから、Lotus Scriptで書いちゃえ!!みたいなことが、やったらダメ!!みたいな感じになって、自分の首を絞める。


ノーツだったらもっと早く、簡単にリリース出来ているよなぁ~と比べてしまい自己嫌悪。


「選べる」ことはいいこと反面、「選択が必要」なので、いろいろ考えてしまってなかなか前に進めない。



優柔不断な人間にとって、選択するって大変なんだよ~



とりあえず、SharePoint はDesignerで設定したリストはWebで設定できない様にロックをかけてくれるとありがたいなぁ~と思うのでした。




古い楽天市場系APIがやばい

私の管理するSharePointで使っている図書一覧で画像を表示するためのスクリプトに影響があるみたいです。
「api.rakuten.co.jp」で提供しているAPIの廃止について


今使っているAPIはまさに対象となっているバージョン。きっと忘れたころに動かなくなって気が付くんだろうなぁ~
気が付くほど利用頻度があればいいのですが・・・


ってことで、対応作業を行いました。
ただね、JSONP形式の応答内容がガラッと変わっておりまして、新しいアドレスに変更しただけだとまったく動かない。
エラー処理関係も違うので、ほとんどの場所を書き換えることに・・・


使っているAPIの管理ってのも必要ですよね~。




Project Sienaで遊ぶ 第4回

これで終わり。という話でしたが、よく考えたら、なんでこうなってるか?って説明がなかったですね。

どこが?というと、Custom Galleryの中にText Galleryがあるってとこ。

Microsoft のサンプルでもこの表現はありません。
これは、Movable TypeのREST (Data API)のレスポンス仕様が原因です。

Data APIでEntriesのListを要求すると2行の応答があります。

totalResultsとitems。
totalResultsは記事の総数、そしてitemsは記事の配列です。


だから、一つ目のCustom Galleryはitemsの行を選択するため。
そのなかの記事を表示するためのText Galleryという2重になったんです。

私としても、entriesのitemsの中身を一つ目のGalleryで選択したかったのですが、うまくいかなくて・・・こういう形になりました。


さて、次の展開は10件以上の取得とカテゴリーごとの表示を検討しているのですが、クエリーパラメータを動的に指定してREST要求を出せないとダメっぽいです。これがね、わからなくて、うまくいかないんですよねぇ~


SharePoint アイテム保管ライブラリをのぞいてみよう(2025年12月改訂)

※2025年コンテンツ検索等の機能がリニューアルされましたので修正しました。 ※2023年アカウント移行に失敗し画像を失ったので再度取得し改訂しました。 Office 365 Advent Calendar 2021  の12月16日投稿です。 警告: 個人的な理解に基づく内容、...