CVE-2024-42005 について Django のクエリーセットの values() と values_list() にクリティカルな脆弱性。SQL インジェクションの可能性あり。CVSS 基本値は 9.8 と高レート。 LTS の
Django CVE-2024-42005 の脆弱性を確認する
CVE-2024-42005 について Django のクエリーセットの values() と values_list() にクリティカルな脆弱性。SQL インジェクションの可能性あり。CVSS 基本値は 9.8 と高レート。 LTS の
順参照ー逆参照の組合せ 順参照は select_related (INNER JOIN), 逆参照は prefetch_related (2 つの SQL クエリーをメモリ内で Django が連結) で対応するわけだが、組み合わせたいとき
PostgreSQL 全文検索インデックス pg_bigm を使ってみる
全文検索インデックスとは PostgreSQL がデフォルトで使用するインデックスは B-tree ですが、B-tree は文字列での検索や並び替えを行う場合、前方一致しか使えません。 B-tree インデックスが張られたカラムで部分一致や
【Django+PostgreSQL】TimeZone の扱い
PostgreSQL の TimeZone PostgreSQL は特に意識しない場合は OS の TimeZone が DB 接続時のデフォルトの TimeZone になります。 理由は、初期セットアップコマンド initdb 実行時に
【Django】コネクションプールと持続的接続 (Persistent Connections)
コネクションプール(Connection Pool) コネクションプールという技術は DB 接続クライアント側の技術です。なので PostgreSQL や MySQL 等の DB サーバにその機能があるわけではありません。 DB クライアン
システム全体で全ての SQL 実行履歴をログに出力する方法 postgresql.conf に log_statement = 'all'; を追記し、サービスを再起動する。 設定の確認方法は以下。 postgres=#
話題になっていた「世界一流エンジニアの思考法」。 非常に読みやすく、すらすらとテンポよく読めるのに、色々と深く考えさせられた。 本サイトは通常はアフィリエイトを狙うのだが、この本には最大限のリスペクトを示すため、アフィは付けない。 世界一流
CVE-2024-1086 (特権昇格の脆弱性) の PoC を試してみた
実験内容 基本的には以下の PoC の通り。 試した環境 Rocky Linux 9.3 (Kernel 5.14.0-362.24.1.el9_3.0.1.x86_64) 準備 root にて /root ディレクトリで以下を実行。 必要
django のマイグレーション失敗 django.db.migrations.exceptions.InconsistentMigrationHistory
以下のエラーに遭遇 (.venv) $ python manage.py migrate Traceback (most recent call last): File "/home/django/samplepj/manage.
VS Code の Black-Formatter の line length (1行あたりの文字数) について
VSCode の Python 用 Linter である Black-Formatter の 1 行あたりの文字数変更方法についてきちんとした記事が見つからんかったが手探りで出来たので共有。 settings.json にて以下を記載。 &
プロローグ ちょっとサイト本来の趣旨と違うけど、検索しても出てこなし 2 回目なので備忘のため。 MS ペイントで背景が勝手に透明になってしまい、白く塗りつぶしたいけどどうしたらいいか分からない、という方全てに捧げます。 手順 「レイヤー」
【サンプルで学ぶansible】Ubuntu+Nginxで証明書作成&https
前提 Ubuntu 2 台を以下の記事に沿って設定済であること。 学べる事 vars の使い方 繰り返し処理を行いたいときの loop の使い方 ファイル作成コマンドの冪等性の保ち方 handlers の使い方 playbook の中身 u
【図解/入門】Ansible の仕組み,環境構築, Ubuntu 構成自動化のサンプル
Ansible の仕組み Ansible は NW 機器や各種サーバーの設定を管理する仕組みです。 playbook と呼ばれるファイル (人間で言う手順書に該当するもの) に従って、対象の機器に接続し、playbook の通りに設定作業を
OpenAPIを読み込んでOWASP ZAPでDjango DRFを脆弱性検査する
Django DRF の CSRF 問題 Django Rest Framework で作成した REST API でセッション認証を使う場合、CSRF が無効化できない。 ログインのための POST のときも csrftoken が必要。
フリーのSBOMツールでCycloneDXフォーマットのSBOMを作る
フリーのSBOMツール: CycloneDX Generator を使ってみる 以下のツールを実行したときのメモ。 やりたいこと RedHat 系 Linux 上の /opt/hoge に配置されたプログラムの SBOM を作成する。フォー
【wireshark】http/httpsの宛先URLのフィルタ、表示
http の宛先URLでフィルターする 取得したパケットキャプチャーのうち、http 通信の宛先URLで検索したいときは以下のフィルター式を使います。 http contains "hoge" 以下は "nes
【初心者向け】sudoとsuの違い, コマンドが使えない場合の対処等
sudo と su sudo (読み方 : すーどぅー) はコマンドの先頭につけることで、そのコマンドを root 権限で実行することができるコマンドです。別のコマンドとセットで使われ、一時的に root にユーザーになれるコマンドです。な
実践的な社内インフラセキュリティ設計・実装 ~ゼロトラストよりも境界型防御が優先やろ~
境界型防御からゼロトラストへの『移行』なんてあり得ない一般的な企業インフラのセキュリティの話。クラウドはインターネットからのアクセスを想定しているため、今の時代ゼロトラストの実装は必然です。企業が全ての重要データをクラウドに預けているなら、
サブジェクト代替名(SANs)を付与したサーバ証明書を作る最近のブラウザでは証明書のコモンネームは確認せず、サブジェクト代替名(SANs)のみを確認します。証明書をPCに「信頼されたルート証明機関」としてインストールしたとしても、SANsに
WSL2 に ovftool をインストールして kali linux の ova を作る
kali linux , ova の配布やめるってよ備忘メモとして wsl2 にて kali linux の 7z を ova に変換する術をここに記す。使ったのは Windows 11 Home 22H2 22621.1992 である。w
【gitlab】バックアップとリストア、バージョンアップ、環境移行
環境 Rocky Linux 9.1 (kernel 5.14.0-162.18.1.el9_1.x86_64 gitlab version 15.8 -> 15.9 gitlab はソースコードではなく dnf ( Omnib
Zabbix で HPE iLO5 を IPMI でハードウェア監視する手順
やりたいことHPE サーバ DL380Gen10+ の iLO5 標準ライセンスにて Zabbix から IPMI を使って監視する。監視項目はプリセットのテンプレート「Chassis by IPMI」を使う。(SNMP のテンプレート「H
ESXi 8 に USB メモリを VMFS でマウントする
やりたいこと(VM ではなく) ESXi 8 の仮想ホスト本体に 1 TB の USB メモリを認識させ、VMFS にフォーマットしてデータストアとして認識させたい。(その後 VM のバックアップを保存したい)手順は ESXi ホストに U
Azure VMのRHEL9.0でEPELとcertbotインストールするの巻
Azure VM の RHEL9.0 の SSH 接続いつものように Tera Term で接続しようとするも何故か繋がらない。Windows コマンドプロンプトの標準搭載 ssh コマンドで接続できたのでこちらを使う。C:\Users\t
【図解/Ubuntu22.04】Softetherで拠点間L3接続 on VirtualBOX
やりたいことUbuntu 22.04LTS Server を VirtualBOX 上に 2 台用意し、Softether VPN で拠点間 L3 接続する。Linux で Softether を使う場合、ローカルブリッジ設定で指定したイン
【図解/Ubuntu22.04】Softetherで拠点間L3接続 on VirtualBOX
やりたいことUbuntu 22.04LTS Server を VirtualBOX 上に 2 台用意し、Softether VPN で拠点間 L3 接続する。Linux で Softether を使う場合、ローカルブリッジ設定で指定したイン
[Ubuntu 22.04 LTS] ブリッジ接続がうまく動作しない
症状Ubuntu 22.04 LTS Server on VirtualBOX にてブリッジインタフェース br0 を作成し、物理インタフェース enp0s3 を接続したが、enp0s3 の先にあるホストと疎通が取れない。/etc/netp
【図解】Softetherで拠点間L3接続 on RockyLinux on VirtualBOX
やりたいことRHEL 系 Linux (Rocky Linux) を VirtualBOX 上に 2 台用意し、Softether VPN で拠点間 L3 接続する。Linux で Softether を使う場合、ローカルブリッジ設定で指定
【図解】SoftetherでL2接続 on RockyLinux on VirtualBOX
やりたいことRHEL 系 Linux (Rocky Linux) を 2 台用意し、Softether VPN で拠点間 L2 接続する。接続確認のため 両端にさらに VM 2 台を用意した。余談 : Softehter と OpenVP
【Rockylinux9】SQUIDの透過型プロキシ構築手順
やりたいこと Rockylinux9 の SQUID を透過型プロキシとして構築し、クライアントからプロキシ設定無しでインターネット接続およびプロキシで GET や POST のメソッドまでログできるようにする前提以下の手順で SQUID
【Rockylinux9】SQUID+ssl_bumpの仕組みと設定
やりたいこと Rockylinux9 で SQUID を構築し、クライアントからインターネット接続できるようにする ssl_bump の設定を行い、https 通信の access_log を CONNECT だけでなく GET や P
【図解】環境変数とは?~Windows/Linuxの実用例と確認コマンド~
環境変数の仕組み環境変数とは環境変数とは、OS が提供するデータ共有の仕組みであり、主にその OS 上で動作するプロセス (メモリ上のプログラム) がそのデータを参照し、振る舞いを変えるためにあります。OS の機能ではありますが、各プロセス
【図解】SPA (Single Page Application) の仕組みと構成例、メリット/デメリット
SPA とはSingle Page Application とは、単一の html ファイル上で javascript を使って画面遷移することなくユーザの操作に応じて動的に変化する Web アプリケーション (Web サイト) です。実装
SSL 証明書の警告画面が表示される原因としては以下を参照ください。警告画面は無視して進むことができるケースと無視できないケースがあります。この記事では後者が発生する理由について説明しますが、結論として、解決方法は上記 URL で説明されて
VirusTotal+PythonでURL/IPリストから危険なものを検出する
やりたいことGoogle が運営する「VirusTotal」の無償公開 API を使って、セキュリティインシデント発生時の調査として Proxy や FW/UTM のログから URL や IP 一式を抽出し、その URL/IP の中から問題
SBOMツール (sbom-tool : MS製OSS構成管理)の使い方
SBOM とはSBOM (読み方: えすぼむ) とは Software Bill of Materials の略で、ソフトウェアの構成情報のことです。2021 年末の Log4j 問題も一因となり、「世界的に構成管理をしっかりしよう」という
Podmanでgit,redmine,zabbix(+nginx reverse proxy)のコンテナを作ってみた
やったことpodman で開発環境で便利そうな gitlab (コードバージョン管理), redmine (チケット管理), zabbix (サーバ監視) を立ててみた。名付けて『開発環境の欲張りセット』。実用性は不明。Docker ではな
Windows のユーザー権限一覧の確認と付与Windows では「一般ユーザー」と「管理者ユーザー」という分類がありますが、この記事ではその具体的な差を見ていきます。Windows には「ユーザー権利の割り当て: User Rights
【Linux】sh/bash/sourceの違い,bash/dashの違い
sh script.sh , bash script.sh , source script.sh の違いと bash , dash の違いについて解説します。shsh は基本的に Symbolic Link になっており、リンク先のコマンド
【図解】python仮想環境venvの仕組みと使い方,バージョン指定,切替
python 実行環境と python コマンドOS に Python をインストールすると実行環境がセットアップされます。実行環境とは、Python が動作するために必要な一式であり、例えば Python のライブラリ (パッケージ, モ
curl で自己証明書を受け入れる curl: (60) SSL certificate problem: self signed certificate
症状$ curl 等、curl https://{$host} コマンドを打つと以下のエラーが表示され、期待したコンテンツが返ってこないcurl: (60) SSL certificate problem: self signed cert
【図解】分かりやすい OpenSSL の仕組み,使い方 ~Windowsへのインストール要否~
OpenSSL を分かりやすく解説OpenSSL とは、SSL/TLS に関する様々な機能を保有した『コマンド&ライブラリ』の無償で利用可能なソフトウェアです。The OpenSSL Project にて開発が行われています。Linux で
【図解/Azure】マネージドIDとKeyVaultとサービスプリンシパル
マネージドIDとKeyVaultの違いマネージド ID と IMDSマネージド ID とは「(ユーザーの操作ではなく) 稼働中の Azure サービスが Azure AD に保護されたリソースへアクセスするときの認証主体 ID」のことです。
【図解/Azure】ストレージアカウントの概要 ~冗長性,ディスクとの違い~
ストレージアカウントとはAzure の提供するストレージサービスを収容するコンピュータアカウントです。Azure では以下 4 つのストレージサービスを提供しています。 Blob ストレージ : http(s) の REST-API がイ
【図解/Azure】リソースロック時の移動と複数ロックについて
Azure のリソースロックAzure ではオペレーションミス等への防御として「リソースロック」という機能を提供しています。ロックには「読み取り専用ロック」と「削除ロック」の 2 種類のロックがあります。 削除ロック:単にそのリソースを削
「ブログリーダー」を活用して、nesukeさんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。
CVE-2024-42005 について Django のクエリーセットの values() と values_list() にクリティカルな脆弱性。SQL インジェクションの可能性あり。CVSS 基本値は 9.8 と高レート。 LTS の
順参照ー逆参照の組合せ 順参照は select_related (INNER JOIN), 逆参照は prefetch_related (2 つの SQL クエリーをメモリ内で Django が連結) で対応するわけだが、組み合わせたいとき
全文検索インデックスとは PostgreSQL がデフォルトで使用するインデックスは B-tree ですが、B-tree は文字列での検索や並び替えを行う場合、前方一致しか使えません。 B-tree インデックスが張られたカラムで部分一致や
PostgreSQL の TimeZone PostgreSQL は特に意識しない場合は OS の TimeZone が DB 接続時のデフォルトの TimeZone になります。 理由は、初期セットアップコマンド initdb 実行時に
コネクションプール(Connection Pool) コネクションプールという技術は DB 接続クライアント側の技術です。なので PostgreSQL や MySQL 等の DB サーバにその機能があるわけではありません。 DB クライアン
システム全体で全ての SQL 実行履歴をログに出力する方法 postgresql.conf に log_statement = 'all'; を追記し、サービスを再起動する。 設定の確認方法は以下。 postgres=#
話題になっていた「世界一流エンジニアの思考法」。 非常に読みやすく、すらすらとテンポよく読めるのに、色々と深く考えさせられた。 本サイトは通常はアフィリエイトを狙うのだが、この本には最大限のリスペクトを示すため、アフィは付けない。 世界一流
実験内容 基本的には以下の PoC の通り。 試した環境 Rocky Linux 9.3 (Kernel 5.14.0-362.24.1.el9_3.0.1.x86_64) 準備 root にて /root ディレクトリで以下を実行。 必要
以下のエラーに遭遇 (.venv) $ python manage.py migrate Traceback (most recent call last): File "/home/django/samplepj/manage.
VSCode の Python 用 Linter である Black-Formatter の 1 行あたりの文字数変更方法についてきちんとした記事が見つからんかったが手探りで出来たので共有。 settings.json にて以下を記載。 &
プロローグ ちょっとサイト本来の趣旨と違うけど、検索しても出てこなし 2 回目なので備忘のため。 MS ペイントで背景が勝手に透明になってしまい、白く塗りつぶしたいけどどうしたらいいか分からない、という方全てに捧げます。 手順 「レイヤー」
前提 Ubuntu 2 台を以下の記事に沿って設定済であること。 学べる事 vars の使い方 繰り返し処理を行いたいときの loop の使い方 ファイル作成コマンドの冪等性の保ち方 handlers の使い方 playbook の中身 u
Ansible の仕組み Ansible は NW 機器や各種サーバーの設定を管理する仕組みです。 playbook と呼ばれるファイル (人間で言う手順書に該当するもの) に従って、対象の機器に接続し、playbook の通りに設定作業を
Django DRF の CSRF 問題 Django Rest Framework で作成した REST API でセッション認証を使う場合、CSRF が無効化できない。 ログインのための POST のときも csrftoken が必要。
フリーのSBOMツール: CycloneDX Generator を使ってみる 以下のツールを実行したときのメモ。 やりたいこと RedHat 系 Linux 上の /opt/hoge に配置されたプログラムの SBOM を作成する。フォー
http の宛先URLでフィルターする 取得したパケットキャプチャーのうち、http 通信の宛先URLで検索したいときは以下のフィルター式を使います。 http contains "hoge" 以下は "nes
sudo と su sudo (読み方 : すーどぅー) はコマンドの先頭につけることで、そのコマンドを root 権限で実行することができるコマンドです。別のコマンドとセットで使われ、一時的に root にユーザーになれるコマンドです。な
境界型防御からゼロトラストへの『移行』なんてあり得ない一般的な企業インフラのセキュリティの話。クラウドはインターネットからのアクセスを想定しているため、今の時代ゼロトラストの実装は必然です。企業が全ての重要データをクラウドに預けているなら、
サブジェクト代替名(SANs)を付与したサーバ証明書を作る最近のブラウザでは証明書のコモンネームは確認せず、サブジェクト代替名(SANs)のみを確認します。証明書をPCに「信頼されたルート証明機関」としてインストールしたとしても、SANsに
kali linux , ova の配布やめるってよ備忘メモとして wsl2 にて kali linux の 7z を ova に変換する術をここに記す。使ったのは Windows 11 Home 22H2 22621.1992 である。w
実験内容 基本的には以下の PoC の通り。 試した環境 Rocky Linux 9.3 (Kernel 5.14.0-362.24.1.el9_3.0.1.x86_64) 準備 root にて /root ディレクトリで以下を実行。 必要
以下のエラーに遭遇 (.venv) $ python manage.py migrate Traceback (most recent call last): File "/home/django/samplepj/manage.
VSCode の Python 用 Linter である Black-Formatter の 1 行あたりの文字数変更方法についてきちんとした記事が見つからんかったが手探りで出来たので共有。 settings.json にて以下を記載。 &
プロローグ ちょっとサイト本来の趣旨と違うけど、検索しても出てこなし 2 回目なので備忘のため。 MS ペイントで背景が勝手に透明になってしまい、白く塗りつぶしたいけどどうしたらいいか分からない、という方全てに捧げます。 手順 「レイヤー」
前提 Ubuntu 2 台を以下の記事に沿って設定済であること。 学べる事 vars の使い方 繰り返し処理を行いたいときの loop の使い方 ファイル作成コマンドの冪等性の保ち方 handlers の使い方 playbook の中身 u
Ansible の仕組み Ansible は NW 機器や各種サーバーの設定を管理する仕組みです。 playbook と呼ばれるファイル (人間で言う手順書に該当するもの) に従って、対象の機器に接続し、playbook の通りに設定作業を
Django DRF の CSRF 問題 Django Rest Framework で作成した REST API でセッション認証を使う場合、CSRF が無効化できない。 ログインのための POST のときも csrftoken が必要。
フリーのSBOMツール: CycloneDX Generator を使ってみる 以下のツールを実行したときのメモ。 やりたいこと RedHat 系 Linux 上の /opt/hoge に配置されたプログラムの SBOM を作成する。フォー
http の宛先URLでフィルターする 取得したパケットキャプチャーのうち、http 通信の宛先URLで検索したいときは以下のフィルター式を使います。 http contains "hoge" 以下は "nes
sudo と su sudo (読み方 : すーどぅー) はコマンドの先頭につけることで、そのコマンドを root 権限で実行することができるコマンドです。別のコマンドとセットで使われ、一時的に root にユーザーになれるコマンドです。な