Ubuntu apt(カーネルパッチ)

sudo apt upgrade
にて、以下のようなメッセージがでた。
A new version of /boot/grub/menu.lst is available, but the version installed currently has been locally modified

選択肢としては以下。

・install the package maintainer’s verstion
パッケージメンテナのバージョンをインストール

・keep the local version currently installed
現在インストールされているローカルバージョンを保持

・show the differences between the versions
バージョン間の差異を表示

・show a side-by-side difference between the versions
バージョン間の差異を並行表示

・show a 3-way difference between available vertions
利用可能なバージョン間の3種類の差異を表示

・do a 3-way merge between available versions
利用可能なバージョン間での3種類マージを行う (実験的)

・start a new shell to examine the situation
状況を検討するための新しいシェルを起動

***

・install the package maintainer’s verstion
を実行したが、一応、
sudo vim /boot/grub/menu.lst
をメモしておくと。

●旧

title Ubuntu 18.04.1 LTS, kernel 4.15.0-43-generic
root (hd0)
kernel /boot/vmlinuz-4.15.0-43-generic root=LABEL=cloudimg-rootfs ro console=hvc0
initrd /boot/initrd.img-4.15.0-43-generic

title Ubuntu 18.04.1 LTS, kernel 4.15.0-43-generic (recovery mode)
root (hd0)
kernel /boot/vmlinuz-4.15.0-43-generic root=LABEL=cloudimg-rootfs ro single
initrd /boot/initrd.img-4.15.0-43-generic

●新

title Ubuntu 18.04.5 LTS, kernel 4.15.0-123-generic
root (hd0)
kernel /boot/vmlinuz-4.15.0-123-generic root=LABEL=cloudimg-rootfs ro console=hvc0
initrd /boot/initrd.img-4.15.0-123-generic

title Ubuntu 18.04.5 LTS, kernel 4.15.0-123-generic (recovery mode)
root (hd0)
kernel /boot/vmlinuz-4.15.0-123-generic root=LABEL=cloudimg-rootfs ro single
initrd /boot/initrd.img-4.15.0-123-generic

title Ubuntu 18.04.5 LTS, kernel 4.15.0-122-generic
root (hd0)
kernel /boot/vmlinuz-4.15.0-122-generic root=LABEL=cloudimg-rootfs ro console=hvc0
initrd /boot/initrd.img-4.15.0-122-generic

title Ubuntu 18.04.5 LTS, kernel 4.15.0-122-generic (recovery mode)
root (hd0)
kernel /boot/vmlinuz-4.15.0-122-generic root=LABEL=cloudimg-rootfs ro single
initrd /boot/initrd.img-4.15.0-122-generic

title Ubuntu 18.04.5 LTS, kernel 4.15.0-43-generic
root (hd0)
kernel /boot/vmlinuz-4.15.0-43-generic root=LABEL=cloudimg-rootfs ro console=hvc0
initrd /boot/initrd.img-4.15.0-43-generic

title Ubuntu 18.04.5 LTS, kernel 4.15.0-43-generic (recovery mode)
root (hd0)
kernel /boot/vmlinuz-4.15.0-43-generic root=LABEL=cloudimg-rootfs ro single
initrd /boot/initrd.img-4.15.0-43-generic

となった。

現在のカーネルのバージョン確認方法
uname -r
4.15.0-123-generic

PHP セキュリティメモ

最低限の部分

・PHP.ini

今回は、さくらのレンタルサーバーで利用している。
設置場所は、ドキュメントルートで、
echo phpinfo();
Loaded Configuration File
に反映される。

php.iniのパーミッションは600

追加内容は、
display_errors = Off
expose_php = Off

session.name = “hoge”
session.use_strict_mode=On
session.cookie_httponly=On
; HTTPSの場合
session.cookie_secure=On

allow_url_fopen = Off
file_uploads = Off

; post_max_sizeより大きくする
memory_limit = 20M
; upload_max_filesizeより大きくする
post_max_size = 20M
upload_max_filesize = 20M

・通常ファイル、ディレクトリのパーミッション

ファイル
604(もしくは644)

ディレクトリ
705(もしくは755)

・プログラム

リクエストにはワンタイムトークンを付加。
入力された値はサニタイジング。

 

LINE WORKS 自動起動しない

最近LINE WORKSが自動起動しなくなった。

どうやら、
Windows起動時に自動実行する
をチェックすると、
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
にエントリされるようだが、フルパスじゃなく実行ファイル名のみになっていた。

Get-ItemProperty -Path Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

フルパスに書き換えると、1度は自動起動するが、起動時にエントリを修正するようで、また実行ファイル名のみになってダメ。

他にも、
sysdm.cpl>環境設定>環境変数
からパスを通してみたけどダメ。

もともと正しく自動起動していたときにどういう値だったか見ていないので、どうしようもない。

再インストールは面倒なので、
Windows起動時に自動実行する
のチェックを外し、
shell:startup
にショートカットを登録した。

 

 

 

さくらのレンタルサーバ HTTPS化(無料SSL)

・無料SSL有効化

サーバコントロールパネルにログイン。

左側メニュー>ドメイン/SSL>ドメイン/SSL
をクリック。

対象ドメインにある
SSL

をクリック。

登録設定を始めるSSL証明書の種類を選択
をクリック。

Let’s Encrypt (無料SSL)
を選択する。

SNI SSL(ネームベース)
がチェックされ、
IPベースの証明書は新規でのご提供を終了いたしました、
とあるので、そのままでOK。

