寫(xiě)在最前面
文章是記錄我在https://kodekloud-engineer.com 這個(gè)網(wǎng)站上的練習(xí)進(jìn)度狸眼。我的目標(biāo)主要是提升自己技術(shù)周邊的能力,然后通過(guò)這樣一種持續(xù)和連續(xù)的練習(xí)貌矿,反過(guò)來(lái)回顧自己的不足和需要補(bǔ)足的東西蛆楞。
夢(mèng)想在遠(yuǎn)方也物,路在腳下
同時(shí)歡迎關(guān)注我的個(gè)人博客
2023-01-05: Web服務(wù)器的安全配置(Web Server Security)
目標(biāo): 1. 隱藏apache 服務(wù)器的版本信息 2.指定路徑/media
下的文件列表不能顯示出來(lái)
# 主要也是修改apache的服務(wù)配置文件
vi /etc/httpd/conf/httpd.conf
# 刪除文件結(jié)構(gòu)的索引,
`Options indexes FollowSymLinks` -> `Options FollowSymLinks`
# 添加如下內(nèi)容來(lái)關(guān)閉版本信息
ServerTokens Prod
ServerSignature Off
# **需要重啟服務(wù)生效**
2023-01-07: 配置nginx的SSL(Setup SSL for Nginx)
目標(biāo): 配置nginx的ssl 服務(wù)
# 這個(gè)雖然不熟,但多少是知道一點(diǎn)澡绩,以前也配置過(guò)環(huán)境
# 修改默認(rèn)配置文件
vi /etc/nginx/nginx.conf
# 修改服務(wù)器地址
server_name -> server_name 172.16.238.12
#開(kāi)啟 Settings for a TLS enabled server 下被注釋但服務(wù)配置
# 修改證書(shū)路徑配置,具體路徑看實(shí)際情況
ssl_certificate "/etc/pki/CA/certs/nautilus.crt";
ssl_certificate_key "/etc/pki/CA/private/nautilus.key";
# 修改網(wǎng)站的文件路徑
root /usr/xxxx1/xxxx2/html;
# 重啟nginx服務(wù)
systemctl restart nginx
2023-01-09: 使用Linux的GPG 加密(Linux GPG Encryption)
目標(biāo):使用gpg 和已經(jīng)指定的密鑰加密和解密指定的文件
# 倒入已經(jīng)指定的密鑰對(duì)
gpg --import public_key.asc
gpg --import private_key.asc
# 加密文件 -r 參數(shù)附帶信息稽揭, --armor 讓文件打開(kāi)后以ascii 顯示,輸入文件用 -o 參數(shù)指定
gpg --encrypt -r kodekloud@kodekloud.com --armor < encrypt_me.txt -o encrypted_me.asc
# 解密文件,這里有用戶(hù)交互肥卡,密鑰為`kodekloud`,在加密時(shí)候也可以指定
gpg --decrypt decrypt_me.asc > decrypted_me.txt
這個(gè)任務(wù)主要是工具的使用溪掀,參考工具的幫助文檔淋昭,可以獲取到更多的信息
2023-01-10: 為apache服務(wù)添加指定的回復(fù)頭部(Add Response Headers in Apache)
目標(biāo): 1. 在apache的response中缚忧,添加指定的header 信息 2.修改端口,3.修改默認(rèn)的首頁(yè)內(nèi)容
# 這個(gè)任務(wù)也主要是修改配置,其中端口修改之前處理過(guò)痕鳍,默認(rèn)首頁(yè)修改文件 `/var/www/html/index.html`
# 打開(kāi)配置文件
vi /etc/httpd/conf/httpd.conf
# 添加任務(wù)中指定的頭部
Header set X-XSS-Protection "1; mode=block"
Header set append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options nosniff
# 重啟服務(wù)生效
systemctl restart httpd
2023-01-11: Linux sudo 配置(Linux Configure sudo) rank: 543
目標(biāo):為指定用戶(hù)添加sudo的執(zhí)行權(quán)限
# 先查看指定的用戶(hù)名是不是存在亭枷,不存在的話(huà)冰垄,需要先創(chuàng)建滑绒。保證存在用戶(hù)才能執(zhí)行添加管理員權(quán)限的邏輯
cat /etc/passwd|grep javed
# 執(zhí)行命令
visudo
# 可以參考其中的root 對(duì)配置,直接復(fù)制一行骚勘,然后修改用戶(hù)名
javed ALL=(ALL) NOPASSWD:ALL
2023-01-16: 安裝和配置Tomcat 服務(wù)(Install and Configure Tomcat Server) rank: 477
目標(biāo): 安裝tomcat服務(wù)器铐伴,開(kāi)放指定端口,并且部署指定war包服務(wù)
# 首先肯定是安裝服務(wù)俏讹,并建立系統(tǒng)服務(wù)
yum install tomcat -y
systemctl start tomcat && systemctl enable tomcat
# 如果需要当宴,查看下服務(wù)狀態(tài)
systemctl status tomcat
# 配置tomcat服務(wù)端口,修改Connector 標(biāo)簽里的端口 8080 -> 3004
vi /etc/tomcat/server.xml
# 重啟tomcat服務(wù)
systemctl restart tomcat
#修改文件權(quán)限,這里是看情況,不一定是root
chmod 777 ROOT.war
# 需要將指定的war 包拷貝到tomcat 配置的路徑泽疆。會(huì)自動(dòng)解壓到對(duì)應(yīng)的文件夾(ROOT)
mv ROOT.war /var/lib/tomcat/webapps/
2023-01-19: 安裝和配置pgsql的服務(wù) (Install and Configure PostgreSQL) rank:338
目標(biāo):
- 安裝pgsql
- 創(chuàng)建數(shù)據(jù)庫(kù) db8
- 創(chuàng)建用戶(hù) tim,并該用戶(hù)賦予對(duì)db8的所有全新啊
- 使用md5校驗(yàn)密碼
這又是一個(gè)不太熟悉的操作户矢,開(kāi)發(fā)中多時(shí)候都是直接使用docker,然后權(quán)限的配置,就會(huì)使用GUI來(lái)操作,所以還是參考了別人的操作
# 先要安裝pgsql于微,包括客戶(hù)端和服務(wù)端
yum install postgresql-server postgresql-contrib -y
# 需要先對(duì)數(shù)據(jù)庫(kù)做初始化后逗嫡,才能正常啟動(dòng)青自,這一步會(huì)創(chuàng)建 /var/lib/pgsql 文件夾以及對(duì)應(yīng)對(duì)默認(rèn)配置
postgresql-setup initdb
# 安裝完成后需要啟動(dòng)
systemctl start postgresql && systemctl enable postgresql && systemctl status postgresql
# pgsql 默認(rèn)用戶(hù)為 postgres,所以先切換過(guò)去
su - postgres
# 之后啟動(dòng)客戶(hù)端命令株依,景區(qū)pgsql的命令行輸入模式
pgsql
# 創(chuàng)建名稱(chēng)為kodekloud_8的數(shù)據(jù)庫(kù)
create database kodekloud_8;
# 創(chuàng)建用戶(hù) kodekloud_gem,并指定密碼
create user kodekloud_gem with ENCRYPTED PASSWORD 'YchZHRcLkL';
# 用戶(hù)和數(shù)據(jù)庫(kù)之間的權(quán)限處理,賦予所有權(quán)限
grant all privileges on database kodekloud_8 to "kodekloud_gem";
# 然后退出命令行延窜,并且切回到root
\q
exit
#嘗試直接連接恋腕,會(huì)發(fā)現(xiàn)報(bào)錯(cuò),因?yàn)槲覀兠艽a是經(jīng)過(guò)處理的
psql -U kodekloud_tim -d kodekloud_db8 -h 127.0.0.1 -W
# 所以編輯 /var/lib/pgsql/data/pg_hba.conf
# 在最后部分逆瑞,修改 IPv4 和IPv6 下host 對(duì)應(yīng)的加密反思為 md5,也就是最后一列的屬性
# 重啟pgsql的服務(wù)
systectl restart postgresql
個(gè)人感覺(jué)這里邊的其實(shí)要了解的東西還是很多的荠藤,但我又并非是dba,所以一邊就停留在有限但了解層面
2023-01-20: 安裝IPtables并進(jìn)行配置 (IPtables Installation And Configuration)rank:290
目標(biāo):
- 安裝iptables 防火墻應(yīng)用
- 配置端口 3002 只允許負(fù)載均衡服務(wù)器訪(fǎng)問(wèn)
- 配置端口 3002 不允許外網(wǎng)訪(fǎng)問(wèn)
- 配置必須持久化获高,服務(wù)器重啟后依然有效
iptables 是有一點(diǎn)點(diǎn)熟悉但哈肖,之前在學(xué)習(xí)linux基礎(chǔ)知識(shí)時(shí)候有使用到,工作中也有用到
# 安裝
yum install iptables-services -y
# 然后是啟動(dòng)三連
systemctl start iptables && systemctl enable iptables && systemctl status iptables
# 開(kāi)始配置
# 這里有特別需要注意但地方念秧,我是用 -I 的參數(shù)淤井,也就是插入到 INPUT表的最前面
# iptables 的匹配規(guī)則是從上到下,一旦滿(mǎn)足摊趾,就不在繼續(xù)使用后邊的規(guī)則币狠,所以要注意添加的順序問(wèn)題
# INPUT、 DROP是表名稱(chēng)砾层,大小寫(xiě)敏感
iptables -I INPUT -p tcp --dport 3003 -j DROP
iptables -I INPUT -p tcp --dport 3003 -s 172.16.238.14 -j ACCEPT
# 最后需要保持持久化
service iptables save
總結(jié):iptables 平時(shí)用的也不多漩绵,云服務(wù)器一般都在控制臺(tái)那一層就處理了。另外肛炮,運(yùn)維說(shuō)止吐,一般也不用iptables作為防火墻宝踪,會(huì)用fire-wall 這樣的服務(wù)器,類(lèi)似于ubuntu里的ufw吧祟印,使用上可能是更加方便了肴沫。iptables的用去還是挺大的,在k8s的網(wǎng)絡(luò)那一層蕴忆,用的就挺多的颤芬。但.....這可是個(gè)大話(huà)題??