Питання безпеки

Налаштування Joomla та серверу для безпечної роботи сайту. Взломи та хакерські ходи.
lhc
Користувач
Користувач
Повідомлень: 7
З нами з: 04 грудня 2006, 17:24
Звідки: Самбір

Питання безпеки

Повідомлення lhc » 04 грудня 2006, 17:40

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

Аватар користувача
Dutch
Адміністратор
Адміністратор
Повідомлень: 1181
З нами з: 28 жовтня 2006, 18:49
Звідки: Київ
Дякував (ла): 3 рази
Подякували: 12 рази
Контактна інформація:

Re: Питання безпеки

Повідомлення Dutch » 18 грудня 2006, 22:59

Що саме цікавить у даному питанні?
lhc
Користувач
Користувач
Повідомлень: 7
З нами з: 04 грудня 2006, 17:24
Звідки: Самбір

Re: Питання безпеки

Повідомлення lhc » 02 січня 2007, 19:21

joomla - проект з досить високим рівнем безпеки, але добре було б висвітлювати на сайті появу патчів та інше що стосується безпеки,  що зрозуміло повисить безпеку. Сподіваюсь що відвідувачам форуму буде про що сказати по цій темі
Аватар користувача
Dutch
Адміністратор
Адміністратор
Повідомлень: 1181
З нами з: 28 жовтня 2006, 18:49
Звідки: Київ
Дякував (ла): 3 рази
Подякували: 12 рази
Контактна інформація:

Re: Питання безпеки

Повідомлення Dutch » 02 січня 2007, 20:41

ОК!
Давайте піднімати!

Отже наведу деякі приклади безпеки, які залежать не від Joomla, а від адміністратора:
1. cmod 0777 на файл конфігурації та на інші файли у корені сайту;
2. register_global ON
3. неоновлені розширення та розширення у яких не врахований register_global

Ось що веде до проникнення на ваш сайт хакера зі стажем в 1 місяць :)

Сама ж Joomla стабільна до хакерських атак!!!

Ну що давайте тоді почнемо у цьому топіку говорити про безпеку!
Elrond
Користувач
Користувач
Повідомлень: 4
З нами з: 05 січня 2007, 22:24

Re: Питання безпеки

Повідомлення Elrond » 05 січня 2007, 22:35

по даній темі маю два питання:

1. Хто шо може сказати про SQL ін'єкції? Наскільки це реальна загроза длія Joomla ?

2. Де можна побачити доку (можемо навіть спільними зусиллями її перекласти на укр.) де детально б описувалися всі налаштування і сервера і самої Joomla, які гарантують не втруччання ? Чи повністю достатньо того, що описав Dutch ?

mr.Z
Користувач
Користувач
Повідомлень: 47
З нами з: 17 листопада 2006, 17:56

Re: Питання безпеки

Повідомлення mr.Z » 06 січня 2007, 15:51

Особисто я відкрив для себе багато цікавого, переглядаючи теми, присвяченій безпеці, на російському форумі - joomlaforum.ru
inf4mi
Користувач
Користувач
Повідомлень: 120
З нами з: 24 січня 2007, 10:04
Подякували: 1 раз

Re: Питання безпеки

Повідомлення inf4mi » 25 квітня 2007, 17:20

Elrond писав:по даній темі маю два питання:

1. Хто шо може сказати про SQL ін'єкції? Наскільки це реальна загроза длія Joomla ?
і мені цікаво !
з цим можна якось боротися?
shaman
Команда підтримки
Команда підтримки
Повідомлень: 287
З нами з: 07 травня 2007, 21:44
Звідки: Україна, Київ

Re: Питання безпеки

Повідомлення shaman » 07 червня 2007, 01:12

Тобто потрібно у globals php параметри встановити на "ON"?(

Код: Виділити все

#  PHP register_globals установлена в `ON` вместо `OFF`
# Joomla! RG_EMULATION установлена в `ON` вместо `OFF` в файле globals.php
)
Це попередження динамічне чи статичне?
shaman
Команда підтримки
Команда підтримки
Повідомлень: 287
З нами з: 07 травня 2007, 21:44
Звідки: Україна, Київ

Re: Питання безпеки

Повідомлення shaman » 07 червня 2007, 01:16

Так правильно виставлені параметри?

Код: Виділити все

/**
 * Adds an array to the GLOBALS array and checks that the GLOBALS variable is
 * not being attacked
 * @param array
 * @param boolean True if the array is to be added to the GLOBALS
 */
