一、iptables類作業
前提:INPUT和OUTPUT默認策略爲DROP;
1、限制本地主機的web服務器在週一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機;
#iptables -A INPUT -d 127.0.0.1 -p tcp --dport 80 -m state --state NEW -m limit --limit 100/second -m time ! --weekdays Mon -j ACCEPT #iptables -A INPUT -d 127.0.0.1 -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT #iptables -A OUTPUT -s 127.0.0.1 -p tcp --sport 80 -m state --state ESTABLISHED -m string --algo kmp ! --string "admin" -j ACCEPT
2、在工作時間,即週一到週五的8:30-18:00,開放本機的ftp服務給172.16.0.0網絡中的主機訪問;數據下載請求的次數每分鐘不得超過5個;
#iptables -A INPUT -s 172.16.0.0/16 -p tcp --dport 21 -m connlimit --connlimit-above 5 -j ACCEPT #iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3、開放本機的ssh服務給172.16.x.1-172.16.x.100中的主機,x爲你的座位號,新請求建立的速率一分鐘不得超過2個;僅允許響應報文通過其服務端口離開本機;
#iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 172.16.100.1-172.16.100.100 -mlimit --limit 2
4、拒絕TCP標誌位全部爲1及全部爲0的報文訪問本機;
#iptables -A INPUT -p --tcp-flags ALL ALL -j DROP
5、允許本機ping別的主機;但不開放別的主機ping本機;
#iptables -A OUTPUT -p icmp --icmp-
type
8 -j ACCEPT
二、控制vsftpd僅允許172.16.0.0/255.255.0.0網絡中的主機訪問,但172.16.100.3除外;對所被被拒絕的訪問嘗試都記錄在/var/log/tcp_wrapper.log日誌文件中;
/etc/hosts.allow
vsftpd: 172.16.0.0/255.255.0.0 EXCEPT 172.16.100.3 /etc/hosts.deny: vsftpd: ALL : spawn echo `date` login attempt from %c to %s >> /var/log/tcp_wrapper.log
三、腳本
編程類(數組練習)
1、寫一個腳本:定義一個數組,數組元素爲/var/log目錄下所有以.log結尾的文件的名字;顯示每個文件的行數;
#!/bin/bash
declare -a logs
logs=(/var/log/*.log)
for i in $(seq 0 $[${#logs[@]}-1]);
do wc -l ${logs[$i]}
done
2、寫一個腳本,生成10個隨機數,並按從小到大進行排序;
3、寫一個腳本,能從所有同學中隨機挑選一個同學回答問題;進一步地:可接受一個參數,做爲要挑選的同學的個數;
四、sudo練習
1、授權centos用戶可以運行fdisk命令完成磁盤管理,以及使用mkfs或mke2fs實現文件系統管理;
centos ALL=(ALL) /sbin/fdisk, /sbin/mkfs, /sbin/mke2fs
2、授權gentoo用戶可以運行邏輯卷管理的相關命令
gentoo ALL=(ALL) /sbin/pvcreate, /sbin/vgcreate, /sbin/lvcreate, /sbin/pvs, /sbin/vgs, /sbin/lvs
五、vsftpd及pam類
1、實現基於虛擬用戶認證的vsftpd功能;
2、虛擬用戶的賬號及密碼信息存儲在mysql當中。
六、高級應用類(中級班選做,高級班必做)
1、一共3臺服務器,請合理安排資源分配;
2、通過Nginx的反向代理實現LNMP架構的負載均衡,後端服務內容爲wordpress論壇,要求訪問任何一臺後端web服務器,都能獲取一致的最新數據;
3、後端nginx和php分離。
(未成功配置)