OracleのVirtualBoxからVsphere 6に仮想マシンを移行するときの注意点

VsphereでDeployを行うために以下の作業が必要

  • VirtualBoxからは.ovf形式でExportする。
  • Exportしたovfファイルをテキストエディタなどで修正
    • vssd:VirtualSystemType を”virtualbox"から"vmx-07"に変更
    • rasd:ResourceType 35のSound cardを削除


To deploy a virtual machine made by VirtualBox to Vsphere, ovf file is to be modified. Procedure is as follows

  • Export VM in the ovf format
    • Change vssd:VirtualSystemType value from "virtualbox" to "vmx-07"
    • Remove Sound card of rasd:ResourceType 35 

気になるセキュリティ関連ニュース (2016/05/16)


気になるセキュリティ関連ニュース (2016/12/16)

別のPCを感染させると暗号解除できるRansomwareが報告されました。
身代金1bitcoinを支払うか2人感染させると暗号解除キーを入手できるようになっているものです。
ねずみ算的に拡散させるには子供を3人以上にするのがよいという話だった気がしますが、これは2人なんですね。

ZDNet - New ransomware lets you decrypt your files — by infecting other users
http://www.zdnet.com/article/new-ransomware-decrypts-your-files-if-you-infect-your-friends/

Netgear R7000とR6400の使用停止推奨

ZDNet - Netgear users advised to stop using affected routers after severe flaw found
http://www.zdnet.com/article/two-netgear-routers-are-vulnerable-to-trivial-to-remote-hack/

標的型攻撃でマルウェア"August"をインストールする手法を説明してあります。

ZDNet - This 'highly personalized' malware campaign targets retailers with phony customer queries
http://www.zdnet.com/article/this-highly-personalized-malware-campaign-targets-retailers-with-phony-customer-queries/

Gigazine - 画像に人間の目には見えないコードを埋め込んで広告が表示されるだけで悪質マルウェアを感染させる「ステガノグラフィー」が発見される
http://gigazine.net/news/20161212-stegano-exploit-kit/

気になるセキュリティ関連ニュース (2016/12/12)

iPadなどのロックを外せる脆弱性が発見される。よくこんなの見つけるなーという印象。

Gigazine - iOS 10.1.1のアクティベーションロックをバッファオーバーフロー攻撃で突破する方法が見つかる
http://gigazine.net/news/20161205-buffer-overflow-exploit-bypass-activation-lock-ios/




サイバー攻撃の傾向やそれに対する対応に関するレポート。

McAfee Labs 2017年の脅威予測
http://www.mcafee.com/jp/resources/reports/rp-threats-predictions-2017.pdf

私が気になった部分を抜粋

  • 解決が難しいセキュリティの課題
    • 可視化強化
      • 保護の重点がIT資産からデータ資産に移っている
      • 全ての資産を管理するのではなく、リスクを管理する方向に切り替えている
      • 対応としてはデータ分類と使用監視、取り扱いポリシー設定だがリアルタイムに脅威に対応するのはかなり大変
    • 認証情報保護
      • アカウントの振る舞いから不正なアクセスを検知するには大量のコンテキスト情報が必要でさらにプライバシーや倫理・法律上の問題がある。
    • 分散データ保護
      • 取引先へもデータは送信されることがあるが、データ漏洩の原因の70%はこのデータ送信に起因している
      • 送信前に暗号化することで、保護責任を取引先に委ねることができるが信用範囲は限定的になってしまう
      • 信用範囲を拡大するためには送信先でのデータ再利用を管理する必要がある
  • クラウドの脅威、法規制、ベンダーの対応
    • 自社で全てのレイヤの安全性を確認する必要があるプライベートクラウドより専門家が管理してくれるパブリッククラウドのほうが安全
    • クラウドでの許容範囲を明確にする必要がある。
    • パスワードやユーザが最大の弱点
      (他のサービスと類似したパスワードを使うため類推しやすい)
    • クラウドサービスの認証と社内認証システムの連携は簡単ではない
    • 企業とプロバイダの責任所掌があいまいな部分が狙われる可能性がある
    • クラウドに対する攻撃は身代金を要求するDoS攻撃が主流になる
  • IoTの脅威、法規制、ベンダーの対応
    • IoTデバイスの管理・統制やセキュリティ対策が必要となり、そのためのサービスが提供される
  • 2017年の脅威予測
    • 2017年の後半はランサムウェアの勢いが低下する
    • ハードウェアやファームウェアに対する高度な攻撃が増える
    • IoTマルウェアがホームネットワークでバックドアを開く
    • 機械学習がソーシャルエンジニアリングによる攻撃を加速化させる
      → 攻撃対象の選択で機械学習が利用される。
      (攻撃に使うメールのやりとりではない?)
    • 広告戦争の産物がマルウェアの配信を促進する
      → 広告ブロック機能を回避する技術を利用して、Malwareが配布される心配がある
    • ハクティビストがプライバシーの問題を暴露する
      → ハクティビストとは政治的・社会的な目的のためクラッキングを行う人のこと
    • 取締機関の閉鎖作戦でサイバー犯罪が減少する
      → サイト閉鎖などインフラの破壊・押収でサイバー犯罪を減少させる
    • 脅威インテリジェンスの共有が大きく前進する
      → ツールやプロセスの自動化により攻撃の情報などが広く共有され、対策がとれるようになる
    • サイバースパイ活動: 業界と取締機関が連携する
      → 各国政府によるサイバースパイ活動は今後も出てくる
    • ネットワーク機器の脆弱性を使った攻撃が出てくる可能性がある
    • 物理的セキュリティとサイバーセキュリティが連携する
      → 監視カメラ・  ドアロック制御システムなどとITセキュリティは独立していたがハッキング対策のため連携していく必要がある

