您好,登錄后才能下訂單哦!
到處瀏覽所有apache用戶可以訪問的文件和目錄
鎖定php模塊可以訪問的范圍(籠環境)
<VirtualHost *:8082>
DocumentRoot /share/1310
ServerName 10.1.1.21
ErrorLog logs/10.1.1.21-error_log
CustomLog logs/10.1.1.21-access_log common
<Directory /share/1310>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
<IfModule mod_php5.c>
php_admin_value open_basedir "/share/1310:/var/lib/php/session:/tmp"
</IfModule>
</VirtualHost>
可以執行系統指令
# vim /etc/php.ini
disable_functions = exec,shell_exec,system,passthru,popen
可以刪除apache用戶可以刪除的文件,典型的就是可以刪除網站目錄下的文件
可以修改網站頁面
httpd進程有效身份是apache
假設網站目錄 /var/www/html/ root:root 755 <--保證apache不能隨意刪除目錄下的文件
/var/www/html/index.php root:root 644
/var/www/html/upload/ apache:apache 755 <---專門用于保存用戶上傳的文件
解壓所有代碼到/var/www/html/
# chown root:root -R /var/www/html
# chmod 755 /var/www/html
# chown apache:apache -R /var/www/html/upload/
# chmod 755 /var/www/html/upload/
通過網站php代碼獲知數據庫的用戶名和密碼
為了降低網站被***之后數據庫帳號泄漏的風險,應該:一個網站(應用)獨立使用一個庫和一個帳號
反向連接,主動把shell連接到***者的終端
代碼背后編譯個perl或者c寫的程序,然后執行這個程序,讓程序主動連接***者的機器
解決:
禁止普通用戶可以編譯程序并且執行程序
線上的服務器,一般都不會安裝開發工具,編譯工具。如果非得要安裝,那么chmod 700 /usr/bin/gcc
在防火墻里記錄下服務器主動向外連接的請求到日志中。
# iptables -t filter -A OUTPUT -m state --state NEW -j LOG --log-prefix "hacker "
==========================================================
SQL注入
ddos
arp
======================================================
1、編寫策略,增加對一些自定義目錄的保護
# vim /etc/tripwire/twpol.txt
(
rulename = "webroot",
severity = $(SIG_HI)
)
{
/share/1310 -> $(SEC_CRIT) ;
!/share/1310/ula_04.txt ;
}
2、第一次使用,必須建立密鑰對
密鑰對用來加密策略、配置文件、數據庫文件、檢查報告
# tripwire-setup-keyfiles
可以把原來的明文的配置文件和策略文件刪除掉,免得泄密
# rm -rf /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt
3、初始化
數次使用,需要初始,掃描策略中要求保護的文件的屬性,并且記錄到數據文件中
# tripwire --init
......
Wrote database file: /var/lib/tripwire/www.upl.com.twd <---數據文件
The database was successfully generated.
測試:
故意修改一些被保護的文件,確認工具是否能夠發現?
# tripwire --check 檢測策略中所有保護的文件
會輸出掃描的概要,詳細報告存在以下路徑:
/var/lib/tripwire/report/www.upl.com-20131021-160519.twr
查看詳細報告文件
# twprint --print-report --twrfile /var/lib/tripwire/report/www.upl.com-20131021-160519.twr
只去檢查指定策略保護的文件
# tripwire --check --rule-name "webroot"
假設報告中出現變化的文件,是我們管理員和維護人員由于正常的操作帶來的修改,那么應該把這些更改后結果更新到數據文件中
# LANG=C tripwire --update --twrfile /var/lib/tripwire/report/www.upl.com-20131021-160519.twr
.....
Remove the "x" from the adjacent box to prevent updating the database
with the new values for this object.
Removed:
[x] "/share/1310/secret.txt.dersa" 《--保留前面的x,這些文件的新屬性就會更新到數據文件中,下次掃描就會按照新屬性來對比(忽略這次發現的更改)
[x] "/share/1310/secret.txt.sign"
[x] "/share/1310/secret.txt.rsa"
[x] "/share/1310/secret.txt"
Modified:
[x] "/share/1310"
[x] "/share/1310/ula_03.txt"
保存退出: wq!
把當前正在使用的加密的策略解密后輸出成文明的文件
# twadmin -m p > /etc/tripwire/twpol.txt
編輯這個文明的策略文件,更新了策略之后,就重新加密
# twadmin -m P /etc/tripwire/twpol.txt
加密之后,要及時把明文的策略文件刪除掉
# rm -rf /etc/tripwire/twpol.txt
安全相關的綜合練習:
部署rpm包版本的lamp環境,并且安裝phpwind論壇,網站代碼安裝在自定義的目錄/webdata/wwwroot
要求最終要打開selinux的enforcing模式
要求打開iptables,僅僅對外開放80端口和22端口
不允許root通過ssh登錄系統。
設定一個普通帳號,它可以通過sudo執行所有的管理操作
使用pam_tally2實現連續三次登錄失敗就鎖定該帳號30分鐘
添加防火墻,把所有主動對方連接請求都記錄到日志中(這個題目可以最后才做,或者僅僅知道如何編寫iptables規則就可以了,不用實際完成,因為你們的機器都經常主動訪問老師的筆記)
使用tripwire,并增加對網站phpwind的文件監控,注意,哪些目錄無需監控
嚴格設定網站根目錄的權限,必須做到就算被***了,也無法刪除、修改網站的核心代碼文件(首頁等)
必須廢掉webshell的常見功能(跨目錄,執行系統命令,編譯程序)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。