@manuelgit - Since the password has to be exchanged with the SMTP server encryption is not an option here. Also this data is protected for administrators only. Best way is to lock SMTP to allow connection from CRM Server by IP.
@prasad i consider a big security issue since if for some reason, access to database was violated, someone can see password for that email and access directly to that email server. Even worse, create a spy email account on their local computer.
@prasad through ModuleImport yes, but that's not the point. In my point of view, a password is always a password and nowadays we are getting used to think password's are always encrypted. It would be just a step forward in security.
@prasad no, sorry for the misunderstanding. Once user have access to database can see Outgoing Email Server Password and that specific email account it's compromised since then.
@prasad this needs to looked into with high priority.
Recently one of our client was hacked. This was a series of hacks:
How intruder got login details: when we use webservices and try the login operation, webservice returns relative messages. That is "user does not exist", "password is wrong". This helped the intruder to guess an existing user.
After a user name was confirmed, they did brute force on passwords and gained access to a non-admin user. (mistake was to use easy password assuming no harm could be done using non-admin account)
Then another exploit was executed to gain admin privileges. (this was fixed in the recent hotfix release, but the patch was not applied)
Once they had the admin privileges, intruder uploaded a new version of WSAPP module with malicious code (lightweight File Manager and Adminer for Database).
They also uploaded another extension from VGS "VGS Document manager" that comes with a file explorer, using which one could modify any file ont he server if permissions are not set very restrictively.
Then the uploaded File Manager was executed from browser to read database credentials from config.inc.php.
Once they had the database credentials, they executed Adminer script and were able to access database.
As they had access to database, they were able to access the Email password (stored in base64 format), SMS server details as even that is stored in plain text, FTP server password (using the Vtexpert Backup extension), get access key of all the users (again stored in plain text), password of all email accounts used in Mail Manager, password of all email accounts used in Mail Converter.
Using the above details, they were able to download all the backups.
Intruder sent emails and SMS to all customers with threatening message.
Then they deleted the Login history.
After this they used webservices to get the latest data from the CRM over a long period without being identified.
Everything is good until the intruder does not have access to the system. But as soon as a slightest of access is achieved the system becomes too much vulnerable.
@nilay.automatesmb - 3rd-party services credentials cannot be stored in encrypted form as it need to be decoded to establish connection with runtime decode. I filed an enhancement request #1311
Its unfortunate that weak-passwords were used! I could not co-relate the issue you mentioned to this specific ticket. Letting someone gain access to db through backdoor endpoints is as good as handing over the key. Please be double sure when installing 3rd-party extensions.
mail converter and scanner passwords are stored in encrypted manner, then why not outgoing email server. But even then since the attacker had gained access to files, they were able to decrypt the mail converter and scanner passwords.
there is no fool proof mechanism without close sourcing the algorithm used to encrypt/decrypt the passwords.
an approach is to use a salt based encryption and to keep the salt outside the public folder. This makes it mandatory to have file access to decrypt the passwords. (This will prevent leakage from hacked FTP backups, only database access and similar scenarios )
.htaccess files should be put in place with restrictive permissions. I can not find any blog or article online which provides basic set of .htaccess files for Vtiger.