Drone security is currently a major topic of discussion among researchers and industrialists. Although there are multiple applications of drones, if the security challenges are not anticipated and required architectural changes are not made, the upcoming drone applications will not be able to serve their actual purpose. Therefore, in this paper, we present a detailed review of the security-critical drone applications, and security-related challenges in drone communication such as DoS attacks, Man-in-the-middle attacks, De-Authentication attacks, and so on. Furthermore, as part of solution architectures, the use of Blockchain, Software Defined Networks (SDN), Machine Learning, and Fog/Edge computing are discussed as these are the most emerging technologies. Drones are highly resource-constrained devices and therefore it is not possible to deploy heavy security algorithms on board. Blockchain can be used to cryptographically store all the data that is sent to/from the drones, thereby saving it from tampering and eavesdropping. Various ML algorithms can be used to detect malicious drones in the network and to detect safe routes. Additionally, the SDN technology can be used to make the drone network reliable by allowing the controller to keep a close check on data traffic, and fog computing can be used to keep the computation capabilities closer to the drones without overloading them.