• 1 
瀏覽模式: 普通 | 列表

php安全性比較好的作法

CentOS + Apache + PHP 是我常用來建置web系統的環境

php也是最常見的、用來寫web應用程式的程式,所以它的安全性也是需要注意一下

我參考了 http://www.cyberciti.biz/tips/php-security-best-practices-tutorial.html 的文章,也整理了一下

一般php的環境設定是靠 ↓

/etc/php.ini : php 主要設定檔
/etc/php.d   : php 用來放額外的模組的地方,都是 XX.ini

我們查看 php 版本可以下 php -v

而查現在php 支援那些模組可下 php -m

以上也可以透過 web 瀏覽 phpinfo.php (內容是 <?php phpinfo()?> ,就可以看到更詳細資訊

[閱讀全文]

pam_tally2 是 linux 的pam中用來限制存取次數的一個模組

編輯 /etc/pam.d/sshd,在最前面加入

auth     required      pam_tally2.so deny=1 lock_time=60

我測試了

1. 使用 cross 登入
2. 使用 root 登入
3. 使用 cross 登入,切換 su -

以上三種情況,皆會因為1次密碼失敗後,鎖定60秒後才可再讓你使用正確的密碼登入

在 /var/log/secure裡可以看到它在倒數 (如果一直重試登入,它會顯示還有多久時間解鎖)

[閱讀全文]

Linux CentOS 幾項安全性設置


。將 / , /tmp , /var/tmp, /home, /var, /var/www , /boot 分割獨立的partition

。掛載以上的partition加入 nosuid, noexec, nodev
# /etc/fstab
/                        ext3      defaults   1   1
/tmp                  ext3      defaults,nosuid,noexec,nodev   1   2
/var/tmp            ext3      defaults,nosuid,noexec,nodev   1   2
/home               ext3      defaults,nosuid,nodev 1 2
/var                   ext3      defaults,nosuid 1 2
/var/www          ext3      defaults,nosuid,nodev 1 2
/boot                 ext3      defaults,nosuid,noexec,nodev 1 2

。禁用 ctrl + alt + del 能重開機
# 註解 /etc/inittab
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
。使用單人模式時需要輸入密碼

[閱讀全文]

SSH 幾項安全性設置


。/etc/nologin - 這個檔案存在的話,就表示只讓root可登入,其它人完全不行,直接拒絕掉

。只讓root及cross可登入,其它人不行
# 在 /etc/ssh/sshd_config 裡設定
AllowUsers root cross

# 重啟 sshd
service sshd restart

。五分鐘閒置就自動踢出

# 在 /etc/ssh/sshd_config 裡設定
ClientAliveInterval 300
ClientAliveCountMax 0

。不允許root登入

[閱讀全文]

控制台 > 網際網路選項 > 安全性 > 信任的網站 > 網站 > 新增 \\10.1.1.199
attachments/201107/5277117807.png
再到下方的自訂等級,啟用 "正在啟動應用程式及不安全的檔案"

attachments/201107/1555011091.png
ref: http://social.technet.microsoft.com/Forums/zh-TW/windowsvistaclientzhcht/thread/3e05f54f-81be-46a6-9a13-59b88efa208c

php 參數 magic_quotes_gpc 的作用

magic_quotes_gpc = ON 時可以自動判斷有特殊字串上加 ,比方說 ' 

這對防 SQL injection 是一個功臣,

php預設這個參數是 OFF 的,對於管理者會希望它是 ON,

而對於程式人員,就要在程式裡多加判斷了

  • 1