2016年12月19日

ちょっとした衝撃を受けたこと。

この記事は JPOUG Advent Calendar 2016 の19日目のエントリです。

昨日の記事は 吉川 和宏 さんの CUIでOracle Databaseリファレンスマニュアルを参照する(2016冬12.1,12.2対応版) - Keep It Simple, Stupid でした。

今回は、主題の通り、ちょっと(かなり?)受けた衝撃をお伝えします。


Oracle のライセンス体系って、ちょこちょこ変わります。

大抵は、価格に紐付くもので、ユーザにとっては悲しく、悲哀なクリスマスを過ごすこともしばしばです。。

最近、最もインパクトがあったのは、やはり SE2 でしょうか。

Standard Edition と Standard Edition One がなくなり、12c からは Standard Edition 2 の登場。

中には、涙を呑んだ方も居られたのではないでしょうか。

そんな中にあって、良いニュースもありました。

しっかり、お客様への訴求効果もあるのではないか、と思えるレベルの改良なのですが、それほど大きく打ち出されていないのが残念です。

【1 つ目。】

Advanced Security Option です。

言わずと知れた、Oracle の暗号化機能。Enterprise Edition にて使用できる有償オプションです。

以下マニュアルからの抜粋ですが、包含される機能は以下。

https://docs.oracle.com/cd/E16338_01/license.112/b56284/options.htm#CIHFDJDG


Oracle Advanced Securityに含まれる機能は、次のとおりです。

・列用の透過的データ暗号化(TDE)

・表領域用の透過的データ暗号化(TDE)

・SecureFiles用の透過的データ暗号化(TDE)

・データ・ポンプ・エクスポート・ファイルの暗号化

・RMANバックアップの暗号化

・アプリケーションへ戻される機密データのデータ・リダクション。Oracle Database 11gリリース2 (11.2.0.4)から使用可能。

○ 完全、部分的、正規表現およびランダム手法

ネットワーク暗号化(ネイティブ・ネットワークの暗号化およびSSL/TLS)と厳密認証サービス(Kerberos、PKIおよびRADIUS)は、Oracle Advanced Securityの一部ではなくなり、ライセンスが供与されているすべてのOracleデータベース・エディションに含まれるようになりました。


ほとんどが「うんうん。そうだよね」なんですが、「あれ?通信暗号化は?」と思うと、一番最後に、


「ライセンスが供与されているすべてのOracleデータベース・エディションに含まれるようになりました。」


との文字が。


遂に、Standard Edition 対応です。おめでとうございます。

【2 つ目。】

Oracle Cloud Oracle Database Cloud - Database as a Service です。


過去にも取り上げさせてもらいましたが、今や AWS をしっかりライバル視しており、打倒 Amazon と CTO も仰っていますね。

とはいえ、お客様にとってクラウド環境への移行は、やはり生半可な気持ちではいけません。

当然、ネットワーク帯域も気になるし、国内では、やはりセキュリティ対策が即持ち出されます。

その辺りで、たたらを踏んでいるお客様とも会話している中、、、今度はこんな話がありました。


以下、例によってマニュアルからの抜粋です。

https://docs.oracle.com/cd/E60665_01/dbcs_dbaas/CSDBI/GUID-6C18CC56-223B-4373-B5F6-2F70CBA72975.htm


Database as a Serviceでの表領域の暗号化の使用

Oracle Database Cloud - Database as a Serviceデータベースでは、ユーザー作成された表領域はデフォルトで暗号化されます。

Database as a Serviceデータベースで作成する新規の表領域はすべて、デフォルトで暗号化されます。ただし、データベース・デプロイメントの作成時に作成された表領域は暗号化されません。



こちらは、初めから「うんうん?」となる文言。有難い文字の羅列です。

初めにアサインされる表領域は暗号化されていないが、ユーザ定義にて作成した表領域は、デフォルトで暗号化です。

しかも、この文言だけではアーキテクチャは不明ですが、ページを読み進めると管理コマンドの記載もあり、中に「tde」の文字が。。

なんという太っ腹です。

