SQLserverにID認証するとき、ID/PWは平文だと思っていたのですが、
Java(というかJDBC)だと暗号だということを初めて知りました。
ついでに、sqlcmd.exeで接続するときは?と思って、WireSharkで観察してみると・・・
TLS1.2(WindowsOSでTLS1.2に制限しているせいですが)でした。
ID/PWらしい暗号データを送った後は平文(0x00がASCIIデータにくっついているのでUTF-8かUTF-16かな?)で送っているみたい。(気が向いたら、文字コードを特定してみよう)
SQLserver側で暗号通信強制(構成マネージャの「MSSSQLSERVERのプロトコル」プロパティにある「強制的に暗号化」を「はい」にする)にしたら、sqlcmd.exeでは接続できなかった。。。
ManagementStudioだと、暗号強制「はい」「いいえ」の両方でも問題なし。
(「いいえ」でもID/PWのところだけ暗号通信)
認証のところが暗号通信なのはいつからなのだろう?
サーバセキュリティ診断で1433が開いていると「ID/PWが平文で流れるから」って言われるのが納得いかないです(笑
.Net3.5が要るらしい。 orz 一回目のインストールの際に「.Net3.5が必要」ってダイアログが山ほど出てきた。 .Net3.5が必要な場合のエラーダイアログはどうして「ダウンロードしてインストールせよ」なんだろう? 参考にした http://otndnld.oracle.co.jp/easy/oracle11gr1/windows/pdf/SelfStudy_01_win.pdf だと、LISTNERの追加設定(?)が必要そうに書いてあるけど、やってみたら「すでに作成済み」ってなる。 それを信じて進めてみたらどうにもうまくいかない。。。 OracleDBをGUIで操作しよう、っていうのが間違いのようか気がする (逆にSQLserverをCLIでやるのは狂気の沙汰だと思う)。 一旦、アンインストールすることにして、スタートメニューにある「Universal Installer」 を実行してアンインストールしようとしたら「batファイルを実行せよ」というダイアログが。 ググりかたが悪かったのか、 「アンインストールはUniversal Installerからしかないぜ。その他の方法はどーなっても知らないぜHAHAHA」(意訳) と書いてるOracleさんしか見つからない。 どっちを信じたらとも思ったが、目の前のほうが正しいだろうという考えに従いそのバッチ を実行しました。(Universal Installerさんは何度やっても消そうともしてくれないし) バッチ実行後、しばらく放置したら終わったらしい。 Oracleさんがインストールされていたっぽいディレクトリもだいたい消えていた。 消えたよね?ってことで一度再起動してから、Oracle11gのインストールを再び実行。 エラーは出ずに無事終了。 (.Net3.5がインストール済みだったからかな??) sqlplus / as sysdba は問題ない。でも、別PC(Linux機)からの接続はNG。 lsnrctl status コマンドの実行結果から、やはりlocalhost以外からの接続はLISTENしてない模様。 listener.oraをちょっと修正して、LISTNERサービスを再起動。 lsnrctl status を再度実行すると、IPアドレスの分も表示されたので、外部からも接続できるだろう...
コメント
コメントを投稿