気になるセキュリティ関連ニュース (2016/12/06)

米国Rule 41の修正案施行

Rule 41 — FBI Gets Expanded Power to Hack any Computer in the World
http://thehackernews.com/2016/11/fbi-rule-41-hacking.html

"Rule 41"は下記サイトによると犯罪捜査に関するルールのようです。

vocativ.com - Rule 41: How The DOJ’s New Rules Mean The FBI Can Hack You
http://www.vocativ.com/379333/rule-41-how-the-dojs-new-rules-mean-the-fbi-can-hack-you/

"It’s one of the 61 Federal Rules of Criminal Procedure, which are the guidelines for how the U.S. government conducts criminal investigations."


このルールが近年のサイバー攻撃に対応するため、FBIが遠隔でコンピュータをハッキングして
操作することが可能なように修正されたことが問題視されています。

以下のサイトによると

vpnmentor.com - 米政府に個人のコンピューターをハッキングさせるな!― ルール41の修正を阻止しよう
https://ja.vpnmentor.com/blog/fight-rule-41/?PageSpeed=noscript

   1.自分のコンピューターの位置情報を隠蔽するために「技術的な手段」を用いた場合、または、
   2.ボットネットを捜査する場合に、損傷したコンピューターが5か所以上の地域にある場合。

に米国内外問わずインターネット上全てのコンピュータに対して捜査を許可するというものです。
サイバー犯罪は位置情報を隠して実行されるので、ほぼ全てのサイバー犯罪捜査で我々のPCやSmartphoneもFBIからハッキングを受ける可能性があることになります。

気になるセキュリティ関連ニュース (2016/11/22)

中国製スマホの情報送信
ZDNet - Low-cost Android phones are secretly sending your messages and contacts to China
http://www.zdnet.com/article/blu-smartphones-secretly-sent-your-messages-and-contacts-to-china/


WiFiの電波の状態からキータイピングやモーションを解析されてしまう可能性があるらしいです。
Wi-Fi Signal Interference Can Leak Your Passwords and Keystrokes
http://thehackernews.com/2016/11/hack-wifi-password.html


イギリスでインターネットアクセス履歴の記録をISPなどに義務付ける法律が成立。
Internet connection recordsを最大1年間保管し、その情報に対して政府機関が閲覧可能になる。

ZDNet - Britain has passed the 'most extreme surveillance law ever passed in a democracy'
http://www.zdnet.com/article/snoopers-charter-expansive-new-spying-powers-becomes-law/


Gigazine - ロックがかかったiPhone内の全写真や個人情報を簡単にのぞき見されてしまうバイパス法が発見される
http://gigazine.net/news/20161118-unlock-iphone-photo-without-passcode/
・Siriに「自分の情報」を登録しない
・Siriの「ロック画面でのアクセス」を無効化しておく
・Siriに「写真」へのアクセスを許可しない
・Siri機能自体をOFFにしておく
・FaceTimeを無効にしておく
・Siriに「自分の情報」を登録しない
・Siriの「ロック画面でのアクセス」を無効化しておく
・Siriに「写真」へのアクセスを許可しない
・Siri機能自体をOFFにしておく
・FaceTimeを無効にしておく