function checkInputArray( &$array, $globalise=false ) {
   static $banned = array( '_files', '_env', '_get', '_post', '_cookie', '_server', '_session', 'globals' );

   foreach ($array as $key => $value) {
      $intval = intval( $key );
      // PHP GLOBALS injection bug
      $failed = in_array( strtolower( $key ), $banned );
      // PHP Zend_Hash_Del_Key_Or_Index bug
      $failed |= is_numeric( $key );
      if ($failed) {
         die( 'Illegal variable <b>' . implode( '</b> or <b>', $banned ) . '</b> passed to script.' );
      }
      if ($globalise) {
         $GLOBALS[$key] = $value;
      }
   }
}

/**
 * Emulates register globals = off
 */
function unregisterGlobals () {
   checkInputArray( $_FILES );
   checkInputArray( $_ENV );
   checkInputArray( $_GET );
   checkInputArray( $_POST );
   checkInputArray( $_COOKIE );
   checkInputArray( $_SERVER );

   if (isset( $_SESSION )) {
      checkInputArray( $_SESSION );
   }

   $REQUEST = $_REQUEST;
   $GET = $_GET;
   $POST = $_POST;
   $COOKIE = $_COOKIE;
   if (isset ( $_SESSION )) {
      $SESSION = $_SESSION;
   }
   $FILES = $_FILES;
   $ENV = $_ENV;
   $SERVER = $_SERVER;
   foreach ($GLOBALS as $key => $value) {
      if ( $key != 'GLOBALS' ) {
         unset ( $GLOBALS [ $key ] );
      }
   }
   $_REQUEST = $REQUEST;
   $_GET = $GET;
   $_POST = $POST;
   $_COOKIE = $COOKIE;
   if (isset ( $SESSION )) {
      $_SESSION = $SESSION;
   }
   $_FILES = $FILES;
   $_ENV = $ENV;
   $_SERVER = $SERVER;
}

/**
 * Emulates register globals = on
 */
function registerGlobals() {
   checkInputArray( $_FILES, true );
   checkInputArray( $_ENV, true );
   checkInputArray( $_GET, true );
   checkInputArray( $_POST, true );
   checkInputArray( $_COOKIE, true );
   checkInputArray( $_SERVER, true );

   if (isset( $_SESSION )) {
      checkInputArray( $_SESSION, true );
   }

   foreach ($_FILES as $key => $value){
      $GLOBALS[$key] = $_FILES[$key]['tmp_name'];
      foreach ($value as $ext => $value2){
         $key2 = $key . '_' . $ext;
         $GLOBALS[$key2] = $value2;
      }
   }
}

if (RG_EMULATION == 0) {
   // force register_globals = on
   unregisterGlobals();   
} else if (ini_get('register_globals') == 0) {
   // php.ini has register_globals = off and emulate = on
   registerGlobals();
} else {
   // php.ini has register_globals = on and emulate = on
   // just check for spoofing
   checkInputArray( $_FILES );
   checkInputArray( $_ENV );
   checkInputArray( $_GET );
   checkInputArray( $_POST );
   checkInputArray( $_COOKIE );
   checkInputArray( $_SERVER );

   if (isset( $_SESSION )) {
      checkInputArray( $_SESSION );
   }
}
?>
Востаннє редагувалось 07 червня 2007, 01:17 користувачем Anonymous, всього редагувалось 1 раз.

Аватар користувача
Dutch
Адміністратор
Адміністратор
Повідомлень: 1181
З нами з: 28 жовтня 2006, 18:49
Звідки: Київ
Дякував (ла): 3 рази
Подякували: 12 рази
Контактна інформація:

Re: Питання безпеки

Повідомлення Dutch » 07 червня 2007, 03:04

Бу...
inf4mi
Користувач
Користувач
Повідомлень: 120
З нами з: 24 січня 2007, 10:04
Подякували: 1 раз

Re: Питання безпеки

Повідомлення inf4mi » 07 червня 2007, 03:42

то що відносно SQL ін'єкції?

з цим треба боротися особисто чи має хостер?
Аватар користувача
Dutch
Адміністратор
Адміністратор
Повідомлень: 1181
З нами з: 28 жовтня 2006, 18:49
Звідки: Київ
Дякував (ла): 3 рази
Подякували: 12 рази
Контактна інформація:

Re: Питання безпеки

