カテゴリー: 技術系memo

  • メモ:GitLab 16.9.2-ceからGitLab 16.10.3-ceへはapt updateでアップデートできた。

    油断すると、GitLab CEのアップデートがapt updateで失敗するので、メモ。

    GitLab 16.9.2-ceからGitLab 16.10.3-ceへはapt updateでアップデートできた。

  • Win11のVS2019からSQL Server 2005に接続できない

    開発環境をWindows10からWindows11にアップグレードした。Windows11のVisual Studio 2019の開発環境のコードから、Windows Server 2003 R2上のSQL Server 2005に対して、接続ができなくなった。接続時のセキュリティの不一致のため。

  • SQL Server 2005のDBFファイルをSQL Server 2019にアタッチするとエラー

    メモとして。

    SQL Server 2005のDBFファイルをデタッチして、SQL Server 2019に持っていってアタッチしても、エラーになる。SQL Server 2019上は、一応存在するが修復が必要が状態として表示されており、オンラインにはならない。DBファイルのバージョンアップが必要になる。

  • メモ:Windows Server 2012 R2はTLS1.3に対応していない

    メモとして。Windows Server 2012 R2、Windows Server 2016は、TLS 1.3に対応していない。TLS 1.2まで。

    TLS 1.3のリリースが、2018年8月10日にIETFが「RFC 8446」として公開したので、それよりも前のOSは対応していないのはしかたない。

    参考)

    https://learn.microsoft.com/en-us/answers/questions/874023/tls1-3-on-windows-2012-r2

    https://learn.microsoft.com/en-us/answers/questions/958442/how-to-enable-tls-1-3-in-windows-server-2016

  • MDMのBCDMでAndroidをFull Managed Deviceで登録するときにAPIエラーがでる

    MDMのBCDMでAndroidをFull Managed Device(FMD)で登録するときにAPIエラーがでた。

    このエラーが出る前に、数台、Android Enterpriseの設定を行っていた時は問題がなかった。FMD登録のときに、Androidの機種なのかスペックなのかをチェックにいくところで、「整合性チェックAPからの応答がありません」というエラーになった。APIが応答しないといういことは、ネットワークの問題と思い、WiFiの他に、5Gでの通信でも試したが、結局エラーになった。

    APIエラー自体はよいのだが、中途半端な状態で、MDMに登録されてしまうことの方が問題だった。MDMでの管理ができる状態ではないのに、登録されてしまい、ライセンスを消費されているので、MDM上で削除するという手間が増えた。MDM上で削除すると、端末も初期化が走ってしまうので、もう一度最初からセットアップをやり直す。

    結局、APIエラーが出た日は成功せず。日を改めて試したところ、正常に登録できた。このことから、BCDM側でなんらかの障害か、台数制限でもあるのだろう。

    BCDMの登録時に、APIエラーがでるときはBCDM側のエラーの可能性があるので、日を改めて実行するとよい。

  • UbuntuでGitLab CEの更新でGPGキーのエラーが出た

    Ubuntu 20.04 LTSで、apt updateでgitlab-ceの更新で、GPGキーのエラーが出た。エラーの原因は、GPGキーの有効期限が2024年3月1日までで、切れたため。その対応メモ。

    出力されたエラーメッセージ

    以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>

    GPGキーの有効期限が2024年3月1日で切れているので、延長するために、下記のコマンドで更新を行った。

    curl -s "https://packages.gitlab.com/gpg.key" | sudo apt-key add -

    apt updateを実行してみると、同じようにエラーが表示された(前回と同じ方法では、うまくいかなかった)。公式の手順の内容を参考にして実行したところ、うまくいった。

    https://docs.gitlab.com/omnibus/update/package_signatures#update-keys-after-expiry-extension

    「signed-by」の機能を使用しているか、コマンドで確認する。

    grep 'deb \[signed-by=' /etc/apt/sources.list.d/gitlab_gitlab-?e.list

    Grepの結果が返される場合は、「signed-by」 を使用しているので、次のAWKコマンドを実行する。これで、GitLabリポジトリの公開鍵を更新する。要root権限。

     sudo awk '/deb \[signed-by=/{
           pubkey = $2;
           sub(/\[signed-by=/, "", pubkey);
           sub(/\]$/, "", pubkey);
           print pubkey
         }' /etc/apt/sources.list.d/gitlab_gitlab-?e.list | \
       while read line; do
         curl -s "https://packages.gitlab.com/gpg.key" | gpg --dearmor > $line
       done

    これで、あとはapt updateを行って、問題が解消しているか確認する。

    以下は、実行ログの抜粋。

    zen@LABO:~$ sudo apt update
    [sudo] zen のパスワード:
    ヒット:2 http://security.ubuntu.com/ubuntu focal-security InRelease
    ヒット:3 http://jp.archive.ubuntu.com/ubuntu focal InRelease
    取得:4 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
    ヒット:5 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease
    取得:1 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal InRelease [23.3 kB]
    エラー:1 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal InRelease
      以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
    137 kB を 2秒 で取得しました (59.7 kB/s)
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    パッケージはすべて最新です。
    W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックス ファイルが使われます。GPG エラー: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal InRelease: 以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
    W: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/dists/focal/InRelease の 取得に失敗しました  以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
    W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視され るか、古いものが代わりに使われます。
    zen@LABO:~$
    zen@LABO:~$ curl -s "https://packages.gitlab.com/gpg.key" | sudo apt-key add -
    OK
    zen@LABO:~$
    zen@LABO:~$ sudo apt update
    [sudo] zen のパスワード:
    ヒット:2 http://jp.archive.ubuntu.com/ubuntu focal InRelease
    ヒット:3 http://security.ubuntu.com/ubuntu focal-security InRelease
    取得:4 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
    ヒット:5 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease
    取得:1 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal InRelease [23.3 kB]
    エラー:1 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal InRelease
      以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
    137 kB を 3秒 で取得しました (46.3 kB/s)
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    パッケージはすべて最新です。
    W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックス ファイルが使われます。GPG エラー: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal InRelease: 以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
    W: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/dists/focal/InRelease の 取得に失敗しました  以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>
    W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視され るか、古いものが代わりに使われます。
    zen@LABO:~$
    zen@LABO:~$  grep 'deb \[signed-by=' /etc/apt/sources.list.d/gitlab_gitlab-?e.list
    
    deb [signed-by=/usr/share/keyrings/gitlab_gitlab-ce-archive-keyring.gpg] https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main
    zen@LABO:~$
    zen@LABO:~$
    zen@LABO:~$
    zen@LABO:~$ sudo su
    root@LABO:/home/zen#
    root@LABO:/home/zen#
    root@LABO:/home/zen# awk '/deb \[signed-by=/{
    >        pubkey = $2;
    >        sub(/\[signed-by=/, "", pubkey);
    >        sub(/\]$/, "", pubkey);
    >        print pubkey
    >      }' /etc/apt/sources.list.d/gitlab_gitlab-?e.list | \
    >    while read line; do
    >      curl -s "https://packages.gitlab.com/gpg.key" | gpg --dearmor > $line
    >    done
    root@LABO:/home/zen#
    root@LABO:/home/zen# apt update
    ヒット:2 http://security.ubuntu.com/ubuntu focal-security InRelease
    ヒット:3 http://jp.archive.ubuntu.com/ubuntu focal InRelease
    ヒット:4 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease
    ヒット:5 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease
    取得:1 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal InRelease [23.3 kB]
    取得:6 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages [54.6 kB]
    78.0 kB を 3秒 で取得しました (22.6 kB/s)
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    アップグレードできるパッケージが 1 個あります。表示するには 'apt list --upgradable' を実行してください。
    root@LABO:/home/zen#
  • 新種のCPU脆弱性「GhostRace」が発表された

    合わせ技かつ高度なので、よく発見したものだ、というくらい感想。サンプルコードをみると、シンプルなんだが、これでどうしてそうなるっていうのは、わからない。

    CPUへの命令のやりくり高度になっているから、実装が難しくて、セキュリティ問題がでるのだろうけれど、このレイヤーの話だと、実感もないしわからない。発見する人達もすごいが、修正する人達もすごい。攻撃側は・・・手法が確立されてしまえば、ツールが出て回るだろうから、内容を理解しなくても攻撃できてしまうのだろうけれど。

    新種のCPU脆弱性「GhostRace」をIBMが公表 ~Intel、AMD、ARMなどに影響
    https://forest.watch.impress.co.jp/docs/news/1575896.html

  • スナップショットがある仮想マシンをVeeam Backupでバックアップしたときの挙動

    負荷の高いVMのバックアップをとる場合は、Veeam Backupがバックアップ時に取得するスナップショット以外は、無い方がいい。すでにスナップショットがある場合は、下記のような挙動になることがあり、システム不安定につながる。

    • バックアップが長くなる、終わらない(まだ、いいほう)
    • バックアップ開始時のスナップショット取得時に、VMのOSの反応が悪くなったり、ネットワーク接続されているリソースが切断される(iSCSIディスクとか)。

    絶対になるわけではなく、Veeam BackupがvSphere上(ESXi上)でVMのスナップショットをとるときにOS側の挙動が不安定になったときに発生する。Veeam BackupでVMのバックアップを取得するときに不具合があるときは、対象VMのスナップショットの有無を確認したほうがいい。

  • メモ:GitLab 16.7.3-ceからGitLab 16.9.0-ceへはapt updateでアップデートできた。

    断すると、GitLab CEのアップデートがapt updateで失敗するので、メモ。

    GitLab 16.7.3-ceからGitLab 16.9.0-ceへはapt updateでアップデートできた。

  • Windows Server 2022のADにWindows 2000を参加させる

    通常のままでは、Windows Server 2022のActive Directory(機能レベル Windows Server 2016)にWindows 2000やWindows 2000 Serverを参加させることはできない。AD参加時のセキュリティの不一致によるため。

    無理やりWindows Server 2022のADにWindows 2000を参加させるためには、以下のことを行い、セキュリティレベルを下げる必要がある。

    1つめ。LAN Manager認証レベルを変更する

    1. 「secpol.msc」と入力して、ローカルセキュリティ設定を起動する。

    2. 「ローカルポリシー」>「セキュリティオプション」>「ネットワーク セキュリティ」>「LAN Manager 認証レベル」の順に選択開く。

    3. 「LMとNTML応答を送信する」を選択して、適用する。

    2つめ。SMBv1を許可する

    1. Powershellを管理者として実行する。

    2. `Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol` を入力して、実行する。

    3. OSを再起動する。

    セキュリティは、かなり下がるので、Windows 2000はAD参加させないほうがいい。Windows Server 2003も同じ方法で参加できるはず。