>> Более эффективного метода не существует)
Если уязвимость на сайте есть, то переустановка сервера особо не поможет. Здесь же речь не о уязвимости на уровне серверов, а именно об уязвимости на уровне сайтов. Я сделал так:
1. На уровне nginx отключил все сайты. То есть сами конфиги лежат в /etc/nginx/sites-available, а на подключенные сайты симлинки на них в /etc/nginx/site-enabled.
2. По одному вычищаю сайты и подключаю. При этом в каждый прописываю fastcgi_param PHP_VALUE open_basedir="/www/site_path/"; , то есть изоляция процессов в рамках конкретной директории.
Это не гарантирует отсутствие последующих взломов, но так зараза из взломанного сайта не распространится на другие. Таким образом легче будет проанализировать природу взлома, да и последствия меньше.