スキップしてメイン コンテンツに移動

投稿

x86-64-v2-AESってなに?

ProxmoxVE(8.1.4)で遊んでいると、CPUの種類がデフォルト「x86-64-v2-AES」になっていました。 これは何?Intel/AMDでどの世代なの?と思って調べました。 そのものズバリが   https://www.yinfor.com/2023/06/how-i-choose-vm-cpu-type-in-proxmox-ve.html 書いてあって無事解決。 kvm64(x86-64-v1):Intel CPU >= Pentium 4, AMD CPU >= Phenom x86-64-v2:Intel CPU >= Nehalem, AMD CPU >= Opteron_G3 x86-64-v2-AES:Intel CPU >= Westmere, AMD CPU >= Opteron_G4 x86-64-v3:Intel CPU >= Broadwell, AMD CPU >= EPYC x86-64-v4:Intel CPU >= Skylake, AMD CPU >= EPYC v4 Genoa ということで、Win11だとhostを選択するしかないのか。。。 RHEL10はx86-64-v3を必須にするらしいから、ここ数年起動してない愛機Sandyはインストールもできない模様。世知辛いねぇ。
最近の投稿

1Uサーバに載せるVMの数

あれこれ検索して見つけたこのページ曰く、 https://bp-platinum.com/platinum/view/files/sps/series/se20210518-1/ >1Uで2ノード搭載可能HCIは機能的には、4、5台のVMが動かせるというのが一つの目安です え、マジすか。 1Uのサーバで1台当たり15台の仮想WindowsSeverがいたりするんですが。。。 16コア(32スレッド)512GBメモリで余裕なのは、負荷の低いシステムだからなのか。。 道理でクラウド移行検討でAWSの人と打ち合わせしたときに集約数に絶句していたんだよなぁ。

JDBC でSQLserverに接続するとき(その2)

 前に試したときは、SQLserverが動いているサーバにJava7/8を入れていました。 TLS1.1が使えるSQLserverの入ったサーバに、TLS1.1を使えなくした別のサーバのJava7/8から接続できるのだろうか?と疑問になり再度試しました。 結果  TLS1.1が使えるSQLserverの入ったサーバに対して   別のサーバのJava7:接続可能   別のサーバのJava8:接続可能  TLS1.1が使えないSQLserverの入ったサーバに対して   別のサーバのJava7:接続不可   別のサーバのJava8:接続可能 でした。 JavaはWindowsのOS部分のTLS設定に影響されないのか。。。 ===========忘れるだろうから試したコードを貼っておこう=========== import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class Test1 {     public static void main(String[] args) {         final String URL = "jdbc:sqlserver://SQLサーバのIP:1433;"             + "Database=master;integratedSecurity=false;"             + "user=sa;password=P@ssw0rd"; //        final String SQL = "select @@version as version";         final String SQL = "SELECT DISTINCT (encrypt_option) FROM sys.dm_exec_connections;";         try (Connection conn = DriverManager.getConnection(U

NCSI「インターネットなし」

PROXY利用環境だとよく「Yahoo、Googleは表示できるのにインターネットなし」になります。同じネットワークにあるファイルサーバとかにもちゃんと繋がるのに。 「インターネットなし」になると、Outlookの認証エラーになったりするのでメンドクサイ。。。 どうやら、その判定を行うのは、ネットワークの状態が変わったタイミングでしか行っていないらしい。再起動とかでも行うようなんだけど、あれこれ試したところ、ネットワークインターフェースを無効→有効に設定変更した際にも行われる模様。 パッシブプローブだけ(アクティブプローブ無効レジストリ設定を行った)にして、観察していると、無効→有効のタイミングでは判定していない。。なんだこれ。   ネットワーク接続状態インジケーター (NCSI) の概要とトラブルシュート に「パッシブ プローブは既定で 15 秒間隔で動作し、ネットワークの通信状況をモニタリングしてインターネットアクセス可否を判定します。」ってあるけど、ファイルサーバにアクセスしても15秒以上待っても判定されない。。。 ブラウザ(Edge)でMSNを開くと即「インターネットアクセス」になることがわかった。 MSの言う「ネットワークの通信状況」というのは「マイクロソフトネットワークへの通信状況」なのかな。 ※Yahoo、Googleを開いても即「インターネットアクセス」になりましたが・・。 アクティブプローブだけ(パッシブプローブ無効レジストリ設定を行った)にして、パソコンのhostsにローカルWebサーバのIPを「www.msftconnecttest.com」に設定してconnecttest.txtを置いておくと、NCSIがconnecttest.txtの後に   http://www.msftconnecttest.com/redirect をアクセスしてくる。 これのリダイレクト先もMSNなんだよなぁ。。。

Enablement Package

 WSUSに「KB5027397」がないなぁ、と思っていたら、   https://yamanxworld.blogspot.com/2023/11/windows-11-2023-update-ver-23h2.html 本体の一部ファイルとして存在しているのか。。めんどうな。。。 ニッチなPCゲーマーさんところにあったリンクを使うのが一番だな。

sqlcmd.exeでSQLserverに接続するとき

 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が平文で流れるから」って言われるのが納得いかないです(笑

JDBC でSQLserverに接続するとき

 JavaのプログラムからSQLserverにつながらなくなった、という話があったので調査。 Javaのプログラムの吐いているエラーログにはSSLv3とかTLS1.1で繋がらない、っていうのがありました。 接続先のSQLserverのサーバ機は、2012終息対応で2019にしました。 ついでに、TLS1.2だけにしました。 繋がらないのはそのせいで間違いないでしょう。 JavaはJava7を未だに使っているらしい。。。2015年に終了してるのではなかったろうか。 検証のため、TLS1.2だけにした2019にSQLServerをインストールして、Java7とJava8をインストール。sqljdbc41.jarを落としてきて、SQLServerに接続して ここ にある「ネットワークの暗号化を確認する」を実行するJavaプログラムを用意しました。 用意した、と言っても こちら のほぼマルパクリです。ありがとうございます。 (CLASSPATHの設定方法がよくわかってなかったので、難航しました。  set CLASSPATH=.;C:\sqljdbc41.jar のように最初に.;が必要だった。  Javaプログラム本体へのPATHが必要、ということかな。) WireSharkでlocalhostの通信を観察していると、  Java7:TLS1.1でClientHeloを行っているが応答がないので終了  Java8:TLS1.2でClientHeloを行ってなんか送って、そのあと平文で通信 という状態でした。 SQLは平文で通信するくせに、最初だけ暗号通信・・・。 そうか、IDとパスワードは暗号化しているのか。なるほど。 「Java8使えや」で終了にしよう。