When one is combating spam there is no magic bullet. A overview of spam management can be found at https://www.mediawiki.org/wiki/Manual:Combating_spam.
For basics I would implement a captcha system, I would recommend the following extensions: checkuser, AbuseFilter, Nuke, PageTriage, and SpamBlacklist, For your request to manually review changes I would suggest FlaggedRevs. You could also implement something similar to what en.wikipedia does, and create a draft namespace and require all content to be created there and moved to the article namespace upon review.