My self-hosted database has been compromised by a hacker or malware, what is the recommended process for recovering my data, recreating the setup and securing it to prevent this happening again in the future?
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.
Without the information AHA requested there isn’t much advice we can give you. I am going to assume you were using mysql or mariadb in which case the first thing I would do is to make a mysqldump of everything.
sudo mysqldump --all-databases > alldb.sql
next I would cat the file to be sure there was information in it.
then I would place that in a gz file.
Here is some documentation on mysqldump
https://linuxize.com/post/how-to-back-up-and-restore-mysql-databases-with-mysqldump/
After that I would uninstall and purge the config files for your db.
Then I would remove all associated packages…
Then I would clean all files…
After that I would install your db of choice but if you feel the old database was corrupted or compromised you should get a controlled environment where you can install your database of choice and disconnect from the web to prevent sending any information. Install the db and import the database. sift through the tables. Find what you cant that is safe and dump it to files then import into your new database on the main server.
Also to secure mysql you should run the following command.
All of this and more is discussed here…
https://www.digitalocean.com/community/tutorials/how-to-secure-mysql-and-mariadb-databases-in-a-linux-vps#:~:text=%20How%20To%20Secure%20MySQL%20and%20MariaDB%20Databases,main%20configuration%20file%20for%20MySQL%20is…%20More%20
Hope this helps!