實現此案例需要按照如下步驟進行。
步驟一:將linux伺服器的selinux設為enforcing強制模式
1)固定配置:修改/etc/selinux/config檔案
確認或修改selinux為enforcing模式:
[root@svr5 ~]# vim /etc/selinux/config
selinux=enforcing
selinuxtype=targeted
2)臨時配置:使用setenforce命令
檢視當前selinux狀態,如果是disabled則需要根據第1)步的配置重啟系統;如果是permissive則使用setenforce命令修改為enforcing即可:
[root@svr5 ~]# getenforce
permissive
[root@svr5 ~]# setenforce 1 //或者setenforce enforcing
[root@svr5 ~]# getenforce
enforcing
步驟二:在selinux啟用狀態下,調整策略開啟vsftpd服務的匿名上傳訪問
1)配置乙個允許匿名上傳的vsftpd服務作為測試環境
[root@svr5 ~]# yum –y install vsftpd
.. ..
[root@svr5 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=yes //開啟匿名訪問
write_enable=yes
anon_umask=022
anon_upload_enable=yes //允許上傳檔案
anon_mkdir_write_enable=yes //允許上傳目錄
[root@svr5 ~]# chown ftp /var/ftp/pub
[root@svr5 ~]# service vsftpd start
為 vsftpd 啟動 vsftpd: [確定]
2)啟用selinux時驗證ftp上傳訪問
在targeted策略的布林值設定中,預設禁止ftp匿名寫入和完全訪問:
[root@svr5 ~]# ls > test.txt
[root@svr5 ~]# ftp 192.168.4.5
[root@svr5 ~]# ftp 192.168.4.5
.. ..
name (192.168.4.5:root): ftp
331 please specify the password.
password:
230 login successful.
remote system type is unix.
using binary mode to transfer files.
ftp> cd pub
250 directory successfully changed.
ftp> put test.txt //嘗試上傳測試檔案
local: test.txt remote: test.txt
227 entering passive mode (192,168,4,5,121,146).
553 could not create file. //上傳失敗
ftp> quit
221 goodbye.
[root@svr5 ~]# getsebool -a |grep allow_ftpd //檢視布林值
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
.. .
[root@svr5 ~]# setsebool -p allow_ftpd_anon_write=1 //設定布林值
[root@svr5 ~]# setsebool -p allow_ftpd_full_access=1
[root@svr5 ~]# getsebool -a |grep allow_ftpd //確認修改結果
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on
4)再次訪問vsftpd服務,經測試發現匿名上傳已經可用
[root@svr5 ~]# ftp 192.168.4.5
.. ..
name (192.168.4.5:root): ftp
331 please specify the password.
password:
230 login successful.
remote system type is unix.
using binary mode to transfer files.
ftp> cd pub
250 directory successfully changed.
ftp> put test.txt //嘗試上傳測試檔案
local: test.txt remote: test.txt
227 entering passive mode (192,168,4,5,63,249).
150 ok to send data.
226 transfer complete. //上傳成功
237 bytes sent in 6.3e-05 secs (3761.90 kbytes/sec)
ftp> quit
221 goodbye.
[root@svr5 ~]# setsebool allow_ftpd_full_access=0
[root@svr5 ~]# getsebool allow_ftpd_full_access
allow_ftpd_full_access --> off
[root@svr5 ~]# tar zcf /var/ftp/d1.tar.gz install.log*
[root@svr5 ~]# tar zcf d2.tar.gz install.log*
[root@svr5 ~]# mv d2.tar.gz /var/ftp/
[root@svr5 ~]# ls -lh /var/ftp/d?.tar.gz
-rw-r--r--. 1 root root 13k 8月 16 10:16 /var/ftp/d1.tar.gz
-rw-r--r--. 1 root root 13k 8月 16 10:16 /var/ftp/d2.tar.gz
[root@svr5 ~]# wget
.. ..
==> pasv ... 完成。 ==> retr d1.tar.gz ... 完成。
.. ..
2013-08-16 10:36:16 (235 mb/s) - 「d1.tar.gz」 已儲存 [13124]
[root@svr5 ~]# wget
.. ..
==> pasv ... 完成。 ==> retr d2.tar.gz ...
檔案 「d2.tar.gz」 不存在。
[root@svr5 ~]# ls -z /var/ftp/d?.tar.gz
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/d1.tar.gz
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 /var/ftp/d2.tar.gz
[root@svr5 ~]# chcon -t public_content_t /var/ftp/d2.tar.gz
[root@svr5 ~]# ls -z /var/ftp/d2.tar.gz
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/d2.tar.gz
[root@svr5 ~]# wget
.. ..
==> pasv ... 完成。 ==> retr d2.tar.gz ... 完成。
長度:13124 (13k) (非正式資料)
.. ..
2013-08-16 10:42:21 (178 mb/s) - 「d2.tar.gz」 已儲存 [13124]
注意:上例中的chcon操作可替換為restorecon /var/ftp/d2.tar.gz 或者chcon --reference=/var/ftp/d1.tar.gz /var/ftp/d2.tar.gz ,效果相同。 安全防護1
以下都以asp.net開發 為例。1 sql注入漏洞。解決辦法 使用儲存過程,引數不要用字串拼接。簡單改進辦法 使用sqlhelper和oledbhelper 2 跨站指令碼漏洞 解決辦法 預設禁止,顯式允許 的策略。具體參考 從客戶端檢測到有潛在危險的request.form值,禁止提交html標...
簡單安全防護
盡量將埠禁用,盡量不要將埠暴露在公網,盡量僅供127.0.0.1訪問 如非必要,盡量不要將服務暴露在公網,尤其是資料庫等服務 設定連續登入失敗禁用一段時間,防爆破 攻擊者一般直接使用ip來攻擊 可以將ip訪問的預設 只寫乙個首頁 上述不利於搜尋引擎收錄,可以將搜尋引擎的網域名稱加入白名單使用ngin...
linux 安全防護
這些都是破解失敗記錄。網路暴力破解的系統登陸安全日誌檢視 root zwlbsweb cd var log root zwlbsweb log ll h 省略部分資訊 rw 1 root root 4.9m jul 17 10 10 secure rw 1 root root 38m jun 24 ...