気になるセキュリティ関連ニュース (2016/11/11)

RaaS (Ransomware as a service)
ランサムウェアがサービスとして提供されているということをいまさら知りました。。。

ランサムウェアのフランチャイズ化
Trend Microセキュリティブログ - 「Encryptor RaaS」はなぜ活動停止に至ったのか



Android (Linux)脆弱性

「Dirty COW」脆弱性の修正は12月のAndroidパッチまで持ち越し


家庭のルータを狙った攻撃。
会社のPCを家のWiFiにつないでたりするようなユーザがいる場合は注意喚起が必要







ルータを狙う「JITON」でクレジットカード漏えい、ランサムウェア被害へ


iOSも対策しないと安全じゃないという話

iOSの脆弱性「Trident」を突く「Pegasus」スパイウェアの手法などをセキュリティ企業がレポート




IoTデバイスもセキュリティの脅威にさらせれています。

史上最大級のDDoS攻撃に使われたマルウェア「Mirai」公開、作者がIoTを悪用
IoTボットネットを構築する新たなマルウェアが発見される

CiscoのNW機器でVPNのIKEv1に脆弱性 (2016/09/16)

Cisco機器でVPNのパスワード情報を不正に取得される脆弱性が報告されている。
9/27時点でパッチはまだ発行されていない模様。

詳細は以下のURL参照

ZDNet Japan: シスコ、NSA関連のゼロデイ脆弱性で注意喚起--いまだパッチ公開せず

Cisco: IKEv1 Information Disclosure Vulnerability in Multiple Cisco Products

USB Plug and Playを使ったWindows, iOSのロック解除 (2016/09/09時点の脆弱性)

GigazineでUSBブートのLinuxを使ってWindows 10やOS X El Capitanの画面ロック解除ができる脆弱性が報告されていました。

わずか数十秒でWindowsやMacのロック画面を解除するUSB接続のスティック型PC「USB Armory」



大本の記事(英文)で実際に解除する手順が確認できます。

Snagging creds from locked machines · Room362



原文からOSXについてはセッテング依存かどうかを継続テスト中とあります。

>OSX El Capitan / Mavericks (I was able to get creds on both of these but I’m still >testing to see if it was a fluke, or my own configurations)

これだと離席時に画面ロックはセキュリティ上意味がないことになりますね。。。

VBSでOSのバージョンを取得する

WMI (Windows Management Instrumentation) を使ってOSのバージョンを取得する。

SWbemServicesからOSの情報取得やシャットダウンが実行できるWin32_OperationSytemクラスを呼び出し必要な情報を取得する。


OSのバージョン番号(メジャー番号と1番目のマイナー番号)でどのWindowsOSかを判断する。


Class OSInfo
  Private m_wmi
  Private m_osset
  Private m_os
  Private Sub Class_Initialize
    dim wmi
    dim osset
    dim elem

    'SWbemServicesインスタンスを取得
    Set wmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")  
    'SWbemObjectSetインスタンスを取得 (中にはWin32_OperationSytemインスタンスが1つ含まれている)
    Set osset = wmi.ExecQuery("SELECT *FROM Win32_OperatingSystem") 
   
    for each elem in osset
      'SWbemObjectSetからWin32_OperationSytemインスタンスを取得
      'for each 以外でどのように集合内の要素にアクセスするか不明なため
      set m_os = elem
      exit Sub
    next
  End Sub

  Function getVersion()
      'OSTypeが16, 17の場合はOSTypeのみでOSが判明する。
     select case m_os.OSType
       case 16
         getVersion = "Win95"
         exit function
       case 17
         getVersion = "Win98"
         exit function
     end select

      'OSTypeが18の場合Versionプロパティの
      '第1マイナーバージョンまででOSが判明する。
     select case Left(m_os.version, 3)
       case "4.0"
         getVersion = "WinNT"
       case "5.0"
         getVersion = "Win2000"
       case "5.1"
         getVersion = "WinXP"
       case "5.2"
         getVersion = "Win2003Server"
       case "6.0"
        'Version 6以降はPC向けOSとサーバ向けOSのバージョン情報が
        '同じになるため、Captionで判断
         if right(m_os.Caption, 5) = "Vista" then
           getVersion = "WinVista"
         else
           getVersion = "Win2008Server"
         end if
       case "6.1"
         if mid(m_os.Caption, inStr(m_os.Caption, "Windows") + 8, 1) = "7" then
           getVersion = "Win7"
         else
           getVersion = "Win2008ServerR2"
         end if
       case else
         getVersion = "????"
     end select
  End Function
  Function getVerNo()
    getVerNo = left(m_os.Version, 3)
  End Function

  Function getDesc()
    getDesc = m_os.Caption & " " & m_os.CSDVersion
  End Function

  Function getHostName()
   getHostName = m_os.CSName
  End Function
