2026年11月11日 星期三

squid-openssl 設定範例

設定金鑰
sudo mkdir -p /etc/squid/certs
cd /etc/squid/certs

# 產生私鑰與根憑證
sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
  -keyout squid-ca.key \
  -out squid-ca.pem \
  -subj "/CN=Debian-Squid-CA/O=Internal Proxy/C=TW"

# 產生瀏覽器/終端系統匯入用的 DER 格式 (選用)
sudo openssl x509 -in squid-ca.pem -outform DER -out squid-ca.der

# 設定安全權限,避免非授權存取私鑰
sudo chown -R proxy:proxy /etc/squid/certs
sudo chmod 400 /etc/squid/certs/squid-ca.key
sudo chmod 444 /etc/squid/certs/squid-ca.pem


編輯 /etc/squid/squid.conf
# 1. 網路監聽與 SSL-Bump 核心配置

# 監聽 3128 埠並啟用 SSL-Bump 支援
http_port 3128 tcpkeepalive=60,30,3 ssl-bump \
  cert=/etc/squid/certs/squid-ca.pem \
  key=/etc/squid/certs/squid-ca.key \
  generate-host-certificates=on \
  dynamic_cert_mem_cache_size=20MB

# 憑證產生輔助程式 (Debian 13 預設路徑)
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslcrtd_children 8 startup=2 idle=1

# 信任系統預設 CA 憑證庫
sslproxy_cafile /etc/ssl/certs/ca-certificates.crt

# 2. ACL 定義 (Access Control Lists)
# 允許連線的內網來源網段 (請依實際內網配置調整)
acl localnet src 192.168.0.0/16
acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12

# 連接埠與協定定義
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 443         # https
acl Safe_ports port 1025-65535  # unregistered ports
acl CONNECT method CONNECT

# 欲阻擋的 HTTP 寫入 / 上傳方法
acl UploadMethods method POST PUT PATCH

# 內部自簽測試主機 (針對先前 10.6.140.1 除錯)
acl InternalTestServer dst 10.6.140.1
acl InternalTestSNI ssl::server_name apache2-test.loc

# 3. 憑證錯誤處理 (排除 503 / broken_cert 核心設定)
# 允許內部測試主機略過自簽憑證驗證
#sslproxy_cert_error allow InternalTestServer
#sslproxy_cert_error allow InternalTestSNI

# 關閉對端強制憑證驗證,避免 IP 存取時因主機名稱不符造成連線中斷
sslproxy_flags DONT_VERIFY_PEER

# 其餘外部網站維持嚴格憑證驗證
sslproxy_cert_error deny all

# 4. HTTP 存取控制規則 (順序關鍵:deny 必須置於 allow 之前)
# 基本安全檢查:拒絕非安全連接埠與非 SSL 埠的 CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# 快取管理員權限
http_access allow localhost manager
http_access deny manager

# 【核心阻擋】拒絕所有 POST / PUT / PATCH 請求
http_access deny UploadMethods

# 允許內網與本機發起其餘合法連線 (GET, HEAD, CONNECT 等)
http_access allow localnet
http_access allow localhost

# 預設拒絕其餘未定義來源
http_access deny all

# 5. SSL-Bump 處理流程
# 步驟 1:窺探連線取得 SNI 與 IP
acl step1 at_step SslBump1
ssl_bump peek step1

# (備用選項) 若希望特定主機直接穿透而不進行任何解密檢視,可取消註解下一行:
# ssl_bump splice InternalTestServer
# 步驟 2/3:對其餘所有 HTTPS 流量執行解密 (Bump),以落實 POST/PUT 檢查

ssl_bump bump all

# 6. 快取與系統日誌
access_log daemon:/var/log/squid/access.log squid
coredump_dir /var/spool/squid
shutdown_lifetime 3 seconds

Debian 13 加入系統信任庫的憑證

sudo cp internal_device.crt /usr/local/share/ca-certificates/internal_device.crt
sudo update-ca-certificates

移除
sudo update-ca-certificates --fresh
sudo rm /usr/local/share/ca-certificates/internal_device.crt

2026年11月6日 星期五

NFS v3 使用 PORT

