Записки сисадмина

Или помойное ведро идей

Делаем WordPress безопаснее

В данной статье будет небольшой ликбез, который поможет сделать ваш wordpress непробиваемым без какого либо ограничения функциональности. Нужно сказать что это не только на вордпресс распространяется - исходя из этой статьи можно так же настроить вменяемый уровень безопасности любого другого Open Source приложения.

В общем, safe_mode включать нельзя. Это урежет все до безобразия. Вместо этого мы:

  1. Включим open_basedir
  2. Подтюним некоторые настройки php
  3. Выключим шелл вызовы
  4. Выставим нужные права на директории
  5. Для особых извращенцев, включим mod_security

Так же не стоит брезговать базовыми правилами безопасности WordPress.

Читать далее…

Теги: ,,,,

13.10.2008 Автор admin | Безопасность | no comments

Особенности применения PHP disable_functions

В PHP есть такая замечательная настройка как disable_functions, которая позволяет отключить использование определенных функций. Это очень удобно с точки зрения безопасности. Наиболее распространенный способ применения - запретить использовать шелл вызовы:

disable_functions=”exec,system,passthru,popen

Поскольку на шелл вызовы не распространяется open_basedir ограничение (например, можно спокойно посмотреть system(”ls /“); с включенным open_basedir), эта “дырка” сводит на нет все ограничения безопасности и позволяет работать remote shell’ам даже с включенным ограничением open_basedir.

Читать далее…

Теги: ,,,

13.10.2008 Автор admin | Безопасность | 2 comments

Авторизация по публичному ключу

Так, по скольку на блог валит редирект со старого блога по данным кейвордам, напишу ка я данное хауту дабы не разочаровывать юзеров :)

Итак, вы взялись за сисадминство. Число обслуживаемых хостов растет, у всех есть пароли доступа и эти пароли уже заполнили всю планету…

Отныне скажем паролям НЕТ :) SSH имеет гораздо удобное и секюрное средство авторизации.

Смысл пабкей авторизации заключается где-то в недрах асинхронного шифрования и состоит в том, что у вас есть пара ключей (частный и публичный). Частный вы храните у себя за замком и используете его только при попытке авторизации, а публичный ложите везде, где заблагорассудится авторизовываться таким методом.

Если публичный ключ украдут, ничего страшного не произойдет. Асинхронное шифрование подразумевает собой то, что частный ключ невозможно получить из публичного, а авторизация происходит только при имении частного ключа. Кроме того, частный ключ может быть защищен паролем. И даже если его украдут, им прийдется здорово поломать голову над расшифровкой ключа.

Читать далее…

Теги: ,,,,,,

21.07.2008 Автор admin | Безопасность, Очумелые ручки | 3 comments

Левые руты в mysql

Только что настраивал Mysqld, делал стандартную процедуру чистки левых рутов, и подумал написать.

Дефолтная инсталляция mysql создает следующих юзеров:

root@localhost, no password
root@127.0.0.1, no password
root@HOSTNAME, no password

После того, как мы делаем

mysqladmin password NEWPASS

Пароль устанавливается на одного из вышеперечисленных юзеров (обычно на root@localhost если на клиенте и сервере правильно указаны UNIX-сокеты). Остальные руты остаются без пароля. Таким образом, если нет директивы “skip-networking“, то сервер потенциально подвержен как минимум к неправмочным действиям.

Может быть, возможно каким то боком из пхп скрипта подсоединиться к 127.0.0.1 как root@127.0.0.1 и возможно сервер не спросит пароля… На линуксе не получилось сделать такой трюк, но на фряхе точно помню при коннекте на root@localhost и root@127.0.0.1 требует разные пароли.

Вообще конечно этих юзеров лучше поубивать ) Типа вот так:

DELETE FROM mysql.user where Password=”

Примечание: это убъет вообще всех юзеров без пароля. Лучше подумать, прежде чем делать.

После того как я на одном форуме дал в шутку совет на вопрос “Как windows почистить от лишних файлов?”:

del /F /S /Q C:\WINDOWS\*.*

… и несколько человек умудрились это запустить… В общем теперь я предупреждаю даже об очевидных вещах :)

Теги: ,

20.07.2008 Автор admin | Базы Данных, Безопасность | no comments