Постоянно взламывают

Тема в разделе "Мегафлуд", создана пользователем Ymacker, 8 ноя 2013.

  1. Ymacker

    Ymacker Постоялец

    Регистр.:
    9 сен 2007
    Сообщения:
    54
    Симпатии:
    11
    Есть ряд древних сайтов, работают на joomla, регулярно ломают, заливают шелл, добавляют js и прописывают в шабах. Сильно затрахивает начинать рабочий день с зачистки. Подгружают херню подобную этой dexedok.pp.ua/counter.js .
    Знаю, что это не самое надёжное двигло, но перенести сайты на другую CMS сейчас попросту нет времени. Как защититься от постоянного взлома?

    Меняю пароли на панели и FTP с кристально чистой машины, перебором такие пароли не ломаются, кромсаю на папках права, а этот садомит окаянный всё равно шастает по папкам как у себя дома.
     
  2. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.266
    Атрибуты на чтение везде ставь, меняй пассы на всё. - проверь шеллом на наличие дырявых соседей.
    + скорее всего шелл уже залит с правами на запись...
    + может в БД влита инъекция и по ней заливают шелл на сервер/хост
    + мильен много чего может быть...

    Айболит залей и проверь!
     
  3. Maybe

    Maybe

    Moderator
    Регистр.:
    7 июл 2008
    Сообщения:
    1.151
    Симпатии:
    1.194
    Значит дело в самой cms либо каком-то плагине. Просто обновиться до последней актуальной версии ветки, проверить чтобы все заплатки стояли.
    А вообще, по Джомле кроме Генко вам лучше никто не скажет
     
    Sorcus нравится это.
  4. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Начать нужно с изучения логов, что бы понять где дырка

    Общая тема о борьбе с шеллами и вирусами на сайте
    http://forum.searchengines.ru/showthread.php?t=774117

    Сам использую следующие методы защиты:
    Нужно отредактировать PHP.INI и отключить следующие функции

    disable_functions = eval, scandir, get_current_user, apache_get_modules, virtual, getmyinode, fileowner, filegroup, apache_get_version, apache_getenv, ini_restore, openlog, syslog, highlight_file, show_source, symlink, disk_total_space, ini_get_all, phpinfo, pcntl_alarm, disk_free_space, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, exec, shell_exec, system, passthru, popen, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, leak, listen, chgrp, apache_note, apache_setenv, closelog, debugger_off, debugger_on, define_sys, php_uname, getmyuid, getmypid, diskfreespace, dl, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_times, posix_ttyname, posix_uname

    Проверить, что бы эти значения в php.iniбыли выключены:

    register_globals = Off
    magic_quotes = Off
    magic_quotes_gpc = Off
    magic_quotes_runtime = Off
    magic_quotes_sybase = Off


    Защита .htaccess

    Код:
    RewriteEngine On
    
    # Запрещаем все методы обращения к сайту кроме GET,HEAD,POST
    
    RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST)$ [NC]
    RewriteRule .* - [F]
    
    # Защита от XSS, SQL-injections и т.д
    # Если на сайте не работаю редиректы вида goto.php?url=, закомментировать первые три строчки
    RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
    RewriteCond %{QUERY_STRING} http\: [NC,OR]
    RewriteCond %{QUERY_STRING} https\: [NC,OR]
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} (\<|%3C).*iframe.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
    RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR]
    RewriteCond %{QUERY_STRING} (\./|\../|\.../)+(motd|etc|bin) [NC,OR]
    RewriteCond %{QUERY_STRING} (localhost|loopback|127\.0\.0\.1) [NC,OR]
    RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR]
    RewriteCond %{QUERY_STRING} concat[^\(]*\( [NC,OR]
    RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]
    RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]
    RewriteCond %{QUERY_STRING} (;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]
    RewriteCond %{QUERY_STRING} (sp_executesql) [NC,OR]
    RewriteCond %{QUERY_STRING} ("|%22).*(>|%3E|<|%3C).* [NC,OR]
    RewriteCond %{QUERY_STRING} \$\_POST [NC,OR]
    RewriteCond %{QUERY_STRING} (javascript:).*(;).* [NC]
    RewriteRule ^(.*)$ - [F,L]
    
    # Защита от заливки бекдора
    
    RewriteCond %{QUERY_STRING} ^(.*)([-_a-z]{1,15})=(eval|chmod|chdir|mkdir|rmdir|clear|whoami|uname|unzip|gzip|gunzip|grep|more|umask|telnet|ssh|ftp|head|tail|which|mkmode|touch|logname|edit_file|search_text|find_text|php_eval|download_file|ftp_file_down|ftp_file_up|ftp_brute|mail_file|mysql|mysql_dump|db_query|file_get_contents)([^a-zA-Z0-9].+)*$ [OR]
    RewriteCond %{QUERY_STRING} ^(.*)(wget|shell_exec|passthru|system|exec|popen|proc_open)(.*)$
    RewriteRule ^(.*)$ - [F,L]
    

    1 Выставить права:

    на файлы - 644
    на папки – 751
    На htaccess444



    Для всех папок права 751
    find . -typed -execchmod 0751 "{}" \;

    Для всех файлов права 644
    find . -typef -execchmod 0644 "{}" \;

    Для всех файлов с именем .htaccess права 444
    find . -type f -name '.htaccess' -exec chmod 444 {} \;
     
    aks нравится это.
  5. binh

    binh

    Регистр.:
    6 сен 2011
    Сообщения:
    280
    Симпатии:
    75
    Если лень править ручьками хтаксесс и права доступа к файлам, почти на всех сайтах под управлением джумлы, юзаю Admin Tools Professional https://www.nulled.cc/threads/236745/page-3#post-2196721. Тулуза может сконфигурировать безопасный хтаксес + выставить корректные права на файлы + обеспечить базовую!! защиту.