Одним из основных направлений моей деятельности является сопровождение сайтов на битриксе. Когда берешь новый сайт на сопровождение, первым делом нужно проверить, что же оставили предыдущие разработчики (к сожалению, варианты бывают разные:( ).
Написал небольшой sh-скрипт, который помогает в поиске бекдоров на сайте.
sh: #!/bin/sh # # scanbackdoors.sh # # Этот скрипт рекурсивно проходит по заданной директории и ищет подозрительный PHP‑код, # характерный для бекдоров, в том числе вызовы: # - eval(base64decode(...)) # - md5($COOKIE[...]) # - base64decode($REQUEST[...]) # - copy($FILES...) # - $USER->Authorize(<целое число>); # # Результаты сканирования записываются в лог‑файл, имя которого содержит текущую дату и время. # # Использование: # ./scanbackdoors.sh /path/to/website # # Обратите внимание: данный скрипт предназначен для использования в оболочке sh. if [ -z "$1" ]; then echo "Usage: $0 /path/to/website" exit 1 fi SEARCHDIR="$1" # Формирование имени лог‑файла с текущей датой и временем. TIMESTAMP=`date +%Y%m%d%H%M%S` SCRIPTDIR=`dirname "$0"` LOGFILE="${SCRIPTDIR}/scanlog${TIMESTAMP}.log" # Записываем стартовую информацию в лог‑файл { echo "------------------------------------------------------------" echo "Начало сканирования: `date`" echo "Директория для сканирования: $SEARCHDIR" echo "------------------------------------------------------------" } | tee "$LOGFILE" # Определяем список шаблонов для поиска в виде многострочной строки. PATTERNS="eval(base64decode md5(\$COOKIE base64decode(\$REQUEST copy(\$FILES \$USER->Authorize([0-9]\+)" # Сохраняем значение IFS и переводим его в символ перевода строки OLDIFS=$IFS IFS=' ' # Перебираем каждый шаблон for pattern in $PATTERNS; do { echo "Ищем строки, содержащие: $pattern" echo "------------------------------------------------------------" } | tee -a "$LOGFILE" grep -RHin --include="*.php" --color=auto "$pattern" "$SEARCHDIR" 2>/dev/null | tee -a "$LOGFILE" echo "------------------------------------------------------------" | tee -a "$LOGFILE" done # Восстанавливаем первоначальное значение IFS IFS=$OLDIFS { echo "Сканирование завершено: `date`" echo "Лог‑файл: $LOGFILE" } | tee -a "$LOGFILE"
Как использовать:
1. Сохраните скрипт в файл, например, scan_backdoors.sh.
2. Сделайте файл исполняемым:
chmod +x scan_backdoors.sh3. Запустите сканирование, указав путь к директории сайта:
./scan_backdoors.sh /var/www/html
При необходимости паттерны можно корректировать или дополнять для более точного поиска потенциально вредоносных строк. Обнаруженные совпадения требуют ручного анализа для определения их легитимности.
После выполнения скрипта в том же каталоге, где находится скрипт, появится лог‑файл с именем, содержащим дату и время сканирования. В логе фиксируются все найденные строки, содержащие подозрительные конструкции, что позволит провести их дальнейший анализ.
Если файлов на сайте много - имеет смысл запустить скрипт в фоне:
./scan_backdoors.sh /path/to/website > /path/to/output.log 2>&1 &
Если вы хотите, чтобы скрипт продолжал работать даже после закрытия терминала, используйте команду nohup:
nohup ./scan_backdoors.sh /path/to/website > /path/to/output.log 2>&1 &
Вывод будет сохранен в файл nohup.out, если вы не указали другой файл для перенаправления.
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.