End Class

IBM Sametime 8.5.2をIBM Domino 9サーバに導入する方法

Sametime 9からアーキテクチャが大幅に変わり、1台のサーバでサービスを提供するのが難しくなってしまった。

そこで、Domino 9のサーバに強引にSametime 8.5.2をインストールしてみたので
その手順をメモしておく。

まず、導入環境は以下のとおり。

  • サーバ
    • Windows server 2012 R2 (Hiper V環境の仮想サーバ)
    • IBM Domino 9.0 (既存ドメインの追加サーバとして導入)
    • IBM Sametime 8.5.2 IFR1
     
  • クライアント
    • IBM Notes 8.5.2/9.0 組み込みクライアント


以下手順

  1. 既存Notesドメインにサーバを追加
  2. 1.のサーバIDを使ってDomino 8.5.2をセットアップ
    ※Domino9ではSametime 8.5.2のインストーラのバージョン確認で引っかかるため
  3.  Sametime 8.5.2およびIFR1をインストール
  4. Dominoサーバを9.0にアップグレード
  5. Windows firewallでSametime用のポートを解放 (デフォルトはTCP1533)
  6. Sametime.ini (Dominoサーバのインストールフォルダにある)で以下のパラメータに値を追加
    • VPS_ALLOWED_LOGIN_TYPESにNotes 9組み込みクライアントの番号を追加
    • ついでにVPS_PREFERRED_LOGIN_TYPESにも同じ番号を追加

    ※クライアント番号はIBMのページを参照
  7. Domino Directoryのサーバ文書でTravelerのタブを設定

フォルダリダイレクトのルートフォルダに必要なアクセス権

Active Directoryにはドキュメントフォルダなど
ユーザプロファイルの特定フォルダのみを
ファイルサーバにリダイレクトする機能がある。

フォルダリダイレクトの設定ではルートフォルダと
呼ばれる特定フォルダに指定することができるが、
ルートフォルダには事前にアクセス権限を設定して
おかないとユーザ別のフォルダ作成に失敗してしまい
リダイレクトできない。

ルートフォルダに必要なアクセス権については以下を参照

フォルダリダイレクト


NTFSとSMB両方のアクセス権を設定する必要がある。
以下デフォルトから設定が必要なアクセス権設定の抜粋


NTFSアクセス権
対象ユーザ
(全ユーザの場合はDomain Users)
フォルダの一覧/データの読み取り、フォルダの作成/データの追加 - このフォルダのみ
SMBアクセス権
Everyone アクセス許可なし
対象ユーザ
(全ユーザの場合はDomain Users)
フルコントロール
 

オフラインファイルのキャッシュフォルダを変更する

オフラインファイルのキャッシュフォルダは
デフォルトではWindowsフォルダにある。

システムファイル用のドライブを分けている場合は
キャッシュがドライブを圧迫してしまうので、オフライン
ファイルをデータ用ドライブに移動させるほうがよい。

移行方法については以下を参照

Windows Vista でクライアント サイド キャッシュ (CSC) フォルダを新しい場所に移動する方法


レジストリ修正部分のみを大まかにいうとCSC(Client Side Cache?)用のキー”Parameters”に
”CacheLocation”という文字列値を追加してフォルダを指定する。

キーと文字列値の例は以下のとおり


キー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CSC\Parameters
フォルダ指定文字列
\??\[データ用ドライブのドライブレター]:\csc

Cisco機でping, tracerouteを停止するショートカットキー

Shift+Ctrl+6でtracerouteを停止可能