オラクル社のセキュリティへの取り組み強化とも受け取れる内容で、ハンパないベンダの姿勢を垣間見た様でした。


明日は 守田 典男 さんです。どうぞよろしくお願いいたします!

2015年12月19日

Cloud Time Trial.

この記事は JPOUG Advent Calendar 2015 の19日目のエントリです。

昨日の記事は r3negis さんの Oracle SQL Developer で PDB を作成してみた でした。
SQL Developer って、DB まで作れちゃうんですね。画面キャプチャも貼られていますので、是非ご参考ください。


では、私の記事です。

突然ですが、なかなかやります。Oracle Cloud.

現在、Oracle Cloud のトライアル環境が提供されています。
以前にも触ったことはあったのですが、同僚のドメインを間借りさせて
もらっていたこともあり、今回初めて、自らのアカウントを申請してみました。


いや、驚きました。
申請してから、使用可能になるまでの所要時間の短さに。


Web で Oracle Cloud のページから Database の「試してみる」ボタンを押し、
Database as a Service の「トライアルを開始」をクリックすると、
Oracleパブリック・クラウド・サービスへのトライアル・サブスクリプションのサインアップの画面に遷移します。

ここで、必要事項を入力して「リクエスト・コード」をクリックすると、
携帯電話宛に検証コードが送付されてきますので、
併せて入力して「サインアップ」をクリック。

今度は登録済みのメールアドレス宛に、トライアル使用の準備が整い次第、
メールが送られてきます。


このメールが届くのが早かった。
以前の話では、長いと数日を要すると聞いていたため「今日はここまでかー」
と思っていたら、驚いたことに数分でメールが来ました。

日々、改善を重ねているということでしょうか。


次は、Oracle Database Cloud Service にてインスタンスの作成です。
いくつか必要事項を入力して「次へ」ボタンをクリックすると、
作成フェーズに入ります。


ここで、待つこと数十分・・・
Oracle Linux6.4 + Oracle Database 12c + DB がセットアップされた状態で
提供されました。

いや、自身で OS をインストールして、設定をして、Oracle Database を
インストールして、DB を構築して、、、とやるとそこそこの時間が必要ですが、
遥かに短い時間で DB にアクセス出来る様になりました。

image.jpg


ちょっと感動。
やります。Oracle Cloud.


明日は Suzuki Shunya さんです。よろしくお願いします!

2014年12月19日

セキュリティってなんでしたっけ?

こんばんは、松下です。

これは、JPOUG Advent Calendar 2014 12/19 の小窓です。


さて、早速ですが、

猫も杓子も二言目には「セキュリティ」と発言する昨今、如何お過ごしでしょうか。

あんな問題やこんな問題がありました。

一昨年も、SQL*Plus で出来るセキュリティ対策を記事に、Advent Calendar に参加させていただきました。

Oracle でも、Audit Vault だ Firewall だ、Database Vault だ Advanced Security だ、

ファイングレイン監査だ、暗号化だ、、、

凄い状況です。

が、昨今になって、特に強く思うのです。

ACL(Access Control List) って言葉を、とんと聞かなくなったなぁ、と。

責任分掌、暗号化、SQL 監査、

大いに結構です。可能な限り固く、固くシステムを作ることは決して悪いことじゃない。

ただ、思うのは、

【まず】そこからなんですか?
~~~~~~~~

監査を入れるとパフォーマンスが、

暗号化、復号化に伴うパフォーマンスが、

そのためには Intel Xeon プロセッサー 5600 番台(が搭載する AES-NI) を実装しましょう、、、

もう一度言いますが、

大いに結構です。どんどん固く作りましょう。決して悪いことじゃない。

ただ、

データベース、作りっぱなしになってないですか?

データベースに存在するユーザ、全て把握していますか?

存在するユーザ、本当に全て使ってますか?

作ったまんま、デフォルトのパスワードから変更しましたか?

何でもかんでも DBA ロールが当たってないですか?

必要なオブジェクトへのアクセス権のみ、付与されていますか?

データベースに気を取られて、OS を疎かにしてないですか?

なんというか、、、

