Господа, атакуют сайт и папка mod-tmp разрастается очень сильно. Как ограничить?

Р
На сайте с 07.02.2013
Offline
177
5278

Приветствую.

Сайт по всей видимости кто то как то атакует. Посещалка 1000 в сутки. Папка mod-tmp разрослась до 30 ГБ и будет продолжать расти. Как мне корректно удалаять эти сессии в связке debian+ISP?

На просторах сети нашел несколько вариантов решения данной проблемы, но какой из них выбрать не знаю. Подскажите наилучшее решение, пожалуйста.

1 ВАРИАНТ

- очистить ручками папку mod-tmp

- в конфиг файле /etc/php.d/apache2/php.ini ставим session.gc_probability=1

- перезагружаем сервер

2 ВАРИАНТ

Добавить в cron пару заданий:

- find /var/www/имя пользователя/data/bin-tmp/ -type f -cmin +20 -print0 | xargs -r -0 rm

- find /var/www/имя пользователя/data/mod-tmp/ -type f -cmin +20 -print0 | xargs -r -0 rm

3 ВАРИАНТ

- создать файл /etc/php5/conf.d/session-gc.ini с содержимым:

session.gc_probability = 1

session.gc_divisor = 1000

session.gc_maxlifetime = 1440

4 ВАРИАНТ

добавить в скрипт /etc/cron.d/php5 к строке

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -

r -0 rm

дополнительную строку

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/www ] && /usr/bin/find /var/www/ -regextype posix-egrep -regex '.*/sess_[a-f0-9]{32}$' -type f -cmin +

$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm

Какой вариант выбрать?

P.S. Может есть лучшие варианты?

zexis
На сайте с 09.08.2005
Offline
388
#1

1. Посмотреть нет ли подозрительных запросов в Access.log

2. Посмотреть сколько коннектов netstat

3. закрыть лишние порты, которые не нужны для работы сайта.

Den73
На сайте с 26.06.2010
Offline
523
#2

а чем отличаются 1 и 3 вариант, 4 вариант жесть)

включите в php стандартный функционал по очистки сессий и все.

Р
На сайте с 07.02.2013
Offline
177
#3
zexis:
1. Посмотреть нет ли подозрительных запросов в Access.log
2. Посмотреть сколько коннектов netstat
3. закрыть лишние порты, которые не нужны для работы сайта.

1 - странно, но этот файл вообще пуст, также как и error.log и только на том сайте, где наблюдаются проблемы.

---------- Добавлено 20.02.2013 в 16:37 ----------

Den73:
а чем отличаются 1 и 3 вариант, 4 вариант жесть)

включите в php стандартный функционал по очистки сессий и все.

А как его включить?

Den73
На сайте с 26.06.2010
Offline
523
#4
рецидивист:
1 - странно, но этот файл вообще пуст, также как и error.log и только на том сайте, где наблюдаются проблемы.

---------- Добавлено 20.02.2013 в 16:37 ----------


А как его включить?

session.gc_probability=1

zexis
На сайте с 09.08.2005
Offline
388
#5

Если вы не знаете где включаются логи, то лучше обратится к админу.

Включаются они в конфигурационных файлах.

Р
На сайте с 07.02.2013
Offline
177
#6

Вот скрин папки mod-tmp

Там куча левых сессий

---------- Добавлено 21.02.2013 в 10:34 ----------

Den73:
а чем отличаются 1 и 3 вариант, 4 вариант жесть)

включите в php стандартный функционал по очистки сессий и все.

Просмотрел файл php.ini и понял, что ничем не отличаются.

VO
На сайте с 27.07.2008
Offline
149
#7
рецидивист:
Посещалка 1000 в сутки. Папка mod-tmp разрослась до 30 ГБ

Что-то вы путаете, либо сессии тут вовсе не при чем. Обратитесь к специалисту.

G
На сайте с 06.08.2012
Offline
59
#8
Что-то вы путаете, либо сессии тут вовсе не при чем

а может у него пустые сессии забили количество файлов на диске...

df -h выдаст свободное место, а df -i - количество свободных Inodes .

мой совет - если всё остальное нормально - чистите сессии по крону раз в день и 1000 посетителей ничего вам не сделают.

ежедневно удаляйте пустые сессии через запускаемый файл в /etc/cron.daily с таким содержанием

#!/bin/sh

find /var/путь/к_вашей/папке/bin-tmp -type f -name "sess_*" -atime +2 -size 0k -exec rm -rf {} \;

это удалит пустые сессии "2хдневной выдержки"

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий