Ensuring Cloud Security: Challenges and Best Practices