Ubuntu新服务器安装流程整理小白参考文,从拿到服务器安全设置到安装面板一个比较简单的流程,后面会持续更新。
1、修改计算机名
sudo vi /etc/hosts
2、修改DNS
sudo vi /etc/resolv.conf
2.1 选择其中一个DNS即可,以下主要针对的是海外服务器
# Cloudflare DNS
nameserver 1.1.1.1 nameserver 1.0.0.1
# Google DNS nameserver 8.8.8.8 nameserver 8.8.4.4
3、更新软件包列表
sudo apt-get update
4、升级所有软件包
sudo apt-get upgrade -y
5、分发版升级(可选)
sudo apt-get dist-upgrade
6、清理不再需要的软件包和
sudo apt-get autoremove -y
7、清理缓存
sudo apt-get clean
8、检查当前内核版本
uname -r
9、重新安装内核
sudo apt-get install linux-image-5.15.0-72-generic -y
10、更新GRUB配置
sudo update-grub
11、重启服务器
sudo reboot
12、验证内核版本
uname -r
13、设置SSH空闲超时时间
13.1编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
13.2设置空闲超时时间
ClientAliveInterval 600 ClientAliveCountMax 0
13.3设置登录超时时间
LoginGraceTime 60
13.4保存并关闭文件后重启SSH服务
sudo systemctl restart ssh
13.5验证配置
sudo sshd -T | grep clientalive
13.6确保SSH远程管理使用加密协议(SSH协议版本2)
13.6.1查找 Protocol 相关的配置行。如果没有找到,添加以下行,大概在# Authentication:下方即可
Protocol 2
13.6.2需要重启SSH服务
sudo systemctl restart sshd
13.6.3验证配置,确认SSH服务正在使用协议版本2
ssh -Q protocol-version
14、设置SSH密码最小间隔天数
14.1编辑 /etc/login.defs 文件
sudo vi /etc/login.defs
14.2设置 PASS_MIN_DAYS,在文件中找到或添加以下一行(如果已经存在,修改其值;如果不存在,添加这一行)
PASS_MIN_DAYS 7
14.3设置root用户的密码最小间隔天数,使用chage命令来设置root用户的密码最小间隔天数
sudo chage --mindays 7 root
15、配置GRUB引导加载程序文件权限
15.1检查/boot/grub/grub.cfg文件的当前权限
ls -l /boot/grub/grub.cfg
15.2将grub.cfg文件的权限设置为600
sudo chmod 600 /boot/grub/grub.cfg
15.3确保grub.cfg文件的所有者是root
sudo chown root:root /boot/grub/grub.cfg
15.4验证配置
ls -l /boot/grub/grub.cfg
输出结果应类似于
-rw------- 1 root root 12345 Jul 5 14:52 /boot/grub/grub.cfg
16、处理具有SUID和SGID权限的文件以防止潜在的权限提升风险
ls -l /usr/bin/chage /usr/bin/gpasswd /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /bin/mount /bin/umount
16.1移除SUID和SGID权限
16.1.1使用chmod命令来移除这些文件的SUID和SGID位:
sudo chmod u-s /usr/bin/chage sudo chmod u-s /usr/bin/gpasswd sudo chmod u-s /usr/bin/chfn sudo chmod u-s /usr/bin/chsh sudo chmod u-s /usr/bin/newgrp sudo chmod u-s /bin/mount sudo chmod u-s /bin/umount
16.1.2如果这些文件也具有SGID位,可以使用以下命令移除:
sudo chmod g-s /usr/bin/chage sudo chmod g-s /usr/bin/gpasswd sudo chmod g-s /usr/bin/chfn sudo chmod g-s /usr/bin/chsh sudo chmod g-s /usr/bin/newgrp sudo chmod g-s /bin/mount sudo chmod g-s /bin/umount
16.3再次检查这些文件的权限,以确保SUID和SGID位已被移除:
ls -l /usr/bin/chage /usr/bin/gpasswd /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /bin/mount /bin/umount
17、限制核心转储(core dumps)
17.1检查当前的核心转储设置,如果输出结果为1或2则表示核心转储未被限制。
sysctl fs.suid_dumpable
17.2使用sysctl命令临时设置核心转储限制。
sudo sysctl -w fs.suid_dumpable=0
17.3编辑/etc/sysctl.conf文件,永久设置核心转储限制,重启后仍然生效。
sudo vi /etc/sysctl.conf
17.3.1在末尾添加以下行。
fs.suid_dumpable = 0
17.4.1运行以下命令以立即应用/etc/sysctl.conf文件中的设置。
sudo sysctl -p
17.5使用17.1中命令再次检查核心转储设置以确保更改已生效。
18、会话会话超时设置
18.1编辑/etc/profile文件,设置命令行超时。
sudo vi /etc/profile
18.2在文件末尾添加以下行,以设置超时时间为300秒(5分钟)
TMOUT=300 export TMOUT
18.3可以执行以下命令,立即使配置生效。
source /etc/profile
19、安装和配置安全工具
sudo apt install chkrootkit rkhunter sudo chkrootkit sudo rkhunter --check
选择安装Fail2Ban、ufw、设置定时更新aaPanel或宝塔忽略,Fail2Ban和ufw面板中自带。
20、挂载磁盘(可选) 挂载磁盘时如果安装aaPanel或宝塔可以使用官方提供的挂载脚本,如果不是可使用下面的脚本。
wget https://gitee.com/seots/disk/raw/master/disk.sh -O disk.sh && chmod +x disk.sh && ./disk.sh
aaPanel在线安装命令
URL=https://www.aapanel.com/script/install_6.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi;bash install_6.0_en.sh aapanel
有偿服务:Me89627、1969170027
本文地址:https://www.cnblogs.com/shenjingwa/articles/18285738