ASAのブートイメージ切替

  1. イメージファイルをdisk0に保存
  2. コンフィグモードで以下を実行
    boot system disk0:/[イメージファイル名]
    * イメージファイル名の確認はdir disk0
  3. 設定保存(wr mem)
  4. 再起動(reload)

[LotusScript] 自作プログラムでメール作成画面を開くときに署名を挿入させない

スクリプトで表題や本文に値を入れた状態でメール作成画面を開く場合、
以下のように実装する。

Dim ws as New NotesUIWorkspace
Dim db as New NotesDatabase("", "")
Dim doc as NotesDocument

call db.openMail() 'メールDBを開く

set doc = db.createDocument() '新規文書作成
call doc.replaceItemValue("Form", "Memo") 'メールフォームに設定



'-------  宛先を編集 -------------
call doc.replaceItemValue("SendTo", "CN=User1/HOGE") 'To設定
call doc.replaceItemValue("CopyTo", "CN=User1/HOGE") 'Cc設定
call doc.replaceItemValue("BlindCopyTo", "CN=User1/HOGE") 'Bcc設定



'-------  表題や本文を編集 -------------
call doc.replaceItemValue("Subject", "Test") ' 表題設定

dim rtitem as NotesRichTextItem
set rtitem = doc.createRichTextItem("Body")

~~~  本文編集(補足1参照)  ~~~


'-------  作成画面を開く ------------- 
call ws.EditDocument(True, doc, False) '編集モードでUIDocumentを開く


これで宛先や表題、本文に値が入力されているメール作成画面が開く。

メールの設定で署名を自動挿入にしている場合は本文の冒頭に署名が
追加されてしまうので注意。

署名追加を回避したい場合はreplaceItemValueで"$AutoSaveRecovered"
というフィールドを作成する(R8.5のメール設計で動作確認)

補足)よく使うリッチテキストアイテムの編集用メソッド

appendText(text): テキストを追加
addNewLine(LineNumber): 改行
appendDocLink(notesdocument, discription): 文書リンク追加

[LotusScript]スクリプト実行ユーザのメールDBを取得する

プログラム実行ユーザのメールサーバを取得したいときに、
ロケーション文書から取得するしかないと思っていたが
NotesDatabaseのopenMailメソッドで簡単に取得できることが
判明した。(知ってて当たり前?)

■opemMailメソッドを使ってメールDBを取得、サーバ名をPrintする

Dim db as New NotesDatabase("", "") '適当にNotesDatabaseインスタンスを生成

call db.openMail() 'openMailを実行するとスクリプトを実行しているユーザのメールDBを開く

Print  "メールサーバ名: " & db.Server  'メールDBのサーバ名をPrint
 

[LotusScript]文書の作成日で識別番号を発行する

文書に識別番号を付与する場合に作成日を利用することがある。
(xx-20140203-001など)

LotusScriptではFormat関数を利用して自動発番を以下のように実装する

  1. 文書を作成日でソートしたビュー(vwCount)を作成
    ※第1列のデータの種類は作成日を昇順or降順にソートし値の種類をDate/Timeに設定
    1. スクリプトライブラリで識別番号取得用の関数(getID)を作成

      Function getID() as String
        Dim session as new NotesSession
        Dim db as NotesDatabase
        Dim vw as NotesView
        Dim dc as NotesDocumentCollection

        set db = session.getCurrentDatabase()
        set vw = db.getView("vwCount")  '文書カウント用のビューを取得

        set dc = vw.getAllDocumentsByKey(Today, True) '作成日が今日の文書を取得

        getID = "xx-" _  '接頭文字
        & Format(Today, "yyyymmdd") _  '今日の日付
        & "-" & Format(dc.Count + 1, "000")  '作成日が今日の文書数+1を3桁に変換
      End Function
    2. フォームのQueryOpenイベントに以下のコードを追加
      ※上記で定義したスクリプトライブラリを取り込む

      Sub QuerySave(Source as NotesUIDocument, Continue as Variant)
        Const FLD_ID = "docID" '文書の識別番号フィールド名

        Dim doc as NotesDocument

        set doc = Source.Document

        call doc.replaceItemValue(FLD_ID, getID())  'バックグラウンドでフィールドを更新
        call doc.save(True, True) 'バックグラウンド文書を保存
      End Sub