CentOS 8服務(wù)器初始安全部署
開啟防火墻
- 在保證能夠遠(yuǎn)程的前提下開啟防火墻,如云服務(wù)器需要能夠通過VNC方式訪問
systemctl start firewalld
創(chuàng)建遠(yuǎn)程管理員賬號(hào)
- root用戶下,創(chuàng)建用戶abc
useradd abc
- 為用戶abc設(shè)置密碼def
passwd abc
- 將用戶加入wheel組
usermod -aG wheel abc
禁用root遠(yuǎn)程
- 編輯ssh配置文件
vi /etc/ssh/sshd_config
- 找到PermitRootLogin,值修改為no
PermitRootLogin no
- 保存重啟ssh,該操作可能會(huì)造成遠(yuǎn)程連接斷開
systemctl restart sshd
注: 禁用root后,所有操作如未特殊說明,均在新管理員用戶下進(jìn)行
安裝MySQL5.7
- 禁用MySQL默認(rèn)的AppStream存儲(chǔ)庫
sudo dnf remove @mysql
sudo dnf module reset mysql && sudo dnf module disable mysql
- 創(chuàng)建一個(gè)新的存儲(chǔ)庫文件,寫入MySQL5.7信息
sudo vim /etc/yum.repos.d/mysql-community.repo
加入如下內(nèi)容
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=0
[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=1
gpgcheck=0
- 安裝并檢查
sudo dnf --enablerepo=mysql57-community install mysql-community-server
檢查,會(huì)列出MySQL詳細(xì)信息(略)
rpm -qi mysql-community-server
- 修改MySQL配置,防火墻開放MySQL訪問(更多防火墻配置可參考https://www.cnblogs.com/architectforest/p/12304219.html)
編輯MySQL配置文件
sudo vi /etc/my.cnf
在[mysqld]最下方增加或修改如下內(nèi)容,lower_case_table_names=1表示表名大小寫不敏感
lower_case_table_names=1
port=新端口號(hào)
character_set_server=utf8mb4
防火墻開放該端口
sudo firewall-cmd --zone=public --add-port=新端口/tcp --permanent
sudo firewall-cmd --reload
- 啟動(dòng)MySQL,開機(jī)自啟,重載服務(wù)配置
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl daemon-reload
- MySQL初次root登錄,修改密碼
獲取初始密碼
sudo grep 'temporary password' /var/log/mysqld.log
獲取完整結(jié)果如下,則密碼為f2y<<aE/k(9a
2021-07-02T01:58:45.783643Z 1 [Note] A temporary password is generated for root@localhost: f2y<<aE/k(9a
登錄并根據(jù)提示輸入密碼
mysql -uroot -p
修改密碼(登錄后 mysql> 執(zhí)行)
set password for root@localhost = password('新密碼');
- 創(chuàng)建MySQL遠(yuǎn)程管理賬號(hào)并賦權(quán)(登錄需要證書),本地登錄測(cè)試
root下創(chuàng)建賬號(hào),'REQUIRE X509'表示必須提供用戶名密碼和證書才能訪問
create user 新用戶名@'%' identified by '密碼' REQUIRE X509;
創(chuàng)建數(shù)據(jù)庫(可選)
create database 數(shù)據(jù)庫名 character set 'utf8mb4' collate 'utf8mb4_general_ci';
將相應(yīng)數(shù)據(jù)庫所有權(quán)限賦予新用戶
grant all privileges on 數(shù)據(jù)庫名.* to '用戶名'@'%';
mysql中輸入quit退出,在服務(wù)器本地登錄測(cè)試
sudo mysql -u用戶名 -p密碼 -P 新端口 --ssl-ca=/var/lib/mysql/ca.pem --ssl-cert=/var/lib/mysql/client-cert.pem --ssl-key=/var/lib/mysql/client-key.pem
- 客戶端下載證書,遠(yuǎn)程登錄測(cè)試
將客戶端用到的證書訪問權(quán)限賦予管理員abc,并拷貝到用戶abc根目錄(/home/abc)
sudo chown abc /var/lib/mysql/client-key.pem /var/lib/mysql/client-cert.pem /var/lib/mysql/ca.pem
cp /var/lib/mysql/client-key.pem /var/lib/mysql/client-cert.pem /var/lib/mysql/ca.pem ~
使用SFTP(MobaXterm會(huì)話左側(cè))將用戶abc根目錄下三個(gè)文件client-key.pem,client-cert.pem,ca.pem下載下來(略)
客戶端遠(yuǎn)程登錄測(cè)試
mysql -u用戶名 -p密碼 -h 服務(wù)器地址 -P 端口 --ssl-ca=D:\mysql-cert\ca.pem --ssl-cert=D:\mysql-cert\client-cert.pem --ssl-key=D:\mysql-cert\client-key.pem
安裝啟動(dòng)redis
sudo dnf install redis
sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl daemon-reload
安裝nginx
sudo dnf install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl daemon-reload
安裝openjdk,配置環(huán)境變量
安裝
sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel
切換為root賬號(hào)
sudo -s
配置環(huán)境變量
touch /etc/profile.d/jdk.sh
sh -c "echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile.d/jdk.sh"
sh -c "echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh"
source /etc/profile
切換回用戶abc
su abc
安裝tomcat
創(chuàng)建安裝目錄,這里是用戶abc下的tomcat目錄,即/home/abc/tomcat
mkdir /home/abc/tomcat
cd /home/abc/tomcat
訪問tomcat官網(wǎng),選擇需要的版本,復(fù)制下載鏈接后使用命令下載并解壓到當(dāng)前目錄下,這里使用了9.0.55(如果下載很慢,可以去華為云鏡像中找相應(yīng)版本下載鏈接https://mirrors.huaweicloud.com/apache/tomcat/)
wget https://mirrors.huaweicloud.com/apache/tomcat/tomcat-9/v9.0.55/bin/apache-tomcat-9.0.55.tar.gz
tar -zxf apache-tomcat-9.0.55.tar.gz
創(chuàng)建系統(tǒng)服務(wù)文件
sudo vi /usr/lib/systemd/system/tomcat.service
寫入內(nèi)容保存
[Unit]
Description=Tomcat Server
After=network.target
[Service]
Type=forking
ExecStart=/home/abc/tomcat/apache-tomcat-9.0.55/bin/startup.sh
ExecStop=/home/abc/tomcat/apache-tomcat-9.0.55/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
重載服務(wù)配置,啟用并啟動(dòng)Tomcat服務(wù)
sudo systemctl daemon-reload
sudo systemctl enable --now tomcat