前言
此篇記錄了我在VPS Ubuntu主機上的安全設定,比如不回應Ping、鎖Root......等1. 不回應Ping
首先先切換su:sudo su
再來下命令讓主機不回應Ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
如果要重新恢復的話:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
如果要讓設定值永久生效的話,要編輯“/etc/sysctl.conf”,並加上:
net.ipv4.icmp_echo_ignore_all=1
2. 安裝Failtoban
Failtoban是提供監測登入失敗紀錄並將嘗試太多次的ip加進防火牆的服務要安裝的話:
sudo apt-get install fail2ban
安裝完後就應該會自動執行了,要看服務狀態的話可以打:
sudo service fail2ban status
3. SSH 安全相關設定
在SSH方面,可以做的設定有:- 啟用新的帳號並給予sudo權限,避免使用Root
- 關閉Root遠端登入
- 限定Public Key SSH登入, 並關閉密碼登入
useradd <username> //新增使用者
passwd <username> //更改密碼
visudo
在可以看到root的底下加入
root ALL=(ALL) ALL
<username> ALL=(ALL) ALL
這樣新的使用者就可以使用sudo命令了
2、3的做法請輸入:
vim /etc/ssh/sshd_config
並加入:
PermitRootLogin no
PasswordAuthentication no
4. 設定防火牆
建議先設定完所有要執行的服務如nginx, sftp, PPTP....等再來做這個首先先看目前主機執行的所有服務和監聽的端口
netstat -taupen //列出所有監聽端口的服務
然後在ufw內加入允許的端口規則,比如說要開放80, 443port的話
sudo ufw allow 80
sudo ufw allow 443
設定完啟動ufw防火牆:
sudo ufw enable
參考來源:
- http://ubuntuhandbook.org/index.php/2013/07/disable-ping-response-ubuntu-server/
- http://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers
- https://hackertarget.com/firewalling-ubuntu-ufw-ipv4-ipv6/