Project Lockdown
今日はORACLE TECHNOLOGY NETWORK(OTN)よりProject Lockdownという記事をご紹介します。 Lockdownとは囚人を監禁するというような意味です。 この記事ではDBA向けのSecurity強化方法のレクチャーが複数の フェーズに分けて紹介されています。 今回はその中でもDBA権限の定期的な処理を Oracleのスケジューラに登録することで DBAパスワードを隠蔽しようといったレクチャーの一部を ピックアップしました。 ■ この記事のTOPページ index.html?msgid=4836604 ■ 引用ページ phase3.html#3.3 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 記事本文 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◆ Project Lockdown 3.3 Move DBA Scripts to Scheduler Background What about those rather common DBA scripts that require a database login -- for statistics collection, index rebuilding, and so on? Traditionally DBAs use the cron (or AT, in Windows) job approach to run jobs, but there are two risks here: 1.If this script needs to login to the database -- and most DBA scripts do -- the userid and passwords must be placed in the script or somehow passed to the script. So, anyone with access to this script will be able to learn the password. 2.Worse, anyone with access to the server can issue a ps -aef command and see the password from the process name. _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 英語の解釈 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◆ Project Lockdown 3.3 Move DBA Scripts to Scheduler DBAスクリプトをスケジューラに登録 Background 背景 What about those rather common DBA scripts that require a database login DBログインを必要とするような 一般的なDBAスクリプトについてどうしますか? -- for statistics collection, 統計情報を収集したり、 index rebuilding, and so on? インデクスをリビルドしたり、等々。 Traditionally DBAs use the cron (or AT, in Windows) job approach to run jobs, 昔のDBAならはjobを実行するcron(windowsならat)を使います。 but there are two risks here: しかし2つのリスクがそこには存在します。 1.If this script needs to login to the database -- and most DBA scripts do -- the userid and passwords must be placed in the script or somehow passed to the script. スクリプトがDBログインのためにユーザID,パスワードを スクリプト内に記述していたり、スクリプトに引数で 渡している場合(ほとんどのスクリプトがそうしています) So, anyone with access to this script will be able to learn the password. その為、そのスクリプトのアクセス権を持つ誰かが パスワードを知ることが可能になってしまいます。 2.Worse, anyone with access to the server can issue a ps -aef command and see the password from the process name. 悪いことにそのサーバーへのアクセス権を持つ誰かが ps -aefコマンドを発行できて、psコマンドで表示された プロセス名からパスワードを見ることができてしまう場合 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 解釈のポイント _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ that require a database login ※that以下は前述のscriptを説明 -- for statistics collection, ※さらにscriptを詳しく説明 cron(くーろん):unixの一般的なjobスケジューリングツール must be placed in the script or somehow passed to the script. ※良くあるのはシェルの中でsqlplusコマンドをパスワードつきで 直接記述したり、パスワードは環境変数などにして 別のファイルから読み込むなどの方法があります。 can issue a ps -aef command ※psコマンドは現在動いているプロセスを確認できるUNIXコマンド -aefはそのコマンドに対するオプション _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 解説 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 今回引用したのは実際の方法の説明ではなく、 それに至る前の背景の解説部分です。 実際のスケジュール方法などは実際のページで コピーペーストできるような例が記載されています。 例はrepeat_intervalでjobの実行間隔を指定していますが、 10gではwindowという概念で実行期間を定義して、 そのwindowに対してjobをアサインすることでより 柔軟な運用が可能になっています。 以下のURLにも説明が記載されています。 schedover.htm#i1106396 ___________________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ おわりに ___________________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 記述誤りなどのご指摘、 記事に関する疑問点・質問・感想・ご意見・ご感想など yakusa_oracle@yahoo.co.jpまでお願い致します。 簡単な自己紹介はこちら http://pr2.cgiboy.com/S/3191274 バックナンバー兼ブログはこちら http://imoment.web.fc2.com/ 登録・解除はこちらから http://www.mag2.com/m/0000200441.htm