Ubuntu新服务器安装流程整理
创始人
2024-12-28 15:09:36
0

Ubuntu新服务器安装流程整理

  • 1、修改计算机名
  • 2、修改DNS
  • 3、更新软件包列表
  • 4、升级所有软件包
  • 5、分发版升级(可选)
  • 6、清理不再需要的软件包和
  • 7、清理缓存
  • 8、更换内核
  • 9、设置SSH空闲超时时间
  • 10、设置SSH密码最小间隔天数
  • 11、配置GRUB引导加载程序文件权限
  • 12、处理具有SUID和SGID权限的文件以防止潜在的权限提升风险
  • 13、限制核心转储(core dumps)、禁Ping、开启TCP-SYNcookie保护
  • 14、会话会话超时设置
  • 15、rm命令配置别名
  • 16、禁用wheel组外的用户
  • 17、安装和配置安全工具
  • 18、挂载磁盘
  • 19、选择安装(直接跳过)
  • 120、面板安装

Ubuntu新服务器安装流程整理小白参考文,从拿到服务器安全设置到安装面板一个比较简单的流程,后面会持续更新。

1、修改计算机名

# 将文件中的旧主机名替换为新主机名(这里可以跳过) sudo vi /etc/hostname # 保持和hostname名称一致 sudo vi /etc/hosts # 重启服务器应用更改 sudo reboot 

2、修改DNS

sudo vi /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、更新软件包列表

sudo apt-get update 

4、升级所有软件包

sudo apt-get upgrade -y 

5、分发版升级(可选)

sudo apt-get dist-upgrade -y 

6、清理不再需要的软件包和

sudo apt-get autoremove -y 

7、清理缓存

sudo apt-get clean 

8、更换内核

# 检查当前内核版本 uname -r # 重新安装内核,在Ubuntu的LTS版本(如Ubuntu 20.04 LTS或Ubuntu 22.04 LTS)中使用。 sudo apt-get install linux-image-5.15.0-72-generic -y # 更新GRUB配置 sudo update-grub # 重启服务器 sudo reboot # 再次验证内核版本 uname -r 

9、设置SSH空闲超时时间

# 编辑SSH配置文件 sudo vi /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服务正在使用协议版本2 ssh -Q protocol-version 

10、设置SSH密码最小间隔天数

# 编辑/etc/login.defs文件 sudo vi /etc/login.defs # 设置 PASS_MIN_DAYS,在文件中找到或添加以下一行 # 如果已经存在,修改其值;如果不存在,添加这一行 PASS_MIN_DAYS 7 # 设置root用户的密码最小间隔天数 # 使用chage命令来设置root用户的密码最小间隔天数 sudo chage --mindays 7 root 

11、配置GRUB引导加载程序文件权限

# 检查/boot/grub/grub.cfg文件的当前权限 ls -l /boot/grub/grub.cfg # 将`grub.cfg`文件的权限设置为`600` sudo chmod 600 /boot/grub/grub.cfg # 确保`grub.cfg`文件的所有者是`root` sudo chown 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位: 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 # 如果这些文件也具有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 # 再次检查这些文件的权限,以确保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命令临时设置核心转储限制。 sudo sysctl -w fs.suid_dumpable=0 # 编辑 /etc/sysctl.conf sudo vi /etc/sysctl.conf # 在末尾添加以下行三行,分别是禁用 SUID 程序生成 core dump、禁止Ping、开启TCP-SYNcookie保护 fs.suid_dumpable = 0 net.ipv4.icmp_echo_ignore_all = 1 net.ipv4.tcp_syncookies=1 # 运行以下命令以立即应`用/etc/sysctl.conf`文件中的设置。 sudo sysctl -p 

14、会话会话超时设置

# 编辑/etc/profile文件,设置命令行超时。 sudo vi /etc/profile # 在文件末尾添加以下行,以设置超时时间为300秒(5分钟) TMOUT=300 export TMOUT # 执行以下命令,立即使配置生效。 source /etc/profile 

15、rm命令配置别名

ls命令列出更详细的文件信息以及降低rm命令误删文件的风险
编辑 ~/.bashrc 文件

vi ~/.bashrc # 在文件末尾添加或修改以下行 alias ls='ls -alh' alias rm='rm -i' # 保存并退出编辑器 source ~/.bashrc 

16、禁用wheel组外的用户

编辑/etc/pam.d/su文件

sudo vi /etc/pam.d/su # 删除以下的注释 auth required pam_wheel.so # 创建 wheel 组(如果未存在) sudo addgroup wheel # 将需要切换为 root 的用户添加到 wheel 组: sudo gpasswd -a [用户] wheel 

[用户]替换为实际的用户名。

17、安装和配置安全工具

sudo apt install chkrootkit rkhunter -y sudo chkrootkit sudo rkhunter --check # 中断后重新运行检查,非中断或重新检查这步直接跳过。 sudo rkhunter --checkall 

遇到 Press 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、选择安装(直接跳过)

Fail2BanufwSupervisor

120、面板安装

以下面板安装命令仅支持Ubuntu/Deepin

# 宝塔 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec # 1Panel curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh # Amh wget https://dl.amh.sh/amh.sh && bash amh.sh # 小皮 sudo wget -O install.sh https://dl.xp.cn/dl/xp/install.sh && sudo bash install.sh # 护卫神 wget -O install.sh http://d.hws.com/linux/master/install.sh && sudo bash install.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 

相关内容

热门资讯

Ai框架Spring Clou... 项目场景:引入spring-cloud-alibaba-ai依赖找不到!...
二十年大数据到 AI,图灵奖得... 最近,MIT 教授 Michael Stonebraker 和 CMU 教授 Andr...
学习008 Getting S... Getting Started(入门)Basic .NET WinFor...
人工智能:大模型训练向量召回概... 人工智能的大模型训练是一个复杂且资源密集的过程,其中一个关键环节是向量召回。向量召回是...
Linux发行版CentOS ... 目录一、什么是Docker?主要功能:二、安装Docker       ...
MATLAB并模拟一个质量-弹... MATLAB代码示例,用于实现PID控制器来控制一个简化的机械系统。在这个例子中&#x...
CentOS软件安装与vim使... 目录CentOS软件安装软件生态的概念CentOS软件安装CentOS软件卸载CentOS查看软件包...
【HarmonyOS】Harm... 【HarmonyOS】HarmonyOS NEXT学习日记:二、ArkTs语法众所周知...
出海电商高效工具:美国云手机 美国云手机是基于OgCloud公有云的全球节点和骨干网加速,利用ARM芯片集群服务器打...
Spring Boot 集成 ... 依赖与配置在 pom.xml 中引入 RabbitMQ 相关依赖