Приветствую специалистов по безопасности. Есть сайт на D7. Ядро и модули обновлены до последних версий. После обновления в папке scripts вижу такое:
user123@account:~/www/sitename.com/scripts$ ls -l
total 84
-rw-r--r-- 1 user123 user123 569 Dec 18 23:49 code-clean.sh
-rw-r--r-- 1 user123 user123 66 Dec 18 23:49 cron-curl.sh
-rw-r--r-- 1 user123 user123 78 Dec 18 23:49 cron-lynx.sh
-rwxr-xr-x 1 user123 user123 4264 Dec 18 23:49 drupal.sh
-rw-r--r-- 1 user123 user123 2955 Dec 18 23:49 dump-database-d6.sh
-rw-r--r-- 1 user123 user123 2573 Dec 18 23:49 dump-database-d7.sh
-rw-r--r-- 1 user123 user123 6872 Dec 18 23:49 generate-d6-content.sh
-rw-r--r-- 1 user123 user123 10790 Dec 18 23:49 generate-d7-content.sh
-rwxr-xr-x 1 user123 user123 2367 Dec 18 23:49 password-hash.sh
-rwxr-xr-x 1 user123 user123 28602 Dec 18 23:49 run-tests.sh
-rw-r--r-- 1 user123 user123 185 Dec 18 23:49 test.script
total 84
-rw-r--r-- 1 user123 user123 569 Dec 18 23:49 code-clean.sh
-rw-r--r-- 1 user123 user123 66 Dec 18 23:49 cron-curl.sh
-rw-r--r-- 1 user123 user123 78 Dec 18 23:49 cron-lynx.sh
-rwxr-xr-x 1 user123 user123 4264 Dec 18 23:49 drupal.sh
-rw-r--r-- 1 user123 user123 2955 Dec 18 23:49 dump-database-d6.sh
-rw-r--r-- 1 user123 user123 2573 Dec 18 23:49 dump-database-d7.sh
-rw-r--r-- 1 user123 user123 6872 Dec 18 23:49 generate-d6-content.sh
-rw-r--r-- 1 user123 user123 10790 Dec 18 23:49 generate-d7-content.sh
-rwxr-xr-x 1 user123 user123 2367 Dec 18 23:49 password-hash.sh
-rwxr-xr-x 1 user123 user123 28602 Dec 18 23:49 run-tests.sh
-rw-r--r-- 1 user123 user123 185 Dec 18 23:49 test.script
Это нормально? Если нет, что делать? Модуль hacked ничего не нашел.
Комментарии
Это друпальные скрипты: https://git.drupalcode.org/project/drupal/-/tree/7.x/scripts?ref_type=heads
password-hash.sh
* Drupal hash script - to generate a hash from a plaintext password
*
* Check for your PHP interpreter - on Windows you'll probably have to
* replace line 1 with
* #!c:/program files/php/php.exe
*
* @param password1 [password2 [password3 ...]]
* Plain-text passwords in quotes (or with spaces backslash escaped).
*/
генерит хеши из паролей в командной строке
если не планируешь запускать - сбрось executable bit:
chmod -x filename
для спокойствияХорошо, почему у этих файлов есть права на запись? Это так и должно быть?
На других хостингах посмотрел - такого не вижу.
по умолчанию права на файлы 644, но ты можешь их изменить на 444, модули не смогут обновляться из админки в таком случае
Ну я старые файлы ядра стер. Новые распаковал из архива. Права не менял. Но там почемуто -rwxr-xr-x на некоторых файлах в scripts. Мне кажется это неправильно. Или я не прав?
Чтобы bash-скрипты (*.sh) можно было запускать из консоли - у них должен быть установлен флаг x - eXecutable.
Почему у одних скриптов он есть, а у других нет - мне неизвестно, лучше спросить у разработчиков ядра.
Я этими скриптами никогда не пользовался, и обычно сбрасывал флаг x.
Можно вообще задать всем файлам 0444 и папкам 0555, кроме папки files, куда друпалу надо писать.
Но тут следует помнить, кто является владельцем файлов, если это вебсервер (www-data, как правило), то никто не запретит злоумыленнику выполнить из php chmod() и вернуть нужные ему права на файлы и папки.
Если владелец отлчается от пользователя, под которым работает вебсервер (выполняется php, точнее) - тогда имеет смысл так делать.
"Почему у одних скриптов он есть, а у других нет" меня больше волнует: это должно так быть или нет?
Скорей всего это так и задумано разработчиками Друпала.
У других не особо знакомых друг с другом людей на сайтах то же самое.*beee*