pppfz

pppfz

欢迎来到我的超酷区块链博客! https://blog.pppfz.com
telegram
x
email

一台新到手的VPS必做的十二項配置(以Ubuntu為例)——2024年最新版

最近,我的伺服器被撐爆了,因為伺服器磁碟空間不足(其實這個問題已經存在很久了,一直沒有下定決心整改)。這次一不留神備份服務時撐爆了,我就順便重裝系統,認真調教一些配置,將一些過程進行記錄,以備查用。

一、更新元件,包管理#

要在 Ubuntu 系統上更新軟體包,可以使用以下命令:

  • 不推薦,安裝時間太長了
apt update && apt upgrade -y 
  • 推薦用下面兩條
sudo apt update  #這個命令會更新軟體包列表,讓系統知道有哪些軟體包可以更新。
sudo apt upgrade --only-upgrade #這個命令會安裝所有可用的軟體包更新。

二、常用工具#

1、VIM 編輯器#

  • 檢查有沒有安裝 VIM(主要是我習慣用 vim 編輯器了,Ubuntu 是預設自帶 nano 的)
vim --version
  • 沒有的話就用命令安裝
apt install vim 
  • 配置 VIM 為預設的系統編輯器。
    • 很簡單,執行這條命令,選擇 Vim,以後凡是自動調用編輯器的地方,都会用 Vim 啦。
sudo update-alternatives --config editor

2、安裝 command-not-found#

很多伺服器提供商可能會提供精簡版本的 Ubuntu,於是一些實用的命令行工具並不會預裝。比如command-not-found,它可以當你在打命令時,提示對應的但沒有安裝的 package。

sudo apt install command-not-found

安裝完後,就可以在使用命令行的過程中更加方便了。

三、添加普通用戶#

adduser {your-username}  {your-password}
visudo

User Privilege Specification 下加入一行 ubuntu ALL=(ALL) NOPASSWD: ALL即可。

  • 檢驗是否添加成功
su - newuser   #切換到新用戶
ls /root       #列出/root目錄下的文件(沒有root權限是看不了的)
sudo ls /root  #然後用給普通用戶授予root權限(這樣就有權限可以看到了)
exit           #退出

四、防火牆配置#

要在 Ubuntu 上使用 ufw(Uncomplicated Firewall)開啟端口 22、80 和 443,你可以按照以下步驟進行配置:

  1. 檢查 ufw 是否安裝

    • 如果尚未安裝 ufw,你可以使用以下命令安裝:sudo apt install ufw
  2. 開啟端口

    • 開啟端口 22:sudo ufw allow 22
    • 開啟端口 80:sudo ufw allow 80
    • 開啟端口 443:sudo ufw allow 443
  3. 啟用防火牆

    • 啟用 ufw 防火牆:sudo ufw enable
  4. 檢查配置

    • 可以運行 sudo ufw status 來查看防火牆的狀態和已開啟的端口。

參考文章

五、配置 SSH 登錄及 SSH Server 安全設定#

  • 先在 windows 端生成 ssh 公私鑰對
ssh-keygen -t rsa -f ~/.ssh/id_rsa_xxxx  
  • 在用戶目錄下創建authorized_keys文件,並將公鑰(pub 結尾)的內容粘入authorized_keys文件中
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
  • 禁用 root 身份登錄
    • 找到PermitRootLogin Yes這一項,然後把它後面的設定值改為no即可。
vim /etc/ssh/sshd_config

如下:

PermitRootLogin no
  • 把 PasswordAuthentication 設置成 no,禁止密碼登錄,更安全:
PasswordAuthentication no
  • SSH 端口號改為其他數字,注意了,改成其他端口後,記得防火牆設定也要更新
Port {SSH端口號,最好在10000以上}

最後重啟 SSH Server 生效:

sudo systemctl restart sshd.service

六、自定義 shell 界面安裝#

  • 安裝 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

七、Docker 配置#

1、安裝 Docker#

sudo apt install \
        apt-transport-https \
        ca-certificates \
        curl \
        software-properties-common
  • 再安裝 key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 再增加 Docker 官方源:
sudo add-apt-repository \
     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
     $(lsb_release -cs) \
     stable"
  • 最後就可以安裝 Docker 了,我一般也同時會用 Docker Compose,一起安裝上去吧!
sudo apt update
sudo apt install docker-ce docker-compose
  • 安裝好 Docker 後,記得將當前用戶加到 docker 用戶組裡去(如果你不想每次都用 sudo 用 Docker 的話)
sudo gpasswd docker -a username

2、Docker 日誌管理#

全局配置日誌大小限制

  • 創建或修改文件 /etc/docker/daemon.json,並增加以下配置(3 份日誌、每份 10M)。
{
        "log-driver": "json-file",
        "log-opts": {
                "max-file": "3",
                "max-size": "10m"
        }
}
  • 隨後重啟 Docker 服務
sudo systemctl daemon-reload
sudo systemctl restart docker

不過已存在的容器不會生效,需要重建才可以!

單個容器日誌大小限制

  • 寫在 docker-compose 中
logging:
  driver: json-file
  options:
    max-size: "100m"
    max-file: "3"

八、swap 配置#

swapoff -a   #刪除原分區
dd if=/dev/zero of=/root/swapfile bs=1M count=1024  #配置新分區大小
mkswap /root/swapfile    
swapon /root/swapfile
  • 最後設置開機啟動:可以編輯 /etc/fstab 文件,把最後一行改成:/root/swapfile swap swap defaults 0 0

參考文章:

九、logrotate 日誌大小限制#

sudo apt install logrotate
sudo apt install cron
/var/log/syslog
/var/log/mail.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/cron.log
{
        weekly  
        rotate 3
        maxsize 100M
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                /usr/lib/rsyslog/rsyslog-rotate
        endscript
}

參考文章:

十、Fail2ban 封禁 IP#

https://aws.amazon.com/cn/blogs/china/open-source-tool-to-protect-ec2-instances-fail2ban/
https://github.com/fail2ban/fail2ban/issues/3420

十一、面板安裝 ——1panel#

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

sudo apt autoremove docker-compose

參考文章:

十二、常規安全更新#

  • 安裝 unattended-upgrades 來自動更新 security upgrade

通過 unattended-upgrades,可以使 Ubuntu 系統自動進行常規的安全相關更新,使系統一直保持 security。

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

參考資料:

原文地址:

https://blog.pppfz.com/posts/new-vps-common-setup.html

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。