[Linux] SSH Login Hook 自動發信通知

Intro 可以利用/etc/pam.d/下檔案的 hook 效果去觸發執行外部 Shell script file,而 Shell 中去抓取登入者資訊並寄送 email,以達到 SSH Login 自動發信通知 作法 先撰寫建立好 Shell script file 作為發送信件程式: $ vim /etc/ssh/login-notify.sh #!/bin/sh # Change these two lines: sender="sender-address@example.com" recepient="notify-address@example.org" if [ "$PAM_TYPE" != "close_session" ]; then host="`hostname`" subject="SSH Login: […]

[Network] Linux Telnet & Netcat (nc) – 測試TCP/UDP工具

Intro Netcat (nc) Telnet Telnet 簡單用於測試TCP連線 $ telnet www.example.com 80 GET /path/to/file.html HTTP/1.1 Host: www.example.com Connection: close Netcat (nc) TCP/UDP讀寫工具,測試UDP利器 在埠25建立內容未加工過的連接(類似telnet): $ nc mail.server.net 25 利用零模式I/O(參數 -z)檢查192.168.0.1的UDP埠(參數 -u)80-90是否開啟: $ nc -vzu 192.168.0.1 80-81 測試UDP,透過發送訊息 $ nc -vu example.com 443 Connection […]

[Linux][Swap] 虛擬記憶體與 Swap 分頁指南

Intro Wiki – 分頁 Swap 常見的應用情境是:在低規格的 Linux 開發環境中,安裝套件時若因記憶體不足導致失敗,可透過暫時設定 Swap 檔案,模擬額外記憶體來解決問題。 查詢與卸載 查看 Swap 狀態: $ swapon -s Filename Type Size Used Priority /dev/vdb partition 4194300 0 -2 /swapfile file 20971516 0 -3 卸載 Swap: # Partition $ sudo swapoff /dev/hdb2 […]

[SFTP] Linux SFTP Server Guide – 建置SFTP服務

Intro Server使用工具:OpenSSH 設定SFTP服務主要會限制User僅限使用SFTP以及路徑限制。 安裝與設定 設定/etc/ssh/sshd_config: # 開啟internal-sftp Subsystem,將會限制僅使用SFTP而非SSH (反註解原本設定) Subsystem sftp internal-sftp 在設定Match條件,可以使用group為條件: Match group sftp_only ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 設定完成並重啟服務後,新增user至指定group(範例為sftp_only),並將ChrootDirectory(範例為/home/%u)目錄所有者設定為root,即能使user登入SFTP 應用上,可另外加設定Match條件,ChrootDirectory也可以設定固定為如/srv,使用者即不需要家目錄 進階 使用者與群組指令 # 新增群組 groupadd sftp_only # 新增使用者,如為固定ChrootDirectory則可不設家目錄-m useradd -s /bin/false -G sftp_only username […]

[Linux] SSH Manual – SSH 使用指南

HostKeyAlgorithms | KexAlgorithms | FingerprintHash Intro RFC4252 – The Secure Shell (SSH) Authentication Protocol SSH – OpenBSD manual page server ssh_config — OpenSSH SSH client configuration files ssh $ ssh user@host.com ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D […]

[Network] Fail2ban 指南 – 搭配 SSH/Nginx (DDoS、Request Limit)

Outline SSH 設定方針 Nginx 防禦設定方針 Access log Error log by limit_req_zone 進階 Fail2ban log 設定 Email Notifications Intro Fail2ban – Manuals 架構 Fail2ban 是依照設定檔執行過濾,原始設定檔路徑: /etc/fail2ban/jail.conf 如要修改新增可以複製建立成local的設定檔名稱,如有此檔會以此檔優先: /etc/fail2ban/jail.local /etc/fail2ban/jail.d/* Ubuntu Fail2ban 0.9 版本中可以找到預設的/etc/fail2ban/jail.d/defaults-debian.conf,內容是對[sshd]做enabled = true。 所以安裝好後預設即會開啟SSH保護(預設port為22) [過濾器名稱]會對應到/etc/fail2ban/filter.d/過濾器名稱.conf。 參數解析 官方文件 – Options […]