CentOS 7 安裝方式很簡單,所以就不再贅述,如果想要教學指南可參考CentOS 7 安裝,本篇只介紹安裝完後設定的指令。
帳號及密碼
變更 root 密碼
如果你在圖形化介面安裝時 CentOS 時已經有設定 root 密碼,其實可以跳過這個步驟,但是如果你的 root 密碼是使用預設,請務必、一定要在登入的第一時間修改密碼。
修改 root 密碼新增使用者帳號
因為安全性考量,在玩弄 CentOS 時非常不建議使用 root 帳號,非常容易出人命,所以新建一個帳號來玩耍,如果有需要 root 權限,再使用 sudo 就好了。
新增使用者(user01)設定密碼安裝及設定套件
檢查 yum 是否安裝
yum 套件非常強大,專司 package 的安裝、更新、移除等工作。
檢查 yum 是否已安裝如果有類似以下的內容表示已有安裝 yum1 2 3 4
| yum-metadata-parser-1.1.4-10.el7.x86_64 yum-cron-3.4.3-118.el7.centos.noarch yum-3.4.3-118.el7.centos.noarch yum-plugin-fastestmirror-1.1.31-25.el7_0.noarch
|
安裝 sudo
權限管理套件,能暫時得到 root 權限。
檢查是否已安裝1
| yum list installed | grep sudo
|
安裝 sudo修改 sudo 設定在 root ALL=(ALL) ALL
下面複製一樣的內容,並把 root
改為帳號,例如
或是希望使用 sudo 時免輸入密碼
1
| user01 ALL=(ALL) NOPASSWD:ALL
|
以下所有動作都應該使用 sudo 或是先切換成 root 身分操作喔!
禁止 root 使用 ssh 登入
避免有心人士得到 root 密碼後進去搞破壞,所以乾脆不要打開 root 的 ssh。
修改 ssh 設定找到 #PermitRootLogin yes
取消註解,並把 yes
改為no
。
變更 ssh port
ssh 的 port 預設為22,很常成為攻擊的目標,避免不必要的麻煩可以把它改掉。
修改 ssh 設定找到 #Port 22
取消註解並改成你想要的阜號 (1024 – 65535,為避免衝突請先參考 這裡)
重啟 ssh安裝及設定 firewalld
firewalld 是 CentOS 7 預設的防火牆使用者介面,安裝後可以查看防火牆狀態,雖然介面是 firewalld,底層仍然是 iptables。
使用 yum 來安裝修改設定1
| vi /etc/firewalld/services/ssh.xml
|
讓新的 ssh port 可以通過防火牆,把原本的 port="22″
改為你設定的阜號
重載安裝及設定 fail2ban
有些無聊人士會使用暴力破解法去猜登入密碼,為了避免這種問題,所以使用 fail2ban 來讓短時間登入失敗次數過多的 ip 被封鎖。
用 yum 安裝套件如果失敗,可能因為套件不在套件褲內,先執行以下指令,再用 yum 安裝1
| rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
|
修改 log 設定1
| vi /etc/fail2ban/fail2ban.conf
|
把 #logtarget = SYSLOG
取消註解並更改路徑為/var/log/fail2ban.log
設定封鎖規則1 2
| cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local vi /etc/fail2ban/jail.local
|
找到[sshd]
,在他前面新增規則如下
登入失敗連續 3+1 次,封鎖 43200 秒1 2 3 4 5 6
| [ssh-iptables] enabled = true filter = sshd logpath = /var/log/secure maxretry = 3 bantime = 43200
|
在任何提示模式自動啟動服務啟動服務如果沒有作用請執行1
| systemctl restart fail2ban.service
|
檢查 ssh 的封鎖狀態1
| fail2ban-client status sshd
|
誤鎖救援方式
查看規則,應該可以找到名為 f2b-ssh-iptables 的 chain查看被 f2b-ssh-iptables 規則所封鎖的 IP1
| iptables f2b-ssh-iptables -L
|
解除封鎖,結尾的 N 表示第幾個 IP1
| iptables -D f2b-ssh-iptables N
|