Вредные советы для разработчиков
Равиль Кадырбаев и Василий Кечин,
системные администраторы PS.KZ
Совет 1
Как не надо делать:
Не стоит тратить свое драгоценное время на настройку фаервола. Сетевые службы
лучше оставить открытыми всему миру, открытость - залог успеха.
Как надо делать:
Настраиваем фаервол по принципу «Что не разрешено – запрещено».
www.ps.kz
Совет 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
Совет 3
Как не надо делать:
Не отключайте показ версии используемых компонентов - посетитель должен знать с
чем он работает. И, к тому же, это абсолютно безопасно.
Как надо делать:
php.ini:
expose_php = Off
nginx.conf:
server_tokens off;
httpd.conf:
ServerSignature Off
ServerTokens Prod
www.ps.kz
Совет 4
Как не надо делать:
Не стоит загромождать сервер приложения большим количеством веб-серверов.
Доверяй только «старому индейцу» и своему notepad'у.
Как надо делать:
Всю статику отдавать через nginx.
www.ps.kz
Совет 5
Как не надо делать:
Зачем заводить кучу пользователей, если вся команда может ходить под root по
принципу KISS.
Как надо делать:
Закрываем удаленный вход под администратором. На сервер ходим только под
непривилегированным пользователем.
www.ps.kz
Совет 6
Как не надо делать:
Не стоит чистить базу данных от лишних данных, копии БД и тестовые пользователи
всегда могут пригодиться.
Как надо делать:
mysql_secure_installation, никаких посторонних БД и пользователей на боевом сервере.
www.ps.kz
Совет 7
Как не надо делать:
Unix-права - это очень сложно, всем известно что 777 гарантировано исправляет
проблемы в приложении.
Как надо делать:
777 – это плохо
750 или 755 для каталогов
640 или 644 для файлов
www.ps.kz
Совет 8
Как не надо делать:
Нет смысла генерировать длинные и сложные пароли, ну кому нужен ваш сервер?
Как надо делать:
Используем генераторы и менеджеры паролей.
www.ps.kz
Совет 9
Как не надо делать:
Будь проще, храни все пароли в репозитории.
Как надо делать:
.gitignore
www.ps.kz
Совет 10
Как не надо делать:
Если хочешь быть успешным, ставь программы make install'ом,
Это проще, и быстрее, и понятнее для всех.
Как надо делать:
checkinstall, rpmbuild, makepkg и прочие.
www.ps.kz
Совет 11
Как не надо делать:
В серверном ПО конфигурация сразу подобрана так, чтобы выдерживать любые
нагрузки и она может самостоятельно адаптироваться под проект. Поэтому не стоит что-
либо менять в дефолтных конфигах.
Как надо делать:
Настраивайте ПО под ваши требования, нагрузки и архитектуру.
www.ps.kz
Совет 12
Как не надо делать:
Если ты действительно любишь свой проект - отпусти его, ты и так потратил на него
много времени. Хорошее ПО обновлять и исправлять - только портить.
Как надо делать:
Следить за уязвимостями и обновлениями (сайт, ОС).
www.ps.kz
Совет 13
Как не надо делать:
Если ты хороший, уверенный в себе программист - разрабатывай прямо на боевом
сервер, опыт не даст тебе ошибиться.
Как надо делать:
Всегда разделяйте тестовый и боевой серверы.
www.ps.kz
Совет 14
Как не надо делать:
Обязательно ставьте все компиляторы, дебагеры, трейсеры. "Случайному" посетителю
вашего сервера будет намного проще скомпилировать эксплоит.
Как надо делать:
Инструменты разработки - только на тестовом сервере.
www.ps.kz
Совет 15
Как не надо делать:
Обязательно хардкодьте полный путь до каждого компонента вашего сайта.
Как надо делать:
Не использовать абсолютные пути в коде.
www.ps.kz
Совет 16
Как не надо делать:
Если хочешь что-то обновить, сделай это тихо. Если что-то сломается, всегда можно
спихнуть на коллегу.
Как надо делать:
Уведомлять об обновлениях и изменениях платформы всех ответственных.
www.ps.kz
Совет 17
Как не надо делать:
Пиши в нестандартной кодировке, дабы запутать врага.
Как надо делать:
utf-8
www.ps.kz
Совет 18
Как не надо делать:
Никогда не документируйте проект - держите все в голове, тренируйте память.
Как надо делать:
Документируйте требования к платформе и программному обеспечению.
www.ps.kz
Продолжение следует…
www.ps.kz

Вредные советы для разработчиков

  • 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
  • 20.