1. Вредные советы для разработчиков
Равиль Кадырбаев и Василий Кечин,
системные администраторы PS.KZ
2. Совет 1
Как не надо делать:
Не стоит тратить свое драгоценное время на настройку фаервола. Сетевые службы
лучше оставить открытыми всему миру, открытость - залог успеха.
Как надо делать:
Настраиваем фаервол по принципу «Что не разрешено – запрещено».
www.ps.kz
3. Совет 2
Как не надо делать:
Никогда не знаешь, какая функция php может вам пригодиться в проекте, поэтому
никогда не настраивайте запрещенные функции.
Как надо делать:
disable_functions =
apache_setenv,dl,exec,openlog,passthru,pcntl_exec,pcntl_fork,pfsockopen,popen,posix_getp
wuid,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_sta
tus,proc_nice,proc_open,proc_terminate,shell_exec,socket_create,socket_create_listen,socke
t_create_pair,syslog,system,socket_listen,stream_socket_server
www.ps.kz
4. Совет 3
Как не надо делать:
Не отключайте показ версии используемых компонентов - посетитель должен знать с
чем он работает. И, к тому же, это абсолютно безопасно.
Как надо делать:
php.ini:
expose_php = Off
nginx.conf:
server_tokens off;
httpd.conf:
ServerSignature Off
ServerTokens Prod
www.ps.kz
5. Совет 4
Как не надо делать:
Не стоит загромождать сервер приложения большим количеством веб-серверов.
Доверяй только «старому индейцу» и своему notepad'у.
Как надо делать:
Всю статику отдавать через nginx.
www.ps.kz
6. Совет 5
Как не надо делать:
Зачем заводить кучу пользователей, если вся команда может ходить под root по
принципу KISS.
Как надо делать:
Закрываем удаленный вход под администратором. На сервер ходим только под
непривилегированным пользователем.
www.ps.kz
7. Совет 6
Как не надо делать:
Не стоит чистить базу данных от лишних данных, копии БД и тестовые пользователи
всегда могут пригодиться.
Как надо делать:
mysql_secure_installation, никаких посторонних БД и пользователей на боевом сервере.
www.ps.kz
8. Совет 7
Как не надо делать:
Unix-права - это очень сложно, всем известно что 777 гарантировано исправляет
проблемы в приложении.
Как надо делать:
777 – это плохо
750 или 755 для каталогов
640 или 644 для файлов
www.ps.kz
9. Совет 8
Как не надо делать:
Нет смысла генерировать длинные и сложные пароли, ну кому нужен ваш сервер?
Как надо делать:
Используем генераторы и менеджеры паролей.
www.ps.kz
10. Совет 9
Как не надо делать:
Будь проще, храни все пароли в репозитории.
Как надо делать:
.gitignore
www.ps.kz
11. Совет 10
Как не надо делать:
Если хочешь быть успешным, ставь программы make install'ом,
Это проще, и быстрее, и понятнее для всех.
Как надо делать:
checkinstall, rpmbuild, makepkg и прочие.
www.ps.kz
12. Совет 11
Как не надо делать:
В серверном ПО конфигурация сразу подобрана так, чтобы выдерживать любые
нагрузки и она может самостоятельно адаптироваться под проект. Поэтому не стоит что-
либо менять в дефолтных конфигах.
Как надо делать:
Настраивайте ПО под ваши требования, нагрузки и архитектуру.
www.ps.kz
13. Совет 12
Как не надо делать:
Если ты действительно любишь свой проект - отпусти его, ты и так потратил на него
много времени. Хорошее ПО обновлять и исправлять - только портить.
Как надо делать:
Следить за уязвимостями и обновлениями (сайт, ОС).
www.ps.kz
14. Совет 13
Как не надо делать:
Если ты хороший, уверенный в себе программист - разрабатывай прямо на боевом
сервер, опыт не даст тебе ошибиться.
Как надо делать:
Всегда разделяйте тестовый и боевой серверы.
www.ps.kz
15. Совет 14
Как не надо делать:
Обязательно ставьте все компиляторы, дебагеры, трейсеры. "Случайному" посетителю
вашего сервера будет намного проще скомпилировать эксплоит.
Как надо делать:
Инструменты разработки - только на тестовом сервере.
www.ps.kz
16. Совет 15
Как не надо делать:
Обязательно хардкодьте полный путь до каждого компонента вашего сайта.
Как надо делать:
Не использовать абсолютные пути в коде.
www.ps.kz
17. Совет 16
Как не надо делать:
Если хочешь что-то обновить, сделай это тихо. Если что-то сломается, всегда можно
спихнуть на коллегу.
Как надо делать:
Уведомлять об обновлениях и изменениях платформы всех ответственных.
www.ps.kz
18. Совет 17
Как не надо делать:
Пиши в нестандартной кодировке, дабы запутать врага.
Как надо делать:
utf-8
www.ps.kz
19. Совет 18
Как не надо делать:
Никогда не документируйте проект - держите все в голове, тренируйте память.
Как надо делать:
Документируйте требования к платформе и программному обеспечению.
www.ps.kz