しばらくすれば完了。

***

・転送設定

SSL有効化が完了してから作業。

ドキュメントルートに.htaccessを設置するという方法もあるが、先程と同じく、
サーバコントロールパネルにログイン。

左側メニュー>ドメイン/SSL>ドメイン/SSL
をクリック。

対象ドメインにある
設定

をクリック。

HTTPSに転送する
にチェック。

VBA ListBox参考

ListBoxの使い方を忘れてしまうので、さっき作ったものをメモ代わり。

 

WatchGuard VPN ClientからOpenVPN GUIに変更

ときどき利用しているWatchGuard VPN Clientの調子が悪く、接続プロセス中に止ってしまうことが多くなった。

情報も少なく原因追求もできなかったので、試しにOpenVPNのクライアントをそのまま使ってみようかと考えた。
https://www.openvpn.jp/download/
から
OpenVPN-x.x.x-I601-amd64.msi
をダウンロード+インストールし、
C:\Users\xxx\AppData\Roaming\WatchGuard\Mobile VPN
の中にある、
ca.crt
client.crt
client.ovpn
client.pem
の4つのファイルを、そのまま
C:\Program Files\OpenVPN\config
の中にコピーしたらOpenVPN GUIで接続できたので、しばらく使ってみる。

***

追記:数ヶ月利用してみた結果、OpenVPNの方が安定しているような感じで、一度も問題は発生しなかった。

一応、WatchGuardの方は、
https://software.watchguard.com/SoftwareHome
からFirebox and XTMの中で適当な製品を開き、
(Software for Firebox M270, M370, M470, M570 and M670)
Mobile VPN with SSL xx.x for Windows
の最新版をダウンロードして入れたら動くようにはなった。

***

追記:1年以上OpenVPNを利用したが特に問題なし。

少し気になったのが、VPNを有効にすると、ネット接続が全てVPN経由になってしまうこと。時々切断を忘れることもあるので、特定のIPアドレスの範囲だけVPN経由に変更。

NICのメトリックで対応できるかと思ったけど、接続を実行すると、
ネットワーク宛先 / ネットマスク / ゲートウェイ / インターフェイス
0.0.0.0 / 128.0.0.0 / 192.168.113.1 / 192.168.113.5
128.0.0.0 / 128.0.0.0 / 192.168.113.1 / 192.168.113.5
(192.168.113.5がVPNのNIC)
というルーティングが追加されてしまうようでダメだった。

ちなみに、もともと存在するデフォルトルートは、
0.0.0.0 / 0.0.0.0 / 192.168.11.1 / 192.168.11.18
(192.168.11.18が物理NIC)

OpenVPNの情報が少なく適当ではあるけど、
C:\Program Files\OpenVPN\config\client.ovpn
に、
route-nopull
route 192.168.0.0 255.255.248.0
と追加した。
(192.168.0.1~192.168.7.254までVPN経由)

client.ovpnの名前を変更して、*.ovpnを複数作成すると、タスクトレイのアイコンから選択して接続できる。

***

クライアントを2.5.8>2.6.0に上げたらエラーが出たのでエラーの内容から、client.ovpnに、
data-ciphers AES-128-CBC
と追加した。

***

;redirect-gateway def1
タイミングは不明だけどVPNオンのデフォルトルートが変わるようになってしまった。のようにコメントアウトすると大丈夫だった。

VBA 起動部分テンプレート

いつも忘れてしまうのでメモ。

右クリックメニューの階層化。高速化等々。

 

PHP お問い合わせフォーム

 

C# Reflection DataTableをListに代入

DataGridViewのDataSourceにList<Model>を渡すとき、DataTableからList<Model>に代入をReflectionで作ってみる。普段はそのまま名前を書いてしまうことも多い。

 

SSL/TLS メモ

SSL/TLSは分かりづらいのでメモ

●SSLとTLS
Secure Sockets Layer
Transport Layer Security

SSLは既に廃止、プロトコルとしてはTLSのみ。呼称としてのみSSL。

●公開鍵暗号
公開鍵は暗号化
秘密鍵は復号化、公開鍵の生成。
※秘密鍵で暗号化というのは考えない。

●バージョン

Chromeデベロッパーツール>セキュリティ

●SSL/TLS証明書発行プロセス

サーバー管理者は、CSR(証明書署名要求)生成し、CA(認証局)に送付。
CSRには、公開鍵、組織情報などがDERエンコードされて含まれる。

CAは、CSRをSHA-256でハッシュ化

ハッシュに対して、中間CAの秘密鍵で署名※ルート証明書は直接使用しない

CSRにデジタル署名を付加してサーバー証明書(X.509)を生成する。

サーバーは、
・サーバー証明書(X.509) / .crt
・中間証明書 / .crt
・秘密鍵※CSR生成時、CSRに含まれる公開鍵とペアの秘密鍵 / .key
をインストール

※以下ハンドシェイク(TLSのバージョンによって違う)

・共通鍵生成
お互い、非公開パラメータと公開パラメータを生成し、公開パラメータを相手に送る。

・サーバーはクライアントに署名済証明書(中間CA証明書なども)を送付

・クライアントは署名済証明書に改ざんがないか検証
署名済証明書を検証鍵(公開鍵)で復号化し、CSRから計算したハッシュと、
復号化したハッシュを比較する。
※検証鍵はOS/ブラウザにインストールされている