Я немного новичок в серверах, но я знаю, что делать. Теперь у меня настроен сервер, только я хотел бы знать, безопасна ли эта настройка для производственного использования, или я могу сделать что-то лучше.
ОС: Centos 5.3, базовая установка с Apache, MySQL и PHP. Открытые порты: 22 для доступа по SSH / SFTP, 80 для HTTP и 3306 для MySQL (только мой IP-адрес имеет доступ, конечно, с идентификацией)
Я настроил Apache так, что виртуальные хосты разрешены, и у каждого домена есть собственная папка в /var/www/domain.ext
Это безопасно, или мне что-то не хватает?
Спасибо за совет, оценен =)
Вау, это открытый вопрос. Есть много над чем подумать, от деталей конфигурации ОС до параметров SSHd (разрешить только открытый ключ) до конфигурации Apache, которая может быть постоянной специализацией.
MySQL можно настроить так, чтобы он вообще не использовал сеть TCP, а вместо этого использовал сокеты Unix. Я рекомендую это.
Затем не забывайте, что вам нужно тщательно спланировать и разработать приложение, которое будет работать поверх всего этого. Поскольку код, который используется чаще, обычно подвергается пересмотру, я бы внимательно посмотрел на эту область.
Начиная снизу, есть несколько бесплатных руководств по настройке и утилит, которые очень помогут вам начать работу:
Операционные системы
Apache
Я бы предложил изменить порт SSH и MySQL на что-нибудь нестандартное, чтобы избежать случайного сканирования портов.
Если MySQL работает только локально, я бы вообще не открывал для него порт и использовал разъем вместо.
Кроме того, убедитесь, что вы применили исправления безопасности, как только они появятся, а также прочтите и соблюдайте всю документацию по безопасности для товары Вы с помощью.
моим стандартным руководством по безопасности Linux является Руководство по обеспечению безопасности Debian. вам может потребоваться изменить специфику CentOS, но концепции прочны.
резюме:
добавить mod_security
Стефан, вы можете туннелировать соединение mysql через ssh, чтобы управлять им с другой машины. Он по-прежнему думает, что вы подключаетесь к нему локально в соответствии с настройкой my.cnf, но вам необходимо убедиться, что в таблице привилегий есть admin_user@127.0.0.1 с надлежащим уровнем разрешений, поскольку вы подключаетесь к нему через туннель.
Или вы можете просто установить phpmyadmin и включить только локальный доступ и туннель через ssh.
p / s: -Я не могу комментировать, так как недостаточно точки: p, поэтому я должен поставить это как ответ. -Я согласен с ответом Бена изменить стандартный порт на собственный номер порта для ssh и т. Д.