Если вы говорите о серверах (множественное число), и у вас есть бюджет / возможности, я бы рекомендовал вам иметь только те серверы, которые обращены к клиенту и обслуживают только статический контент.Переместите ваш PHP и SQL обратно только во внутренний.
- Веб-сервер с 80/443 открытым для мира и SSH-портом, открытым только для доверенных IP-адресов или прослушиванием только через внутренний интерфейс, к которому вы можете получить доступ
- Сервер приложений с прослушиванием порта 80только для запросов от интерфейсного веб-сервера через частный IP-адрес (если это возможно).В противном случае, ограничьте его доступ к общедоступным IP-адресам интерфейсных веб-серверов и рассмотрите возможность обмена HTTPS (443) между ними.
- Ваш экземпляр / сервер SQL должен иметь ту же концепцию, доступную только с сервера приложений..
Это позволяет вам иметь несколько уровней безопасности и выделенных ресурсов для обработки определенных задач (веб-серверное обслуживание FE / обслуживание приложений промежуточного программного обеспечения / службы данных Backend)
Кроме того, если ваш FEскомпрометировано, они не будут иметь немедленного доступа к вашему источнику PHP и содержимому базы данных.
Если это один сервер, убедитесь, что только 80/443 открыты для мира, и убедитесь, что у вас есть брандмауэр или концепции брандмауэра для ограничения / запрета доступа ко всем другим портам, кроме как из доверенных источников,Рассмотрите возможность перемещения SSH с порта 22 (по умолчанию) на альтернативный порт ...