今天,預計透過檢視整個系統可能存在的被攻擊層面,進行資訊安全的加強。
Internet
│
▼
Router / No-IP
│
▼
Raspberry Pi
├── SSH
├── FastAPI
├── Dashboard
├── SQLite
├── Photos
├── Telegram/API secrets
└── Meshtastic
Raspberry Pi 被入侵
SSH 密碼太弱
API 沒驗證
Port Forwarding 開太多
.env 權限錯
照片目錄可公開讀
Log 洩漏 Token
Backup 沒加密
systemd service 用 root 跑
Network
OS
Application
Secrets
Data
Service Permission
ss -lntup
FastAPI 不要直接裸露 8000,以下常見範例,都開 8000 port
Internet
↓
Router
↓
:8000
↓
Uvicorn
修改成
Internet
↓
HTTPS :443
↓
Reverse Proxy
↓
127.0.0.1:8000
↓
FastAPI
其中,IP 就不綁給 0.0.0.0,理由是 FastAPI 只需要被本機 Reverse Proxy 存取。
uvicorn app.main:app \
--host 127.0.0.1 \
--port 8000