一,cgi
通用網關接口(CGI)是網站上放置動態內容的最簡單的方法。CGI腳本可用於許多目
的,但是謹慎控制使用哪個CGI腳本以及允許誰添加和運行這些腳本十分重要。編寫質量差的CGI
腳本可能爲外部***者提供了破壞網站及其內容安全性的途徑。因此,在Web服務器級別和
SELinux策略級別,都存在用於限制CGI腳本使用的設置。
#vim /etc/http/conf.d/default.conf
<Directory /var/www/html>
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
#cd /var/www/html
#vim index.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
二,squid(騰訊公司就用的是squid反向代理類似CDN加速)代理通常理解爲***,我們訪問YouTube
1,正向代理:
A:提供Apache服務,和B機器在同一網段。
B:雙網卡機器,一個與A機器在同一網段,另一個和C機器在同一網段。
#yum install -y squid
#vim /etc/squid/squid.conf
cache_dir aufs /data/cache 100 16 256
http_access allow all
#mkdir /data/cache
#chown -R squid:squid /data/cache
#systemctl restart squid
C:客戶端,瀏覽器訪問A機器的IP(A和C不在同一網段也不能通信,只是B機器代理將A機器提供的Apache服務緩存在B機器)
2,反向代理加速
A:提供前端Apache服務網站首頁IP:192.168.217.128
B:提供前端Apache服務網站首頁IP:192.168.217.129
C:代理服務器端
#yum install -y squid
#vim /etc/squid/squid.conf
http_port 3128 改爲 http_port 80 accel vhost vport
增加:
cache_peer 192.168.217.128 parent 80 0 originserver name=web1
cache_peer 192.168.217.129 parent 80 0 originserver name=web2
cache_peer_domain web1 web2 www.qq.com
#systemctl restart squid
D:客戶端
#vim /etc/hosts
192.168.217.130 www.qq.com
測試訪問
三,nfs
server:
#yum install -y nfs-utils
#vim /etc/exports
/data 172.25.254.0/24(rw,sync)
#mkdir /data
#chmod 777 /data
#exportfs -rv <==> systemctl restart nfs
desktop:
#showmount -e 172.25.254.110
#mount -o rw,vers=3 -t nfs 172.25.254.110:/data /mnt
#echo "172.25.254.110:/data /mnt nfs defaults 0 0" >> /etc/fstab
默認情況下,NFS服務器將NFS客戶端上的root視爲用戶nfsnobody。即,如果root嘗試訪問掛載的
導出中的文件,服務器會將其視作用戶nfsnobody訪問。在NFS導出被無磁盤客戶端用作/和root需
要被視作root的情況中,這種安全措施存在隱患。若要禁用此保護,服務器需要將no_root_squash
添加到在/etc/exports中導出設置的選項列表:
客戶端NFS掛載選項
rw:掛載可讀寫的文件系統
ro:掛載只讀文件系統
vers=4:嘗試只使用指定的NFS版本進行掛載。如果服務器不支持該版本,則掛載
請求失敗
soft:如果NFS請求超時,三次嘗試後返回錯誤。權衡數據完整性與提高客戶端響應
性。(默認行爲hard,將無限期地重試)。
保護NFS輸出
Demo:
在serverx和desktopx上運行腳本,加入kerberos認證域:
# lab nfskrb5 setup
安裝kerberos服務所需的keytab:(以下操作都在server0上進行)
# wget -O /etc/krb5.keytab http://cla***oom.example.com/pub/keytabs/server0.keytab
激活NFS v4.2版本,可以輸出selinux標籤,編輯/etc/sysconfig/nfs修改如下選項:
RPCNFSDARGS="-V 4.2"
啓動nfs-secure-server服務:
# systemctl start nfs-secure-server; systemctl enable nfs-secure-server
配置NFS輸出:
# mkdir /securenfs
# echo '/securenfs desktop0(sec=krb5p,rw)' >> /etc/exports
# exportfs -rv
安裝kerberos服務所需keytab:(以下操作都在dekstop0進行)
# wget -O /etc/krb5.keytab http://cla***oom.example.com/pub/keytabs/desktop0.keytab
啓動nfs-secure服務:
# systemctl start nfs-secure; systemctl enable nfs-secure
配置客戶端掛載:
# mkdir /mnt/secureshare
# echo 'server0:/securenfs /mnt/secureshare nfs defaults,v4.2,sec=krb5p 0 0' >>
/etc/fstab
# mount -a