8. Insecure Use of Cryptography
Themcrypt extension provides a standardized interface to many popular cryptographic algorithms. Use mcrypt
instead of rolling your own encryption scheme. Also, be careful about
where (if anywhere) you store encryption keys. The strongest algorithm
in the world is pointless if an attacker can easily obtain a key for
decryption. If you need to store keys at all, store them apart from
encrypted data. Better yet, don’t store the keys and prompt users to
enter them when something needs to be decrypted. (Of course, if you’re
prompting a user over the web for sensitive information like an
encryption key, that prompt and the user’s reply should be passed over
SSL.)See Also:
- PHP Manual: Mcrypt Encryption Functions
- PHP Cookbook: Recipe 14.7 (“Encrypting and Decrypting Data”)
9. Remote Administration Flaws
When possible, run remote administration tools over an SSL connection to prevent sniffing of passwords and content. If you’ve installed third-party software that has a remote administration component, change the default administrative user names and passwords. Change the default administrative URL as well, if possible. Running administrative tools on a different web server than the public web server that the administrative tool administrates can be a good idea as well.10. Web and Application Server Misconfiguration
Keep on top of PHP patches and security problems by subscribing to the php-announce mailing list. Stay away from the automatic PHP source display handler (AddType application/x-httpd-php-source .phps), since it lets attackers look at your code. Of the two sample php.ini files distributed with PHP ( php.ini-dist and php.ini-recommended), use php.ini-recommended as a base for your site configuration.
No comments:
Post a Comment