システムのリスクについて、

お金を払って、製品を導入すれば、みたいな風潮、ありませんか?

リスクを担保、管理、回避するのは、セキュリティベンダじゃありません。

ベンダに出来るのは、あくまでお手伝い。

暗号化したら、漏えいが完璧に防げるってことはありません。

本当に、何が必要で、

どこまで考える必要があるのか。

意外と、ベーシックなところの対処が、出来てなかったりしませんか?

Oracle も 12c から更に、

Real Application Security、regexp を使ったリダクション等、

セキュリティ機能が増えています。

いずれも Enterprise Edition 、もしくは、更に有償オプションを買って使える機能です。

これらは、本当に必要となった時に、買って、汗をかいて、設定すべきです。

ただ、今一度、ベーシックなところから、

【まず】、既存環境の設定確認から、初めてみませんか?

2013年12月13日

現実逃避

1. 「JPOUG」と「X'mas」、それぞれをアスキーコードに置き換えて覆面算を解いてください。

J + ■ = X
P - ■ = '
O + ■ = m
U + ■ = a
G + ■ = s


2. 5 つの ■ の中の唯一の素数を、下記 SQL の ■ に置き換えて実行してください。

set heading off feedback off
SELECT DECODE(SIGN(FLOOR(maxwidth/2)-ROWNUM)
, 1
, LPAD( ' ', FLOOR(maxwidth/2)-(ROWNUM-1)) ||
RPAD( '*', 2*(ROWNUM-1)+1, ' *')
, LPAD( '| |', FLOOR(maxwidth/2)+3))
FROM user_objects
, (SELECT ■ as maxwidth FROM dual)
WHERE ROWNUM < FLOOR(maxwidth/2) + 5
;


・・・ほんの少しだけ、現実逃避できましたか?w

2013年2月 8日

ご存知ですか?

こんにちは、松下です。
本日は、DBA 必達とも言えるシェル・スクリプトについて。

皆さん、ユニバーサル・シェル・プログラミング研究所をご存知ですか?
松下は、本日、某メルマガの記事で知りました。

シェルしか知らないためにシェル・スクリプトをこよなく愛する松下ですが、
そのシェルだけで、ご飯を食べてる人がいるとは知りませんでした。

よろしければ、ご参照ください。
http://www.usp-lab.com/

2013年1月31日

びっくりした。。。

こんにちは、松下です。
今年に入ってから初の記事が1月末とは。いやはや。。。

ところで、今回の記事は「気ままな日常」らしく、全く(?)Oracleと関連がございません!

ちょっと驚いたのです。
Oracleのライセンス料を調べようとPCに落としておいたSalesGuideを見ると、2011年とか2012年の文字が。一応最新版を確認しておこうと、Google先生に「oracle salesguide」と入れると、、、上位3位はとても真面目なサイトなのですが、4位に「こまねこ登場」という文字が。

ん??と思ったら、このサイトでしたw
2009年に書いた記事に11g Release2のライセンス料について調べた内容を書いており、それがランクインしていたのです。

いやはや。有り難いことです。

2012年12月12日

SQL*Plusを考察

こんにちは、松下です。
本日は、SQL*Plus について書いてみようかと思います。

Oracle に関する業務を行っていればほとんどのエンジニアが触るであろう SQL*Plus ですが、
その I/F を知る度に感銘を受けたことを思い出します。

初期は、Oracle データベースに接続して SQL 文を発行するだけのシンプルなツールという印象でした。
SET コマンドによるレポート整形が出来て便利だなと、いうくらいです。
しかし、その「SETコマンド」って何なんだ?とふとした拍子に考えたことから、SQL*Plus という I/F の奥深さを徐々に体感していきます。

まず、マニュアルが 2 冊あることに衝撃。
Oracle® Database SQL言語リファレンス

SQL*Plus®ユーザーズ・ガイドおよびリファレンス

