Сайт скрывается за CloudFlare или подобными сервисами, сервер скрывается за TCPShield или аналогами. Всё фильтруется так, чтобы напрямую связи с сервером не было, только через прокси.
Этого будет вполне достаточно, чтобы тебя не положили школьники со слабыми знаниями и небольшим кол-вом ресурсов.
Но учти, что чем крупнее твой сервер - тем выше к нему интерес.
Также учти, что существуют понятия "комплексность" и "автономность".
Если один из компонентов перегрузит твой сервер - начнутся проблемы у всех остальных компонентов. Причем причиной проблем может стать не только атака, но и сбой из-за бага, проблемы с железом, взлом и так далее.
Пример - от старости из строя вышел диск - всё, у тебя ни сайт, ни сервер не работают.
Или же вышла из строя база - у тебя больше не будет работать сервер.
Чем меньше между собой связаны компоненты - тем стабильнее будет твоя система. Именно по этой причине многие разносят сайт и игру по разным хостам. Чтобы в случае чего угодно было проще восстановить стабильность всей системы