Ну видать вы очень суровый админ раз вам это показалось смешным:D
И со школой вы перегибаете.
"установка suPHP или SuExec" + установка правильных(читать chown) на папки пользователей -
позволит пользователям свободно создавать/удалять только свои файлы и вкупе с
"поставить на папку каждого юзера права drwx------"(в случае ISP /var/www/user/)
не позволит хакеру выбраться из его домашнего каталога, даже если он уже залил шелл на один из сайтов какого то пользователя.
Любой установленый флаг (r w x) в ------- уже даст такую возможность(перемещатся злоумышленнику по всему серверу.
Причем тот же апач при обращению к сайту юзера1 ,будет запускаться с правами не apache:apache, а user1:user1, если у вас сделать так не получается. покурите документацию.
Как пример данная технология реализована с недавнего времени на серверах RackSpace, они кстати обслуживают около 70 000 сайтов.
убрать mod_include из php, отключить SSI, Perl если не юзается
это нужно вслучае если php настроен так не может выполнять системные команды(читать как "если вы установили disabled_functions в php.ini"). тогда хакер может попытаться использовать функцию virtual для запуска SSI скрипта, что приведет в свою очередь, к возможности выполнения команд.
/tmp и папку с сайтами в отдельные разделы с флагом noexec
Это нужно, для того, что если, все таки, каким то образом хакер получит возможность выполнять системные комманды, не дать ему запускать бинарники(читать сплоиты под ядро).
И вообще общий /tmp для всех юзеров , это корень зла. поясню почему.
у юзера 1 есть сайт 1 с уязвимостью, а хакеру нужно попасть на сайт 2 у юзера 2 на том же сервере. Сайт 2 на публичной CMS, которая работает с сессиями(70% минимум от всех php cms).
Хакер подделывает сессию и сохраняет её в общий /tmp потом с этим идентификатором, заходит на сайт 2, и сходу получает админ привилегии на сайте 2, и делает с ним что хочет).
в php.ini задизейблить функции выполнения системных комманд
тут думаю всем все понятно.
установить Suhosin и настроить его на максимальную защиту, которую только возможно(разумеется чтобы скрипты остались рабочими).
прочитайте фразу жирным еще раз.
Логирование POST данных , позволит выяснить откуда у хакеров ноги растут,и через что они к вам лезут. Я думаю вы включите логирование POST когда у вас на сайтах клиентов будут каждый день новые фреймы возникать и бекапы не помогут, ибо шеллы могут там уже быть. который и спалить не возможно, типа
<?php $_SERVER['HTTP_A']($_SERVER['HTTP_B']); ?>
не логируется , не палится, не зависит от настроек сервера, попробуй такой отыскать😂
подведя итог ,можно выжать следующее, на 100% это конечно не спасет, но затруднит работу хакера в разы.
установка suPHP или SuExec , убрать mod_include из php, отключить SSI, Perl если не юзается, /tmp и папку с сайтами в отдельные разделы с флагом noexec, в php.ini задизейблить функции выполнения системных комманд, установить Suhosin и настроить его на максимальную защиту, которую только возможно(разумеется чтобы скрипты остались рабочими).
поставить на папку каждого юзера права drwx------ с папок с сайтами, это не даст перемещатся вольяжно по серверу.
+логирование POST данных.
и в кроне поиск самых типичных шеллов.
такое не поставляется в ОДНОМ флаконе.
Програмист и реверсер это разные колонны.
p.s. дайте двиг не менее 100 кб, и я найду в нем хотя бы 1ну ошибку....за деньги..
Не существует ни одной, хоть мало-мальски, серьезной системы(читать CMS) , в которой бы не нашли с десяток критических дыр...
Яркие тому примеры Wordpress, Joomla, Drupal, PHPBB, SMF, PunBB, VBulletin
Cписок можно продолжать столько, сколько систем существует.
Так что, это вам пища для размышлений так сказать.
............
Принимаю заказы
Праздники кончились, снова работаю, и защищаю ваши сайты.
Не все виды аудита)
Бывает еще "Аудит безопасности"
Здраствуйте,давно занимаюсь этим, моя тема в подписи, icq:46-один-998, сделаю быстро и качественно, о цене можем договорится
3 страницы текста, а толку 0
FTP
=======
Заливаешь по фтп(можно winscp, total commander)дамп базы в sql формате типа database.sql, или в tgz, типа database.tgz
если залил в tgz то делаешь
tar -zvxf database.tgz
архив распакуется в туже папку.
MySQL
========
Создаешь пустую базу данных как там она у тебя называется(например db1), например через phpMyADmin, или скриптом.
SSH
======
Далее
окрываем программу putty
вводишь IP своего сервера, нажимаешь connect
вводишь имя юзера, энтер
пароль(он не виден при вводе), энтер,
Далее переходим в папку с базой
cd /home/papka_v_kotoruyu_zalil_damp/
энтер
далее заливаем непосредственно дамп
mysql -u[имя_юзера] -p[пароль] db1<database.sql
Заметь что имя юзера и пароль вводятся сразу без пробела после -u и -p
Все ждешь, в зависимости от сложности базы(индексы, кол-во таблиц, колонок, записей) и мощности компа, при таком объеме, где то от 5 минут, до часа.
Все.
Кстати если на серваке много посетителей, то лучше перед заливкой дампа стоит выключить веб-сервер,а когда зальется , запустить.(Делать если понимаешь что да как)
/etc/init.d/httpd stop - для остановки вебсервера
/etc/init.d/httpd start - для запуска