2024年1月31日 星期三

HTTP 安全性 Headers

HTTP Strict-Transportation-Security (HSTS)
伺服器告知瀏覽器必須使用HTTPS協定進行連線。

相關設定
Strict-Transport-Security: max-age=31536000; includeSubDomains
max-age:單位是秒
includeSubDomains:這個網站及子網域

Content-Security-Policy (CSP)
限制瀏覽器載入資源來源,避免XSS攻擊。

相關設定
Content-Security-Policy: script-src 'self'
script-src:限制可以載入JavaScript資源的地方
self:代表瀏覽器只能從當前的網域載入JavaScript

網頁中設定
在 http header 加入 Content-Security-Policy-Report-Only: {Policy} 
當有不符合安全政策的情況時,瀏覽器會提報錯誤,但該行為不會終止。

X-Frame-Options (XFO)
防止當前的頁面被嵌入另一個網站 HTML的iframe 中

相關設定
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM 

Debain 12 Apache2 設定
a2enmod headers
編輯  /etc/apache2/sites-available/default-ssl.conf 加入
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

檢查
使用 chrome瀏覽器的開發者選項-Network-Headers,判斷是否已經開啟HSTS
根據HSTS的配置,查看 Strict-Transport-Security 配置值


Debian 12 安裝 sqlar

apt install make gcc
apt install zlib1g-dev
apt install libfuse-dev

wget https://www.sqlite.org/snapshot/sqlite-snapshot-202403261807.tar.gz
wget https://sqlite.org/sar/tarball/4824e73896/sqlar-src-4824e73896.tar.gz

tar zxvf sqlar-src-4824e73896.tar.gz
tar zxvf sqlite-snapshot-202403261807.tar.gz
cd sqlar-src-4824e73896
cp ../sqlite-snapshot-202403261807/sqlite3.c ./
cp ../sqlite-snapshot-202403261807/sqlite3.h ./

make
make sqlarfs

Debian 12 密碼相關設定

設定密碼使用期限
編輯 /etc/login.defs
PASS_MAX_DAYS 180  # 密碼期限(天)

設定密碼規則
apt install libpam-pwquality
確認 /etc/pam.d/common-password 包含內容
password        requisite                       pam_pwquality.so retry=3

編輯 /etc/security/pwquality.conf 加入規則
minlen=9    #密碼最小長度
dcredit=-1  #數字字母最少 1 個
ucredit=-1  #大寫字母最少 1 個
lcredit=-1  #小寫字母最少 1 個
ocredit=-1  #其他字母最少 1 個

修改現存使用者的密碼到期時間
chage
passwd --expire $USER

Proxmox VE LV Status NOT available

lvchange -an pve/data_tdata
lvchange -an pve/data_tmeta
lvchange -ay pve/data
vgchange -ay 

PIP3 安裝錯誤訊息 error: externally-managed-environment

pip3 install please-cli
error: externally-managed-environment

修正方法
方法1.
mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.bk

方法2 使用 pipx
apt install pipx 
pipx ensurepath
重新登入

2024年1月24日 星期三

LXC Linux /tmp 使用 tmpfs 問題

必須注意 tmpfs 中檔案容量超過系統可正常運行的記憶體,一旦超過系統將會關機,此項風險,可讓一般帳號的使用者可以利用此關機