Multi-agent systems are becoming increasingly popular due to their successful implementation in several sectors. However, there are a variety of threats that might undermine the agent's security and imperil system security. As a result, security concerns should be addressed during the design of multi-agent systems. This survey reviews different models for securing multi-agent systems, which were developed based on the concepts regarding the agent's role and communications. This paper presents and categorizes the most common attacks on MASs. Then, we study and analyze numerous security strategies in the literature, classifying them as prevention, detection, and resiliency approaches based on reputation and trust. Finally, we recommend which security approach is the best countermeasure for specific types of attacks based on recent advances in the research field.