そこで、なんとなく使っていた SET コマンドが Oracle データベースに対して発行する SQL文ではなく、
SQL*Plus 自体が有している機能だということを知ります。
そこからは、
SQL*Plus®ユーザーズ・ガイドおよびリファレンス
を読み漁ります。
そこで、ARCHIVE LOG LIST や STARTUP、SHUTDOWN コマンドなどが SQL*Plus のコマンドに属することを知ります。更に、データベースを復旧する RECOVER コマンドまで SQL*Plus の機能でした。

このツールはなんなんだと。
これが使いこなせる様になると、デフォルトでどこにでも入っているわけですから、どこに行っても対応できるのではないかと。

それ故に、SQL*Plus のセキュリティも大事です。
伝わりますでしょうか。Oracle データベースのセキュリティも大事ですが、SQL*Plus という I/F にもセキュリティの概念があります。

具体例1)PRODUCT_USER_PROFILE表
特定のユーザーに対して、SQL 文や SQL*Plus コマンドの使用を制限できます。
中には、SELECT/INSERT/UPDATE/DELETE といった一般的な DML 文も含まれます。
つまり、Oracle データベースでは AUDIT により特定の SQL 文を監査する機能、スキーマや GRANT 文による権限を制限する機能があり、更に SQL*Plus という I/F でも発行するコマンドそのものを制限することが可能です。

具体例2)RESTRICTオプション
OS とやり取りを行うコマンドの使用を制限できます。
HOST コマンドなど、直接 OS コマンドが発行出来てしまいますので、取り扱い厳重注意です。


などなど。
セキュリティが大変厳しくなってきた昨今、弊社にご依頼いただく DBA 業務でもセキュリティを勘案したいお話はよくあります。改めて、身近な、デフォルトでどの環境にも実装されている I/F のセキュリティにも、目を向けてみてはいかがでしょう。

2012年8月14日

権限昇格の脆弱性対応:Oracle Database Security Alert for CVE-2012-3132

こんにちは、松下です。

取り急ぎ。
Oracle Database に権限昇格の脆弱性が見つかりました。
早速パッチが公開されましたので、早期の適用が推奨されます。

http://www.oracle.com/technetwork/topics/security/alert-cve-2012-3132-1721017.html

どうやら INDEXTYPE CTXSYS.CONTEXT に Bug があり、Create Table 権限を付与されているユーザは SYS 特権が得られるケースがある様です。

脆弱性の影響を受けるシステムは、Oracle Database 10.2.0.3/10.2.0.4/10.2.0.5/11.1.0.7/11.2.0.2/11.2.0.3。2012/7月リリースのパッチを適用した11.2.0.2および11.2.0.3では影響ないとのこと。

セキュリティアラートなため例によって仔細な情報は無く、Oracle Text が構成されていなければ影響ないのか、CTXSYS がロックされていれば影響ないのか、等は不明です。

新規情報が得られれば更新します。

2012年7月23日

JPOUG> SET EVENTS 20120721

こんにちは、松下です。
JPOUG> SET EVENTS 20120721に参加してきました!
想像以上の参加者数で、200名弱はいらっしゃったんじゃないでしょうか。
著名人も多数来られていて、大変良い刺激を受けた時間でした。

松下が参加したセッションは、LT(Lightning Talk)という5分間のプレゼン。
プレゼン自体の経験はあるものの、5分というのは初めてで、色々始めての試みを詰め込んでみました。
完全紙芝居形式で沢山数字を出しましたので、もし後から見たいと思ってくださる方がいらっしゃれば、
slideshare にアップしておきましたので、ご参照ください。

最後に、
運営された皆様
お手伝いされた皆様
喋られた皆様
会場にお越しいただいた皆様
お疲れ様でした!

2012年5月30日

Oracle VM 3.1登場

こんにちは、松下です。

Oracle VM 3.1 がリリースされました。
ダウンロードリンクを辿ると Edelivery にナビゲーションされます。そこでは Ver. 3.1.1 となっていましたね。

残念ながら、マニュアルのローカライズはまだの様で。
日本語マニュアルは 3.0 が最新でした。

http://www.oracle.com/technetwork/jp/content/vm-093319-ja.html

英語版で 3.1.1 は↓

http://www.oracle.com/technetwork/documentation/vm-096300.html