A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
ログオントリガーは
ユーザーがデータベースに接続するとき
起動するトリガーです。
簡単な例を挙げます。
------------------------------------------------------------
SQL> conn / as sysdba
接続されました。
SQL> create or replace trigger logon_scotch_trigger
2 after logon
3 on scotch.schema
4 declare
5 v_program v$session.program%type;
6 begin
7 select program into v_program
8 from v$session
9 where audsid = sys_context('userenv','sessionid');
10 if v_program = 'sqlplus.exe' then
11 raise_application_error(-20000,'SQL*Plusで接続しちゃ駄目!');
12 end if;
13 end;
14 /
トリガーが作成されました。
SQL> conn scotch/whisky
ERROR:
ORA-00604: 再帰SQLレベル1でエラーが発生しました。
ORA-20000: SQL*Plusで接続しちゃ駄目!
ORA-06512: 行8
警告: Oracleにはもう接続されていません。
------------------------------------------------------------
↓OTN掲示板の関連スレッド
http://otn.oracle.co.jp/forum/message.jspa?threa …
http://otn.oracle.co.jp/forum/message.jspa?threa …
http://otn.oracle.co.jp/forum/message.jspa?threa …
http://otn.oracle.co.jp/forum/message.jspa?threa …
検索すれば他にもたくさん出てくると思います。
興味があれば研究してみてください。
# 私自身はなかなかこの手の要件がなくて
# 実戦では使ったことがないのですが……
No.5
- 回答日時:
オンコードというのは?
もしかすると、今は、クライアントがわにOracleクライアントを入れてもらってそこで手で設定している内容をツール内に埋め込んでしまうという意味ですか?
まあ、そうすれば、いちいち、クライアント側にSID等を公開する必要はありませんが、結局セキュリティーリスクの度合いはたいして変わっていませんよ。
やった方がいいのは確かですが。
実際問題としては、不特定多数がアクセスできる状態ではない場合は、そういったコードを書き換えたり、新たな投資をするよりも、監視を行い、不正があった場合にきちんとそれを確認し、それに対して処罰ができるという方向に進んだ方がいいと思いますよ。
どちらにしろ監視やロギングは必要です。もしそれだけで対処が可能であればそれで済ましてしまえば?とおもいますよ。
一応、そのツールを使用している人たちには不正アクセスはしないようにいっておけば、いざ、何かあった場合には不正アクセス防止法で守られていますので。ある程度良識があれば、会社でそうそう怪しいことはしないと思いますよ。
wildcat-ypさん 回答をありがとうございます。
又、回答が遅くなり申し訳ありません
>結局セキュリティーリスクの度合いはたいして変わっていませんよ。
それは承知しております。今回の対応は素人の出来心を抑えるのが狙いです。
>不正があった場合にきちんとそれを確認し、それに対して処罰ができるという方向に
もちろんその対応はしなければと思っています。
>もしそれだけで対処が可能であればそれで済ましてしまえば?とおもいますよ。
それで済まない情報がDBにあるということで御理解ください
また、運用もすぐに停止出来ないということを御理解ください。
以前の回答でパケットキャプチャすればSIDとユーザID、パスワードがわかると書かれいて
いましたが、実際にやってみたのですがユーザID、パスワードは暗号化されているようです。
”tnsname.ora”をダミーにしてしまうと、さすがにオラクルツールは接続できませんでしたが
パケットキャプチャーではしっかり見えていました。
今後の展開として新しいシステムを構築したいのですが、リッチクライアントでセキュリティ重視の
システム形態はどんなものか模索中です
No.4
- 回答日時:
ログオントリガーでアクセスするアプリケーションを限定する
というのはいかがでしょう。
素人がオラクルのツールを使って”ひねりもなしに”DBにアクセスできてしまう
のは防げるかもしれません。
dda167さん 回答をありがとうございます。
又、回答が遅くなり申し訳ありません
>ログオントリガーでアクセスするアプリケーションを限定する
出来れば詳しいことを教えて頂けないでしょうか
No.3
- 回答日時:
>今のままでセキュリティホールを解消できないとは思っています。
接続元が無制限であることが問題なのであれば、データベースサーバのOS側の機能で、
接続元IPアドレスを制限すれば良いかと思いますけど?
(データベースのプラットフォームが書かれていないので、具体的な操作は書けませんが。)
k_o_r_o_c_h_a_nさん 回答をありがとうございます。
> 接続元が無制限であることが問題なのであれば
社外にもクライアントPCが有りますが、VPN接続になっていますので
一応は限定されていると認識しています。
No.2
- 回答日時:
さすがにそこまでど素人がすぐにアクセスできるような状態ではないと思いますよ。
一応、SIDとユーザID、パスワードを公開しなければ良いので。まあ、少し知っている人であればパケットキャプチャすれば簡単にわかることは知っているとは思いますが。
なので、不正アクセスの禁止と、監査機能によるアクセスログ等を取り、不正があった場合にすぐに検知できるようにしておくことが有効になります。
これって社内ツールですよね?それであれば、きちんとルール化しておけばそれほど重大なことにはならないと思いますよ。
これが社外ツールであれば、ただちに運用を停止する必要がありますが・・・
wildcat-ypさん 回答をありがとうございます。
> これが社外ツールであれば、ただちに運用を停止する必要がありますが・・・
運用上の都合により社外(取引先)にもクライアントPCがあります。
ですので、最悪SID,ユーザID、パスワードが漏れてしまっても、どこかでもう一段階の
ブロックができないのかともがいております。
先ほど見つけたのですが、ODP.NET限定ですが”tnsname.ora”の記述内容をオンコードに
出来るみたいなので”tnsname.ora”をダミーにしてしまうのが一つの手かなと思うのですが
どうでしょうか?
No.1
- 回答日時:
そのクライアントツールが直接DBにアクセスするのですか?
それはそもそものアプリケーションの設計がおかしいのでは?
普通、DBサーバは許可するアプリサーバ以外からのアクセスは禁止するものです。
もしくは、Oracle自体の認証でそれぞれのアクセスできる範囲を限定する物です。
たとえば、PC側のプロセスを限定し、sqlplus.exeからのアクセスを拒否する設定が可能だったとしても、実行ファイル名を変えられてしまえば一緒です。ODBC経由でアクセスしていればそれすら必要ないかも。
なので、そのシステムは潜在的にセキュリティーホールを抱えた仕様ということです。少し知識があれば簡単にDBアクセスが可能ですので、必要があれば、不正アクセス禁止の注意書きと、アクセス履歴等の監査を使って、不正アクセスの検知を強化するしかありません。
もし、そのクライアントツールが直接DBアクセスするものではなく、きちんとしたアプリサーバ経由でのアクセスしかしないのであれば、単にDB側は、リスナーでアクセス制限すれば良いだけです。
wildcat-ypさん 回答をありがとうございます。
> なので、そのシステムは潜在的にセキュリティーホールを抱えた仕様ということです。
> 少し知識があれば簡単にDBアクセスが可能ですので
仰る通りだと思いましす。
私もこのシステムにかかわったのが3ケ月前で、その時には5年も前からこのシステム
(実は某社のパッケージソフト)が業者の言いなりに導入されていて運用されていました。
私もオラクルにというかDBの経験は浅いですが、パッケージのインストールの仕方とか、
オラクルクライアントの設定ファイルとかみてオラクルのツール(フリーソフト)でDBに
アクセス出来てしまったのでビックリしています。
パッケージソフトでの運用はすぐにはやめれませんので、今のままでセキュリティホールを
解消できないとは思っています。
ですが、素人がオラクルのツールを使って”ひねりもなしに”DBにアクセスできてしまう
現状を少しでもなんとかできないかと思い投稿したしだいです。
何かいい方法はないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 1 2023/03/15 20:44
- ネットワーク 社内ネットワークの1台だけ接続できないときがある 4 2023/01/25 11:58
- セキュリティホール・脆弱性 論理的アクセス・コントロールに関する問題で悩んでいます 1 2022/10/08 08:42
- gooブログ ブログの閲覧するためのパスワードを設定するには? 1 2022/04/10 17:51
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 3 2023/03/25 04:08
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- Instagram インスタでアクションブロックされて投稿ができません 2 2022/11/25 13:02
- ハッキング・フィッシング詐欺 国外からのアクセスと判断されてしまっているようです。 2 2022/05/23 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
利用可能なODP.NETを教えて
-
今年亡くなった有名人を一発で...
-
コンピュータ用語、データベー...
-
Microsoft Accessについて
-
汎用カード型のデータベースソ...
-
データベースの最適化をマクロ...
-
リスト形式の表とデータベース...
-
SQLを使いこなしている人が ETL...
-
データベースソフトのTCARDにつ...
-
エクセルから、パワーポイント...
-
Accessのレポートで「縦書き」...
-
キャッシュとバッファの違いは?
-
Excelの横のセルの数を増やす方法
-
daoのrecordcountで件数が取れ...
-
accessのvbaでの実行時エラーに...
-
エクセルのフォームについて(...
-
データベースの2GBって・・・?
-
SQLite3の許容される登録数は?
-
Developer2000って何?(^^;
-
Notes って 何が良くて使うの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クエリをキャンセルしたいので...
-
ODBC経由の処理が遅い
-
listener.logが肥大化
-
Oracleで今接続しているセッシ...
-
CSEでDB接続しようとすると...
-
Access→Oracleデータ参照にはAD...
-
データベースに接続したままの...
-
VPNでの接続速度が異なります。
-
異なるOracleサーバ上のテーブ...
-
Access Oracle環境の切替方法
-
クライアントPCからのアクセ...
-
VPNでデータベースに接続した時...
-
ODBCの通信内容の暗号化
-
Oracleのパラメータ値について...
-
セッション復活の方法
-
OracleからSQLServer参照時の不...
-
PGAとUGA
-
インターネット経由でデータを...
-
ADO接続でのセッションIDとシリ...
-
型 varchar から型 numeric へ...
おすすめ情報