遠端配額伺服器連接埠       RQUOTAD_PORT:4001   
鎖定 TCP 連接埠上的要求  LOCKD_TCP_PORT:32768   
鎖定 UDP 連接埠上的要求  LOCKD_UDP_PORT:32769   
掛載常駐程式連接埠            MOUNTD_PORT:32767   
NSM 服務常駐程式連接埠   STATD_PORT:32765   
埠號範圍必須在 1025~65535 之間

2026年11月5日 星期四

Conda Channel

Conda-Forge 官方 CDN
https://conda.anaconda.org/conda-forge/

Anaconda.org 官方社群 CDN
各大專案的官方頻道(如 PyTorch、BioConda 等):
PyTorch:https://conda.anaconda.org/pytorch/
BioConda:https://conda.anaconda.org/bioconda/

歐洲學術:
主通道:https://ftp.fau.de/anaconda/pkgs/main/
Conda-Forge:https://ftp.fau.de/anaconda/cloud/conda-forge/

巴西利亞大學開源(UnB - Universidade de Brasília)
主通道:https://mirror.unb.br/anaconda/pkgs/main/
Conda-Forge:https://mirror.unb.br/anaconda/cloud/conda-forge/

設定使用範例
編輯使用者目錄下的 .condarc 檔案(Windows: C:\Users\<使用者名稱>\.condarc,Linux/macOS: ~/.condarc)

YAML
channels:
  - conda-forge
  - defaults

show_channel_urls: true

default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r

custom_channels:
  conda-forge: https://conda.anaconda.org/conda-forge
  pytorch: https://conda.anaconda.org/pytorch

測試
conda clean -i -y
conda search numpy -c conda-forge

2026年11月4日 星期三

Proxmox VE LXC 安裝 Tailscale

編輯 /etc/pve/lxc/[[lxc-id]].conf 加入

lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

2026年10月21日 星期三

FreeBSD 時間設定

時區設定
tzsetup
cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime

adjkerntz -a

NTP 設定
編輯 /etc/ntp.conf
# 指定僅向 tock.stdtime.gov.tw 進行對時
server tock.stdtime.gov.tw iburst

# 預設拒絕外部所有不信任的存取(安全性設定)
restrict default limited kod nomodify notrap noquery nopeer
restrict source limited kod nomodify notrap noquery

# 開放本機無限制存取
restrict 127.0.0.1
restrict ::1

# 閏秒清單
leapfile "/var/db/ntpd.leap-seconds.list"

啟用服務
service  ntpd onestart

FreeBSD Sylve Jail 設定 xrdp + 中文輸入

pkg install -y xrdp xfce xorg xorgxrdp
pkg install -y xorg xfce xfce4-goodies
pkg install -y noto-tc
pkg install -y zh-CJKUnifonts
pkg install -y zh-CNS11643-font
fc-cache -f -v

pkg install -y fcitx5 fcitx5-configtool fcitx5-gtk2 fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt5 fcitx5-qt6
pkg install -y zh-fcitx5-chewing zh-fcitx5-chinese-addons zh-fcitx5-table-extra zh-fcitx5-table-other

service dbus start
service xrdp start
service xrdp-sesman start 

XRDP 設定 ~/.startwm.sh
編輯 /usr/local/etc/xrdp/startwm.sh
# 系統選單與桌面語系
export LANG=zh_TW.UTF-8
export LC_CTYPE=zh_TW.UTF-8
export LC_MESSAGES=zh_TW.UTF-8

# Fcitx5 輸入法模組
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

exec startxfce4

修正 /usr/local/etc/xrdp/key.pem /usr/local/etc/xrdp/cert.pem
service xrdp stop
rm -f /usr/local/etc/xrdp/cert.pem /usr/local/etc/xrdp/key.pem

# OpenSSL 手動生成現代化 SHA256 憑證 (有效期限 3650 天)
openssl req -x509 -newkey rsa:2048 -sha256 -nodes \
  -keyout /usr/local/etc/xrdp/key.pem \
  -out /usr/local/etc/xrdp/cert.pem \
  -days 3650 \
  -subj "/CN=FreeBSD-Jail-xrdp"

# 修正檔案權限,確保 xrdp 帳號可存取
chown _xrdp:_xrdp /usr/local/etc/xrdp/key.pem /usr/local/etc/xrdp/cert.pem
chmod 600 /usr/local/etc/xrdp/key.pem
chmod 644 /usr/local/etc/xrdp/cert.pem