Ubuntu新服务器安装流程整理
Ubuntu新服务器安装流程整理小白参考文,从拿到服务器安全设置到安装面板一个比较简单的流程,后面会持续更新。
1、修改计算机名
# 将文件中的旧主机名替换为新主机名(这里可以跳过)sudovi /etc/hostname
# 保持和hostname名称一致sudovi /etc/hosts
# 重启服务器应用更改sudoreboot
2、修改DNS
sudovi /etc/resolv.conf
# 选择以下其中一个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、更新软件包列表
sudoapt-get update
4、升级所有软件包
sudoapt-get upgrade -y
5、分发版升级(可选)
sudoapt-get dist-upgrade -y
6、清理不再需要的软件包和
sudoapt-get autoremove -y
7、清理缓存
sudoapt-get clean
8、更换内核
# 检查当前内核版本uname-r# 重新安装内核,在Ubuntu的LTS版本(如Ubuntu 20.04 LTS或Ubuntu 22.04 LTS)中使用。sudoapt-getinstall linux-image-5.15.0-72-generic -y# 更新GRUB配置sudoupdate-grub# 重启服务器sudoreboot# 再次验证内核版本uname-r
9、设置SSH空闲超时时间
# 编辑SSH配置文件sudovi /etc/ssh/sshd_config
# 设置空闲超时时间,按照以下进行修改
ClientAliveInterval 600
ClientAliveCountMax 0# 设置登录超时时间
LoginGraceTime 60# 确保SSH远程管理使用加密协议(SSH协议版本2)#查找 Protocol 相关的配置行。如果没有找到,添加以下行。# 大概在# Authentication:下方即可
Protocol 2# 重启SSH服务sudo systemctl restart sshd
# 验证配置ClientAlive相关设置。sudo sshd -T|grep clientalive
# 确认SSH服务正在使用协议版本2ssh-Q protocol-version
10、设置SSH密码最小间隔天数
# 编辑/etc/login.defs文件sudovi /etc/login.defs
# 设置 PASS_MIN_DAYS,在文件中找到或添加以下一行# 如果已经存在,修改其值;如果不存在,添加这一行
PASS_MIN_DAYS 7# 设置root用户的密码最小间隔天数# 使用chage命令来设置root用户的密码最小间隔天数sudo chage --mindays7 root
11、配置GRUB引导加载程序文件权限
# 检查/boot/grub/grub.cfg文件的当前权限ls-l /boot/grub/grub.cfg
# 将`grub.cfg`文件的权限设置为`600`sudochmod600 /boot/grub/grub.cfg
# 确保`grub.cfg`文件的所有者是`root`sudochown root:root /boot/grub/grub.cfg
# 验证配置ls-l /boot/grub/grub.cfg
# 输出结果应类似于# -rw------- 1 root root 12345 Jul 5 14:52 /boot/grub/grub.cfg
12、处理具有SUID和SGID权限的文件以防止潜在的权限提升风险
ls-l /usr/bin/chage /usr/bin/gpasswd /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /bin/mount /bin/umount
# 移除`SUID`和`SGID`权限# 使用`chmod`命令来移除这些文件的SUID和SGID位:sudochmod u-s /usr/bin/chage
sudochmod u-s /usr/bin/gpasswd
sudochmod u-s /usr/bin/chfn
sudochmod u-s /usr/bin/chsh
sudochmod u-s /usr/bin/newgrp
sudochmod u-s /bin/mount
sudochmod u-s /bin/umount
# 如果这些文件也具有SGID位,可以使用以下命令移除:sudochmod g-s /usr/bin/chage
sudochmod g-s /usr/bin/gpasswd
sudochmod g-s /usr/bin/chfn
sudochmod g-s /usr/bin/chsh
sudochmod g-s /usr/bin/newgrp
sudochmod g-s /bin/mount
sudochmod g-s /bin/umount
# 再次检查这些文件的权限,以确保SUID和SGID位已被移除:ls-l /usr/bin/chage /usr/bin/gpasswd /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /bin/mount /bin/umount
13、限制核心转储(core dumps)、禁Ping、开启TCP-SYNcookie保护
# 检查当前的核心转储设置,如果输出结果为1或2则表示核心转储未被限制。sysctl fs.suid_dumpable
# 使用sysctl命令临时设置核心转储限制。sudosysctl-wfs.suid_dumpable=0# 编辑 /etc/sysctl.confsudovi /etc/sysctl.conf
# 在末尾添加以下行三行,分别是禁用 SUID 程序生成 core dump、禁止Ping、开启TCP-SYNcookie保护
fs.suid_dumpable =0
net.ipv4.icmp_echo_ignore_all =1net.ipv4.tcp_syncookies=1# 运行以下命令以立即应`用/etc/sysctl.conf`文件中的设置。sudosysctl-p
14、会话会话超时设置
# 编辑/etc/profile文件,设置命令行超时。sudovi /etc/profile
# 在文件末尾添加以下行,以设置超时时间为300秒(5分钟)TMOUT=300export TMOUT
# 执行以下命令,立即使配置生效。source /etc/profile
15、rm命令配置别名
让
ls
命令列出更详细的文件信息以及降低
rm
命令误删文件的风险
编辑
~/.bashrc
文件
vi ~/.bashrc
# 在文件末尾添加或修改以下行aliasls='ls -alh'aliasrm='rm -i'# 保存并退出编辑器source ~/.bashrc
16、禁用wheel组外的用户
编辑
/etc/pam.d/su
文件
sudovi /etc/pam.d/su
# 删除以下的注释
auth required pam_wheel.so
# 创建 wheel 组(如果未存在)sudo addgroup wheel
# 将需要切换为 root 的用户添加到 wheel 组:sudo gpasswd -a[用户] wheel
将
[用户]
替换为实际的用户名。
17、安装和配置安全工具
sudoaptinstall chkrootkit rkhunter -ysudo chkrootkit
sudo rkhunter --check# 中断后重新运行检查,非中断或重新检查这步直接跳过。sudo rkhunter --checkall
遇到
Press <ENTER> to continue
按下回车即可,可能需要按多次。
18、挂载磁盘
挂载磁盘时安装
aaPanel
或
宝塔
使用官方提供的挂载脚本,不是可使用下面的脚本。
具体挂载到什么位置根据使用情况输入,建议在确定好位置后在挂载磁盘以及安装面板。
宝塔
面板和
aaPanel
挂载到
/www
、
小皮
面板挂载到
/xp
。
wget https://gitee.com/seots/disk/raw/master/disk.sh -O disk.sh &&chmod +x disk.sh && ./disk.sh
19、选择安装(直接跳过)
Fail2Ban
、
ufw
、
Supervisor
120、面板安装
以下面板安装命令仅支持Ubuntu/Deepin
# 宝塔wget-O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh &&sudobash install.sh ed8484bec
# 1Panelcurl-sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh &&sudobash quick_start.sh
# Amhwget https://dl.amh.sh/amh.sh &&bash amh.sh
# 小皮sudowget-O install.sh https://dl.xp.cn/dl/xp/install.sh &&sudobash install.sh
# 护卫神wget-O install.sh http://d.hws.com/linux/master/install.sh &&sudobash install.sh
# aaPanelURL=https://www.aapanel.com/script/install_6.0_en.sh &&if[-f /usr/bin/curl ];thencurl-ksSO"$URL";elsewget --no-check-certificate -O install_6.0_en.sh "$URL";fi;bash install_6.0_en.sh aapanel
版权归原作者 Sion木子 所有, 如有侵权,请联系我们删除。