一,cgihtml
通用网关接口(CGI)是网站上放置动态内容的最简单的方法。CGI脚本可用于许多目前端
的,可是谨慎控制使用哪一个CGI脚本以及容许谁添加和运行这些脚本十分重要。编写质量差的CGIlinux
脚本可能为外部***者提供了破坏网站及其内容安全性的途径。所以,在Web服务器级别和web
SELinux策略级别,都存在用于限制CGI脚本使用的设置。vim
#vim /etc/http/conf.d/default.conf浏览器
<Directory /var/www/html>缓存
Options +ExecCGI安全
AddHandler cgi-script .cgi服务器
</Directory> dom
#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