If you need to allow external apps access to the data then do it through an API of some kind, and never a direct connection to the database. If this varies regularly (dynamic IP) then you’ll need to ensure that you can change it through another account, preferably only accessible from the DB server itself, and SSH in with a secure password and make the change there. If you’re working on the database remotely then create yourself your own user account and again, restrict the IP to your workstation’s IP. Create a user for the website that is unable to create new users or grant/revoke any permissions and only allow it access from the webserver IP. Ensure that the root user has a heavy password and disallow any connections from an external IP. We also put checks in place for the web panel to automatically disable any user account that appeared to be abusing the system (ie looked at too many cards in too short a time for it to be legitimate use).Īlso, if you REALLY don’t want people to get in, then you need to restrict access to your database as well. The reason being that if one is compromised then the attacker only gets half of the key and still has a lot of work to do to calculate the rest. We also used a very large key that was partially stored in the database and partially stored in the filesystem. I’ve worked on PCI-DSS compliant systems in the past where we’ve had to store credit card information, and the way that we did it was to obfuscate the code as heavily as possible so that it was difficult for someone to work out what was happening if the filesystem was compromised. Mcrypt will probably be the one that you need to look at. PHP has some very powerful encryption available. You’re probably better off to ask the question in the PHP forum, if it’s PHP that you’re using server-side. If you are using Plesk on your servers then for the love of God, make sure that access to the PSA database is heavily restricted! It would be a significant improvement over how a popular (and expensive) product like Plesk works, where it stores all email, client, FTP and DB usernames and passwords in plain text as default, hoping that splitting the data across multiple tables will baffle a would-be intruder. I can understand the need to store encrypted data that needs to be decryptable. What is the best encryption method you suggest to me? MySQL dump and browsing the database via PHPMyAdmin should not contain any readable information about the passwords.įYI, I have already completed a working version of the application that works without encryption. Only if a user logged in, s/he can see the list of password groups and passwords. ![]() I wonder how I can use the encryption to all fields: not even a user name should be readable. Email address associated to the password.Login URL, Host Name, SMTP Server name, etc.Passwords are visible to a user only if s/he created it. ![]() I want to make it a multi-user based application where more than one users can put their passwords in single database. Passwords I store are the FTP details, Database login details, Control Panels and CMS admin area logins etc. The final product will be holding more than 1,000 important passwords and I need safety to them. ![]() But I want to make them unreadable by browsing the databases. I have an idea to store my passwords on mysql database.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |