Tag: iptables

netstat 指令 – 檢查網路狀況工具

netstat 指令可以用作檢視網路連線、網卡統計、路由設定及其他關於網路的資訊,對於進行網路上的除錯十分有用。除了 Linux 外,在其他主流作業系統也可以找到 netstat, 包括 Mac OSX, Solaris, BSD 及 Windows。netstat 使用例子:列出所有連接埠: $ netstat -a 列出所有 TCP 連接埠: $ netstat -at 列出所有 UDP 連接埠: $ netstat -au 列出所有連線的 IP: …

CentOS 安裝 CSF 防火牆

Config Server Fireall (CSF) 是 Linux 下基於 iptables 開發的防火牆套裝工具, 除了基本的防火牆外, 也可以做到類似 Fail2Ban 的偵測暴力攻擊的功能。以下是在 RHEL 及 CentOS 7 安裝 CSF 的方法。CSF 沒有包括在預設的 Repo 內, 需要下載手動安裝, 由於 CSF 是基於 Perl 開發, 而在安裝前需要先安裝 …

Fail2ban 攔截暴力入侵 WordPress

WordPress 是目前最受歡迎的 CMS, 而針對 WordPress 的攻擊也很多, 本文會講述使用 Fail2ban 攔截對 WordPress 的暴力入侵。如果未安裝 Fail2ban, 先安裝 Fail2ban, 可以參考本站另一篇文章:攔截暴力入侵的 IP — Fail2Ban安裝好 Fail2ban 後, 在 Fail2ban 的 filter 目錄建立 wordpress 的 filter, 以下會以 /etc/fail2ban/filter.d/wordpress.conf …

手動解除 Fail2ban 封鎖的 IP

Fail2ban 是十分好用的防禦暴力破解攻擊的工具, 將 Fail2ban 封鎖的 IP 解除封鎖, 只要使用 Fail2ban 內建的 fail2ban-client 即可完成。首先用 iptables 檢視被封鎖的 ip: # iptables -nvL 然後要知道被封鎖的 IP 被 Fail2ban 那一個 Jail 封鎖, 因為主機內可以設定了多個 Fail2ban jail, 用以下指令列出所有 jail: …

Linux 下用 iptables 預防 DDOS

DDOS 是十分常見的攻擊,即使是一般使用者,下載一套 DDOS 軟體,或者直接安裝 kali linux, 便可以很簡單發動 DDOS 攻擊,除了遇到 DDOS 攻擊才採取攔截外,也可以透過 iptables 或一些 Linux 設定來預防 DDOS 攻擊,以下會列出一些預防 DDOS 的設定及 iptables 規則。Linux Kernel 透過修改 Linux Kernel 的設定,同樣可以有效減低 DDOS 的威脅,RHEL 7 及 …

Linux 用 netstat 偵測 DDOS 攻擊

當主機回應很慢時,除了可能是因為系統的負荷過大,或者系統設定錯誤外,另一個可能性是遭受 DDOS 攻擊。對於小規模 DDOS 攻擊, 使用 Linux 內建的工具偵測來源 IP 及阻擋可以達到一定的效果, 以下會示範用 netstat 及其他 Linux 內建指令,檢測系統是否遭受 DDOS 攻擊。用 netstat 列出所有連線, 可以用以下指令:以上指令列出相當多的連線, 我們先用 grep 過濾出我們想要的資訊, 然後用 sort 將 ip 排序, 例如我想查看 port …

iptables 指令入門

iptables 是一套 Linux 下的防火牆,可以按需要建立 iptables 規則,允許或阻擋網路流量。但透過 SSH 設定 iptables 時要格外小心,因為如果設定錯誤,可能會阻擋外部連線,需要到機器面前進行修復,多年前我試過輸入一道錯誤的 iptables 指令,搞到要立即趕到 data center 修復。iptables 設定時主要分三種類型,分別是 INPUT, FORWARD 及 OUTPUT。INPUT: 這個行為是外來的連線,例如從遠端 SSH 到伺服器,iptables 會將這個連線定義為 INPUT。FORWARD: 這是外來的連線,但最終目的地不是伺服器本身,只是轉送到其他機器,例如路由器,除了 routing, NAT 等網路服務外,一般上不會用到這種類型。OUTPUT: 從本機連接到外部的連線,這個可以允許或阻擋本機連接對外的服務。而 …

RHEL / CentOS 防火牆開啟埠號

RHEL 及 CentOS 預設的防火牆會預設限制埠號對外開放, 如果安裝一些伺服器 (例如 Apache, NFS, Samba 等), 在本機測試正常, 但不能在外部連接, 可能是給防火牆封鎖了, 那便需要在防火牆開啟相應的埠號 (如 Apache 要開啟 80 或 443)。在 RHEL 6 及 CentOS 6, 預設是使用 iptables, 而在 RHEL 7 …

Linux 禁止 ping 及開啟 ping

Linux 系統預設允許回應 ping, 但有時允許回應 ping 會為伺服器帶來安全問題, 在 Linux 要禁止 ping 回應, 可以用以下兩個方法實現:1. 修改 Linux 核心參數以下方法是透過修改檔案 /proc/sys/net/ipv4/icmp_echo_ignore_all, 預設值是 0, 改為 1 便會禁止 ping: # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 以上設定雖然會立即生效, 但只是暫時性, 當伺服器重新開機後便會失效, …

iptables 規則加入註解

iptables 是很多 Linux 發行版的預設防火牆, 在 iptables 加入多條規則後, 時間長了可能會忘記加入的原因, 如果為 iptables 規則加入註解, 就不會有以上問題。要在 iptables 的規則加入註解, 語法是在 iptables 指令加上 , 例如我要封鎖 IP 1.2.3.4, 註解是 “block ddos ip”, 語法是這樣: # iptables -A INPUT …