Повідомлення Dutch » 07 червня 2007, 04:05

Joomla! 1.0.12 на сьогодні стабільна.
Помилки які призводять до хакерських атак - це помилки адміністраторів сайту, які не слідкують за сайтом і допускають помилки які описані тут: http://joomla-ua.org/forum/index.php/topic,167.0.html

shaman
Команда підтримки
Команда підтримки
Повідомлень: 287
З нами з: 07 травня 2007, 21:44
Звідки: Україна, Київ

Re: Питання безпеки

Повідомлення shaman » 12 червня 2007, 01:42

Ще вичитав, потрібно зняти права на запис файлу configuration.php.
Аватар користувача
Dutch
Адміністратор
Адміністратор
Повідомлень: 1181
З нами з: 28 жовтня 2006, 18:49
Звідки: Київ
Дякував (ла): 3 рази
Подякували: 12 рази
Контактна інформація:

Re: Питання безпеки

Повідомлення Dutch » 12 червня 2007, 02:52

Я ж так і написав:

Код: Виділити все

2. Права на файли CHMOD:

файлы      0664
папки       0775
це при хорошому розкладі б на всі треба було б робити :)

але хоча б чмоди на кореневі файли виставте 0644
shaman
Команда підтримки
Команда підтримки
Повідомлень: 287
З нами з: 07 травня 2007, 21:44
Звідки: Україна, Київ

Re: Питання безпеки

Повідомлення shaman » 17 червня 2007, 17:55

Dutch, поясни будь-ласка,що таке "CHMOD".Це абривіатура певних файлів?
mr.Z
Користувач
Користувач
Повідомлень: 47
З нами з: 17 листопада 2006, 17:56

Re: Питання безпеки

Повідомлення mr.Z » 17 червня 2007, 18:01

Це права доступу до файлів та папок.

shaman
Команда підтримки
Команда підтримки
Повідомлень: 287
З нами з: 07 травня 2007, 21:44
Звідки: Україна, Київ

Re: Питання безпеки

Повідомлення shaman » 17 червня 2007, 18:16

Ясно,а так не виникнуть проблеми з компонентами?
Ще одна проблемка:

У мене в кореневому каталозі 2 файли htaccess :
1 - .htaccess
2 - htaccess.txt

В першому при редагуванні не видно символів, а в другому строки "PHP register_globals" немає.
Востаннє редагувалось 17 червня 2007, 18:34 користувачем Anonymous, всього редагувалось 1 раз.
mr.Z
Користувач
Користувач
Повідомлень: 47
З нами з: 17 листопада 2006, 17:56

Re: Питання безпеки

Повідомлення mr.Z » 17 червня 2007, 19:41

Другий файл - це просто рекомендовані налаштування від розробників Joomla! Можна його переіменувати і відкоректувати під себе.
Він ніяк не впливає на роботу сервера, працює лише просто .htaccess.
shaman
Команда підтримки
Команда підтримки
Повідомлень: 287
З нами з: 07 травня 2007, 21:44
Звідки: Україна, Київ

Re: Питання безпеки

Повідомлення shaman » 17 червня 2007, 19:51

В мене пустий .htaccess . Якщо в ньому прописати php_value register_globals 0 то внутрішня помилка серверу випадає. Я ще не стикався з цими файлами. Поясни пліз, що з ним треба робити якщо всередині він пустий.
Аватар користувача
Dutch
Адміністратор
Адміністратор
Повідомлень: 1181
З нами з: 28 жовтня 2006, 18:49
Звідки: Київ
Дякував (ла): 3 рази
Подякували: 12 рази
Контактна інформація:

Re: Питання безпеки

Повідомлення Dutch » 17 червня 2007, 20:51

http://joomla-ua.org/forum/index.php/topic,167.0.html

php_value register_globals 0
заміни на
php_value register_globals off

А краще стягни останню версію Joomla (1.0.12)
Видали всі файли із різним розширенням htaccess
З дистрибутиву закачай на сервер htaccess.txt та переіменуй його на .htaccess (зверни увагу перед htaccess повинна стояти крапка!!!)

Далі відкрий файл у блокноті та перед текстом закинь параметр:
php_value register_globals off

От і все!


  • Similar Topics
    Відповіді
    Перегляди
    Останнє повідомлення

Повернутись до “Безпека сервера (хостингу) та сайту”

Хто зараз онлайн

Зараз переглядають цей форум: 0 і 0 гостей