连接服务器
想开始建站首先得连接上自己的服务器,通常使用 SSH 来连接 Linux 系统,部分带有图像界面的 Linux 如 Ubuntu 还可使用 VNC 连接,Windows Server 则可使用系统自带的 RDP 工具进行连接。
市面上的 SSH 工具多种多样:XShell、PuTTY、secureCRT 等,我推荐使用 Termius,一方面是 Termius 全平台支持,有现代化的美观界面,另一方面是 Termius 集成了 SFTP 工具,可方便的管理服务器的文件。
![Termius 官方宣传图](https://i-blog.csdnimg.cn/blog_migrate/0489d85c413938c9949a07df7b6dee26.png)
安装好 Termius 后,输入自己服务器的 IP 地址即可添加服务器。
![添加自己的服务器](https://i-blog.csdnimg.cn/blog_migrate/c7c98088e5b97a27df52f43ab0a99574.png)
接着填写自己服务器的用户名和密码,用户名使用 root,密码需查看服务器提供方给出的密码。如果是自己安装的系统,则是使用在系统安装过程中设置的密码。
![填写用户名和密码](https://i-blog.csdnimg.cn/blog_migrate/417b4ba200392b8c42592d40bd565bdb.png)
一些基础设置
连接上服务器后先要对服务器进行一些初始化操作。
首先关闭系统的 SELinux。SELinux 是一种安全机制,它通过强制访问控制(MAC)机制,对系统资源和进程进行更细粒度的访问控制,就类似于 Windows 系统里的 UAC 服务。关闭的确会一定程度上降低服务器的安全性,但是多数情况下 SELinux 造成的麻烦会更大。SELinux 的策略是白名单原则,也就是宁可错杀不可放过,所以经常会误伤许多正常软件。除了一些专业运维人员外,几乎一直没有什么人研究 SELinux,大多数软件的文档里也没有写明 SELinux 方面相关的配置以及该如何避免由 SELinux 引起的错误,在遇到问题时难以解决,所以索性不如直接关闭这个东西。
# 先查看 SELinux 状态
[root@ffs ~]# getenforce
# 提示 Enforcing 则代表 SELinux 处于开启状态
# 现在打开SELinux配置文件
[root@ffs ~]# vi /etc/selinux/config
# 找到 SELINUX=enforcing 后,把这行改为 SELINUX=disabled
# 保存文件,然后重启系统
[root@ffs ~]# reboot
# 会提示 Session was closed(与服务器的连接断开),等待数分种后重新连接服务器
# 再次查看 SELinux 状态
[root@ffs ~]# getenforce
# 提示 Disabled,则 SELinux 成功关闭了
# 如果使用 vi 后提示 -bash: bz: command not found 则需先安装一个 vim 编辑器
[root@ffs ~]# yum install vim -y
接着来管理系统的防火墙设置。在 Centos 7 里存在 firewall 和 iptables 两个用于管理网络防火墙的工具。而 Centos 7 默认的管理工具是 firewall,因为 firewall 提供了如动态区域和服务管理等功能,且与系统服务和网络管理工具可以更好地集成,所以我在此也选用 firewall 作为网络防火墙管理工具。
# 先检查 iptables 服务是否正在运行
[root@ffs ~]# systemctl status iptables
# 提示 iptables.service could not be found 则说明系统没有安装 iptables,也无需再关闭了
# 永久关闭 iptables 服务
[root@ffs ~]# chkconfig iptables off
# 开启 firewall 服务
[root@ffs ~]# systemctl enable firewalld
[root@ffs ~]# systemctl start firewalld
# 查询 firewall 运行状态
[root@ffs ~]# firewall-cmd --state
# 显示 running 则代表 firewall 正在运行
# 查询 firewall 当前开放的端口
[root@ffs ~]# firewall-cmd --list-all
# services 和 ports 列出的就是 firewall 放行的端口
现在来对服务器进行一些其他设置
1. 先更新 Polkit 组件,避免 CVE-2021-4034 本地提权漏洞
# 更新 polkit 组件
[root@ffs ~]# yum update polkit -y
# 检测 polkit 版本
[root@ffs ~]# rpm -qa polkit
# 如果是 polkit-0.112-26.el7_9.1.x86_64 或更高则安全
2. 开启地址空间布局随机化,防止某些类型的缓冲区溢出攻击
# 开启地址空间布局随机化
[root@ffs ~]# sysctl -w kernel.randomize_va_space=2
3. 设置 rm 命令别名,防止误操作导致文件直接删除
# 打开别名配置文件
[root@ffs ~]# vi ~/.bashrc
# 在文件中添加 alias rm='rm -i' (如果已有则可忽略)
# 使配置生效
[root@ffs ~]# source ~/.bashrc
4. 开启 TCP-SYNcookie 保护,即便半连接队列满了,客户端也可以成功与服务端建立连接
# 打开系统配置
[root@ffs ~]# vi /etc/sysctl.conf
# 在文件中添加 net.ipv4.tcp_syncookies = 1
# 使配置生效
[root@ffs ~]# sysctl -p
5. 设置长时间无操作自动退出(可选)
# 打开环境变量配置文件
[root@ffs ~]# vi /etc/profile
# 在文件中添加 TMOUT=300 即 300 秒无操作会自动退出登录(也可以是其他时间,单位是秒)
# 使配置生效
[root@ffs ~]# source /etc/profile
至此服务器的基本配置完成