![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
| ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Веб-сайт будь-якого масштабу - від невеликого регіонального інтернет-магазину до онлайн-представництва найбільшої рітейлінгової мережі - завжди повинен бути доступний для відвідувачів. Адже це і джерело замовлень, і канал комунікації з клієнтами, і «обличчя» компанії в Інтернеті, що безпосередньо впливає на її імідж.
Одна з причин, за яких ваш сайт може перестати працювати, - DDoS-атака (найчастіше - розподілена атака на ваш сайт за допомогою великого числа «сміттєвих» запитів). Джерела атак та їх технічні реалізації можуть бути найрізноманітнішими (цільова атака від конкурентів, автоматична атака від ботнет-мережі, значна кількість HTTP-запитів, SYN-флуд атаки тощо)
Навіть атака невеликої інтенсивності потребує знань грамотного технічного фахівця для її відображення. Справитися ж з більш серйозними атаками неможливо без спеціалізованої захисту.
|
|
![]() |
![]() |
Інструмент для аудиту PHP-коду
| Запустити автотетст
|
Знайти і випробувати цей інструмент можна в адміністративній частині сайту: Налаштування -> Інструменти -> «Монітор якості» -> вибрати тест «Вжити заходів щодо забезпечення безпеки проекту на рівні веб-розробки» в розділі «Безпека». Запустивши тест, ви зможете переглянути докладний звіт про його роботу (за умови наявності знайдених проблем). Детальніше про Монітор якості
Система перевірки «Монітор якості» також працює в каталозі веб-застосунків для сайтів та корпоративних порталів «Бітрікс: Маркетплейс» .
Детальніше про контроль якості в «Бітрікс: Маркетплейс» Веб-антивірус вбудований безпосередньо в сам продукт - систему управління сайтами. Цей компонент захисту повністю відповідає загальній концепції безпеки системи і в рази підвищує захищеність і швидкість реакції веб-застосунку на веб-загрози.
«Веб-антивірус» перешкоджає імплантуванню шкідливого коду безпосередньо в веб-застосунки. І відбувається це наступним чином. «Веб-антивірус» виявляє в HTML коді потенційно небезпечні ділянки і «вирізає» підозрілі об'єкти з коду сайту. У підсумку віруси не можуть потрапити до електронної пошти користувача сайту - антивірус перешкоджає цьому. І, що особливо важливо, «Веб-антивірус» повідомляє адміністратора порталу - попереджає про наявність вірусу. Отримуючи інформацію про це, адміністратор шукає джерело шкідливого коду, проводить «зачистку» комп'ютера і підсилює профілактичні заходи. Детальніше
![]() |
|
|
|
![]() |
|
![]() |
|
![]() |
![]() |
Створення нового сайту
| Отримання пароля |
![]() |
|
|
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Контроль активності користувачів ведеться на основі засобів модуля Веб-аналітика і, відповідно, доступний тільки в тих редакціях продукту, в які входить цей модуль.
![]() |
|
Дякуємо компанії InternalSecurity за допомогу в поліпшенні системи безпеки продуктів «Бітрікс»
Вперше у світовій практиці для CMS розроблений «хмарний» сервіс, який перевіряє ресурс на наявність зовнішніх і внутрішніх загроз.
«Сканер безпеки» дозволяє:Детальніше про роботу Сканера безпеки - в блозі Андрія Красичкова
Використання одноразових паролів в продуктах «Бітрікс» – це чудове рішення для завдань надійної віддаленої аутентифікації. Сьогодні відомо не так вже багато способів дійсно «сильної» аутентифікації користувачів при передачі інформації по відкритих каналах зв'язку. Між тим таке завдання зустрічається все частіше і частіше. І одноразові паролі - одне з найбільш перспективних її рішень!
Артем Рябінков, керівник відділу розвитку бізнесу компанії «Бітрікс24», к.т.н.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
В теорії інформаційної безпеки процес входу в систему ділиться на 3 основні стадії:
Способи аутентифікації користувачів в комп'ютерних системах ділять на три групи [1].
При виборі паролів користувачі системи (наприклад, веб-сайту) повинні керуватися двома, по суті взаємовиключними, правилами - паролі важко повинні підбиратися і легко запам'ятовуватися (оскільки пароль ні при яких умовах не повинен ніде записуватися, так як в цьому випадку необхідно буде додатково вирішувати завдання захисту носія пароля).
Але оскільки правила взаємовиключні, паролі зазвичай прості і дуже добре підбираються, а також записуються повсюдно без належного захисту цих самих записів. Якщо другу неприємність вирішити технічно неможливо, та й організаційні заходи особливо не допомагають, то ось із забезпеченням складності пароля можна попрацювати.
Складність підбору пароля визначається, в першу чергу, потужністю множини символів, що використовується при виборі пароля (N), і мінімально можливою довжиною пароля (до). В цьому випадку число різних паролів може бути оцінено як знизу, р = Nk. Наприклад, якщо більшість символів пароля утворюють малі латинські букви, а мінімальна довжина пароля дорівнює 3, то р= 263= 17576 (що зовсім небагато для програмного підбору). Якщо ж безліч символів пароля складається з рядкових і прописних латинських літер, а також цифр і мінімальна довжина пароля дорівнює 6, то Ср= 626 = 56800235584.
Складність обираних користувачами КС паролів повинна встановлюватися адміністратором при реалізації встановленої для даної системи політики безпеки. В продуктах «Бітрікс24» є можливість вказати індивідуальну політику безпеки для кожної групи користувачів:
З точки зору теорії, ці рекомендації дуже корисні і зазвичай застосовуються в сукупності, але як правило на практиці вони не дають значного посилення захисту. Так, наприклад, вимога неповторюваності паролів може бути реалізована двома способами. По-перше, можна встановити мінімальний термін дії пароля (в іншому випадку користувач, змушений після закінчення терміну дії пароля змінити його, зможе тут же змінити пароль на старий). По-друге, можна вести список використаних даними користувачем паролів (максимальна довжина списку при цьому може встановлюватися адміністратором).
На жаль, забезпечити реальну унікальність кожного знову обраного користувачем пароля за допомогою наведених вище заходів практично неможливо. Користувач може, не порушуючи встановлених обмежень, вибирати паролі A1, A2, ... де А — перший пароль користувача, що задовольняє вимогам складності. Теж саме стосується розбіжності логін з паролем. Ніщо не завадить зробити логін 'dima', а пароль 'dima_1'.
В силу перерахованих обставин (саме практичній недоцільності) ми не стали штатно вводити в продукти такі обмеження, проте будь-який з наших партнерів може доповнити проект, що ним розробляється, використовуючи API платформи.
Налаштовуючи політику облікових записів користувачів необхідно призначити заходи протидії системи спробам підбору паролів. Для цього можуть застосовуватися такі правила [1]:
1. Перешкода підбору пароля автоматизованим способом. | |
Для перешкоджання автоматизованим способам підбору паролів в сучасних веб-додатках зазвичай використовують CAPTCHA (Completely Automatic Public Turing Test to Tell Computers and Humans Apart " - повністю автоматичний тест Тюрінга для розрізнення комп'ютерів і людей).CAPTCHA являє собою задачу, складну для вирішення комп'ютером і просту для людини, і зазвичай реалізується у вигляді зображення, на якому необхідно розрізнити набір символів або іншу сигнатуру. В продуктах «Бітрікс24» ви можете включити використання CAPTCHA в процедурах реєстрації в систему і аутентифікації. ![]() Використовувати CAPTCHA при реєстрації
Крім того, можна забезпечити примусове виведення CAPTCHA у випадку декількох невдалих спроб аутентифікації, задавши параметр «Кількість спроб введення пароля, до показу CAPTCHA :» в налаштуваннях політики безпеки групи. ![]() Налаштування примусового виведення CAPTCHA
В результаті форма авторизації після N-ї спроби буде виглядати наступним чином:
![]() Форма авторизації з CAPTCHA
CAPTCHA в продуктах «Бітрікс» гнучко налаштовується, що дозволяє досягти компромісу між її складністю і зручністю користувача. У різних веб-системах ця грань завжди своя, але ми пропонуємо зручний інструмент для її визначення. ![]() Налаштування CAPTCHA
| |
2. Обмеження кількості спроб входу в систему. | |
Для обмеження числа спроб входу в систему ми пропонуємо використовувати фільтр активності, що входить до складу модуля «Проактивний захист». У ньому ви можете налаштувати параметри блокування доступу до веб-сайту при перевищенні ліміту активності від деякого відвідувача. ![]() Налаштування параметрів контролю активності
Крім цього, якщо вам стали відомі IP адреси нападників, можна додати їх в стоп-лист, і повністю заборонити доступ до ресурсу з цих адрес, і всі спроби підбору паролів методом «грубої сили» (brute force). ![]() Редагування правил блокування IP
| |
3. Приховування логічного імені останнього працюючого користувача | |
|
Приховування логічного імені останнього працюючого користувача у веб-додатках, на жаль, на рівні системи реалізовувати безглуздо, оскільки підстановку даного імені за замовчуванням виконує більшість браузерів. |
4. Облік всіх спроб (вдалих та невдалих) входу в систему | |
Облік всіх спроб (вдалих та невдалих) входу в систему в продуктах «Бітрікс» забезпечується вбудованим журналом подій. При цьому ви детально налаштовуєте, які події будуть у ньому фіксуватися і скільки часу вони будуть зберігатися. ![]() В результаті адміністратор системи може контролювати основні процеси, пов'язані з аутентифікацією і супутніми діями користувачів. ![]() |
З теоретичної точки зору реакція на неуспішний вхід може бути наступною:
На жаль, ці рекомендації на практиці не зовсім підходять, так як вони можуть дозволити порушникові навмисно заблокувати роботу в системі легального користувача (реалізувати загрозу порушення доступності інформації).
В продуктах «Бітрікс» запропоновано більш витончений варіант, який вже був згаданий. Це використання CAPTCHA після N неуспішних спроб аутентифікації.
Незважаючи на те, що за допомогою застосування перерахованих вище правил парольну ідентифікацію можна зробити більш безпечною, вона все-таки залишається досить вразливою. Не можна захиститися від самої природи віддаленого доступу при роботі з веб-додатками.
Працюючи з веб-додатком, ми не можемо бути впевненими в безпеці каналу зв'язку, який ми використовуємо для доступу в Мережу. Ми можемо зайти у інтернет-кафе, скористатися загальнодоступною Wi-Fi точкою доступу в аеропорту і тим самим легко стати жертвою дуже поширеного сьогодні виду комп'ютерного шахрайства, як сніфінг (від англ. sniff - нюхати). Зловмисники можуть контролювати сегмент мережі та аналізувати весь циркулюючий в ньому трафік. Причому для цього не потрібно бути адміністратором мережі, як правило захищеність особливо бездротових мереж надзвичайно низька, а зловмисником може бути пасажир, що сидить навпроти з ноутбуком, а то і з кишеньковим комп'ютером.
Інша небезпека полягає в тому, що найчастіше необхідно звернутися до веб-застосунку з чужого комп'ютера, в тому ж Інтернет-кафе. Паролі кешуються, як і будь-яка інша інформація, яка вводиться в комп'ютер і при бажанні ними може скористатися хтось ще у своїх небезкорисливих цілях.
Загрози надходять і від вірусів. Отримані в результаті роботи в мережі Інтернет, вони можуть сканувати вхідний та вихідний на предмет наявності в ньому секретних відомостей, аналізуючи пакети найбільш поширених протоколів. Отримана інформація часто надсилається творцям для подальшого аналізу і використання.
Між тим ситуації, коли необхідно віддалено отримати або відправити інформацію, виникають досить часто. Візьмемо хоча б системи електронного банкінгу: нескладно уявити собі ситуацію, коли для віддаленого управління своїм рахунком користувачу потрібен доступ до захищених банківських ресурсів.Специфіка бізнесу багатьох великих компаній часто зобов'язує їх надавати доступ до власних ресурсів стороннім користувачам - партнерам, клієнтам, постачальникам. Сьогодні активно набирає обертів такий тип співробітництва, як аутсорсинг: компанії-субпідряднику для виконання робіт за замовленням цілком може знадобитися доступ до захищених ресурсів замовника.
Багато хто напевно вигукнуть, що є апаратні засоби, що забезпечують необхідний рівень захисту: смарт-карти, USB-ключі. Однак їх використання дуже обмежене знову ж у зв'язку зі специфікою веб-додатків.
Для смарт-кард потрібні зчитувачі, для USB-ключів – доступний USB порт. Якщо ми звертаємося до веб-сайту з чужого комп'ютера, то зрозуміло, що першого там не буде, а USB порт може бути заблокований (це практично стандарт багатьох інтернет-кафе). Інтенсивно розвиваються і мобільні пристрої, і сьогодні їх можна повноцінно використовувати для серфінгу в Інтернеті. Зрозуміло, що ніяких зчитувачів і USB портів у них не існує. Крім цього, для роботи багатьох апаратних засобів аутентифікації потрібно спеціалізоване ПО. Чи варто говорити про те, що воно може бути не встановлено на терміналі доступу.
Потреба підключення до корпоративної мережі за надійною схемою аутентифікації при наявності під рукою лише КПК або смартфона може стати серйозною проблемою, якщо користувач знаходиться на конференції, переговорах або інших ділових заходах. Як раз для мобільних додатків, а також для організації доступу до потрібної інформації з тих місць, де неможливо встановити спеціальне ПО, була розроблена концепція одноразових паролів OTP - One-Time Password.
Найпростіша ідея одноразових паролів полягає в тому, що користувач отримує список паролів Pi, Р2,..., Р„ ..., Рі. Кожен з паролів діє тільки на один сеанс входу (Р[ — на перший, Р2 — на другий і т. д.). В цьому випадку знання пароля, що вже використовувався користувачем нічого не дасть порушнику, а при кожному вході легального користувача можлива перевірка на використання цього пароля ким-небудь ще.[1]
Зрозуміло, що подібна схема має свої труднощі:
Ці недоліки можуть бути усунені, якщо список паролів генерувати на основі деякої незворотньої функції, наприклад функції хешування. Нехай Р — початковий пароль користувача, a F — необоротна функція. Позначимо: F'(P) = F(F(...F(P)...)) (функція F застосовується послідовно iразів). Тоді список одноразових паролів створюється наступним чином: Р = F (Р), Р2 = = F-1(P), .... Рл_! = F(F(P)), Р„ = F(P).
При збої в процесі входу користувача завжди здійснюється вибір наступного пароля зі списку, а система послідовно застосовує функцію F до введеного користувачем пароля, аж до збігу з останнім прийнятим від нього паролем (і тоді користувач допускається до роботи в системі) або до перевищення довжини списку паролів (у цьому випадку спроба входу користувача в КС відкидається).[2] На базі цієї ідеї й працюють всі сучасні технології аутентифікації за допомогою одноразових паролів.
У сучасних технологіях аутентифікації за допомогою OTP застосовується динамічна генерація ключових слів за допомогою сильних криптографічних алгоритмів (вищезгадана функція F). Інакше кажучи, аутентифікаційні дані - це результат шифрування будь-якого початкового значення за допомогою секретного ключа користувача. Дана інформація є і у клієнта, і у сервера. Вона не передається по мережі і недоступна для перехоплення. В якості початкового значення використовується відома обом сторонам процесу аутентифікації інформація, а ключ шифрування створюється для кожного користувача при його ініціалізації в системі. Ключ іноді ще називають вектором ініціалізації.
Варто відзначити, що на даному етапі розвитку технологій OTP існують системи, що використовують як симетричні, так і асиметричні криптографії. У першому випадку секретним ключем повинні володіти обидві сторони. У другому секретний ключ потрібен тільки користувачу, а у сервера аутентифікації він відкритий.
Технології OTP були розроблені в рамках галузевої ініціативи Open Authentication (OATH), висунутої компанією VeriSign в 2004 р. Суть цієї ініціативи полягає в розробці стандартної специфікації дійсно надійної аутентифікації для різних інтернет-сервісів. Причому мова йде про двофакторне визначення прав користувача, в процесі якого останній повинен «пред'явити» смарт-карту або USB-токен і свій пароль. Таким чином, одноразові паролі з часом можуть стати стандартним засобом віддаленої аутентифікації в різних системах.
Сьогодні розроблено і використовується на практиці кілька варіантів реалізації систем аутентифікації за одноразовими паролями [1].
Метод «запит-відповідь». Принцип його роботи такий: на початку процедури аутентифікації користувач відправляє на сервер свій логін. У відповідь на це останній генерує випадкову рядок і посилає його назад. Користувач за допомогою свого ключа зашифровує ці дані та повертає їх серверу. Сервер ж у цей час «знаходить» у своїй пам'яті секретний ключ даного користувача і кодує з його допомогою вихідний рядок. Далі проводиться порівняння обох результатів шифрування. При їх повному збігу вважається, що аутентифікація пройшла успішно. Цей метод реалізації технології одноразових паролів називається асинхронним, оскільки процес аутентифікації не залежить від історії роботи користувача з сервером та інших факторів [3].
Метод «тільки відповідь». В цьому випадку алгоритм аутентифікації дещо простіше. На самому початку процесу програмне або апаратне забезпечення користувача самостійно генерує вихідні дані, які будуть зашифровані та відправлені на сервер для порівняння. При цьому в процесі створення рядка використовується значення попереднього запиту. Сервер володіє цими відомостями; знаючи ім'я користувача, він знаходить значення попереднього його запиту і генерує по тому ж алгоритму точно такий ж рядок. Зашифрувавши його за допомогою секретного ключа користувача (він також зберігається на сервері), сервер отримує значення, яке має повністю збігатися з надісланими користувачем даними.
Метод «синхронізація за часом». В ньому в якості вихідного рядка виступають поточні показання таймера спеціального пристрою або комп'ютера, на якому працює людина. При цьому зазвичай використовується не точне зазначення часу, а поточний інтервал з встановленими заздалегідь межами (наприклад, 30). Ці дані зашифровуються за допомогою секретного ключа і у відкритому вигляді відправляються на сервер разом з іменем користувача. Сервер при отриманні запиту на аутентифікацію виконує ті ж дії: отримує поточний час від свого таймера і зашифровує його. Після цього йому залишається тільки порівняти два значення: обчислене і отримане від віддаленого комп'ютера.
Метод «синхронізація по події». В принципі цей метод практично ідентичний попередньому, тільки в якості вихідного рядка в ньому використовується не час, а кількість успішних процедур аутентифікації, проведених до поточної. Це значення підраховується обома сторонами окремо один від одного. В даний час цей метод отримав найбільше поширення.
В деяких системах реалізуються так звані змішані методи, де в якості початкового значення використовується два типи інформації або навіть більше. Наприклад, існують системи, які враховують як лічильники аутентифікації, так і свідчення вбудованих таймерів. Такий підхід дозволяє уникнути багатьох недоліків окремих методів.
Як вже говорилося вище, в основі OTP лежить використання криптографічних алгоритмів. Це накладає певні зобов'язання на розробників таких продуктів - адже неякісне виконання будь-якого алгоритму або, наприклад, генератора випадкових чисел може поставити під загрозу безпеку інформації.[2]
Генератори одноразових паролів реалізуються двома способами: програмним і апаратним. Перший з них, природно, менш надійний. Справа в тому, що клієнтська утиліта повинна зберігати в собі секретний ключ користувача. Зробити це більш або менш безпечно можна тільки за допомогою самого ключа шифрування на основі персонального пароля. При цьому необхідно враховувати, що клієнтська утиліта повинна бути встановлена на пристрої (КПК, смартфон тощо), з якого в даний момент виконується сесія. Таким чином, виходить, що аутентифікація працівника залежить від одного пароля, при тому що існує безліч способів дізнатися, чи підібрати його. І це далеко не єдина уразливість програмного генератора одноразових паролів.
Незрівнянно більшою надійністю володіють різноманітні пристрої для апаратної реалізації OTP-технологій. Наприклад, є пристрої, що по вигляду нагадують калькулятор (мал. 2): при введенні в них набору цифр, надісланого сервером, вони на основі вшитого секретного ключа генерують одноразовий пароль (метод «запит-відповідь»). Головна вразливість подібних пристроїв пов'язана з тим, що їх можна вкрасти або загубити. Убезпечити систему від зловмисника можна тільки за умови використання надійного захисту пам'яті пристрою з секретним ключем.
| ![]() |
Саме такий підхід реалізований у смарт-картах і USB-токенах. Для доступу до їх пам'яті, користувач має ввести свій PIN-код. Додамо, що такі пристрої захищені від підбору PIN-коду: при триразовому введенні неправильного значення вони блокуються. Надійне зберігання ключової інформації, апаратна генерація ключових пар і виконання криптографічних операцій у довіреному середовищі (на мікросхемі смарт-картки) не дозволяють зловмиснику отримати секретний ключ і виготовити дублікат пристрою генерації одноразових паролів.
Апаратний ключ Aladdin eToken PASS – один з найбільш надійних генераторів одноразових паролів, захищеними практично від всіх вразливостей реалізації.
Пристрої серії eToken досить широко поширені. Такі провідні виробники, як Microsoft, Cisco, Oracle, Novell і т. д., забезпечують їх підтримку у своїх продуктах (у «послужному списку» eToken більше 200 реалізацій з додатками для інформаційної безпеки). Ми раді, що змогли приєднатися до цього списку і забезпечити наших клієнтів необхідним рівнем захищеності при роботі з веб-ресурсами
Гідність eToken PASS полягає в його автономності. Працює пристрій на батарейці з довічним запасом заряду і не вимагає підключення до комп'ютера. Процес генерації одноразового пароля може запускатися шляхом натискання на спеціальну кнопку, розміщену на корпусі пристрою, а його результат у цьому випадку буде відображатися на вбудованому РК-дисплеї. Такий підхід дозволяє застосовувати технологію OTP навіть на тих пристроях, на яких відсутні USB-порти або зчитувачі (смартфони, КПК, стільникові телефони і т. п.), і на комп'ютерах, на яких вони заблоковані (на малюнку зображений eToken NG-OTP, як ще один приклад OTP-токена).
З кожним пристроєм пов'язаний ключ шифрування (вектор ініціалізації), який забезпечує відповідність пристрою і особи, якій воно видане. Вектори ініціалізації зберігаються в адміністратора і прив'язуються до користувача в момент видачі пристрою.
eToken PASS працює за методом «синхронізація по події». Це найбільш надійна з синхронних варіантів реалізація технології OTP (з меншим ризиком розсинхронізації). Алгоритм генерації одноразових паролів, реалізований в ключі eToken NG-OTP, розроблений в рамках ініціативи OATH (він заснований на технології HMAC). Суть його полягає в обчисленні значення HMAC-SHA-1 і потім у виконанні операції усікання (виділення) шести цифр з отриманого 160-бітного значення. Саме вони і служать тим самим одноразовим паролем.
Використання схеми OTP у програмних продуктах Бітрікс забезпечується модулем «Проактивний захист». Для початку використання необхідно включити використання одноразових паролів на відповідній сторінці модуля.
Після цього необхідно відкрити профайл користувача, якому потрібно забезпечити аутентифікацію по OTP. Ми бачимо, що з'явилася нова вкладка «Одноразові паролі».
Перше, що необхідно зробити адміністратору – це ввести секретний ключ, пов'язаний з пристроєм. Цією дією ми пов'язуємо пристрій і користувача, щоб веб-сайт згодом міг коректно виконувати порівняння паролів і аутентифікувати його.
Але цього недостатньо, оскільки потрібно встановити початкове значення лічильника успішних процедур аутентифікації на веб-сайті (або просто обнулити цей лічильник). Для виконання цієї операції необхідно послідовно згенерувати два пароля і ввести їх у відповідні поля форми.
Тепер пристрій пов'язаний з профайлом користувача та ініціалізований. Можна зберегти профайл з новими налаштуваннями. А що означає галочка «Включити складовий пароль»?
Насправді, для будь-якого пристрою eToken необхідно знати PIN-код доступу, щоб його використовувати. Але оскільки eToken PASS через вектор ініціалізації пов'язаний з профайлом, то ми цілком можемо в якості PIN-коду використовувати звичайний (багаторазовий) пароль користувача. І в цьому випадку при аутентифікації користувач повинен ввести складовою пароль, який представляє собою звичайний пароль і одноразовий пароль, що вводяться поспіль без роздільника.
У будь-який момент можна відключити одноразові паролі, знявши галочку «Включити складений пароль», і користувач буде заходити на сайт, використовуючи звичайний пароль. Щоправда, ми настійно рекомендуємо в цьому випадку змінити старий пароль, бо зловмисники могли перехоплювати одноразові паролі, виокремлюючи з них звичайні.
Зверніть увагу, що при використанні eToken PASS можлива розсинхронізація лічильника авторизацій на сайті, і в самому пристрої. Можна випадково натиснути на кнопку генерації без подальшої аутентифікації, наприклад, якщо ключ потрапив в руки до дітей. У цьому випадку подальша аутентифікація буде неможлива і власнику ключа необхідно буде звернутися до адміністратора системи за синхронізацією лічильників.
Щоб не було таких незручностей, передбачено, так зване, вікно синхронізації, що означає максимальну відміну лічильників на сайті і пристрої.
За замовчуванням це значення дорівнює 10, що означає можливість десяти «холостих» натискань. Збільшуючи значення, ви підвищуєте зручність використання, але знижуєте рівень безпеки технології.
При кожній успішній аутентифікації, лічильники на пристрою та на сайті синхронізуються автоматично.
Використання одноразових паролів в продуктах «Бітрікс» – це чудове рішення для завдань надійної віддаленої аутентифікації. Сьогодні відомо не так вже багато способів дійсно «сильної» аутентифікації користувачів при передачі інформації по відкритих каналах зв'язку. Між тим таке завдання зустрічається все частіше і частіше. І одноразові паролі - одне з найбільш перспективних рішень.
eToken PASS - це простий у використанні і зручний автономний генератор одноразових паролів, який можна застосовувати незалежно від терміналу, з якого здійснюється доступ до веб-додатку, незалежно від наявності на ньому відповідних портів і програмного забезпечення.
В технології застосовується використання «стандартних» криптографічних алгоритмів, сумісних з вітчизняними криптопровайдерами. Це означає, що для реалізації системи аутентифікації із застосуванням OTP прекрасно підходять вже існуючі розробки. Такі маркери можна використовувати в уже існуючих системах корпоративної безпеки без їх перебудови. В результаті впровадження технології одноразових паролів можна провести з відносно невеликими витратами.
1) Хорев П.Б. "Методи і засоби захисту інформації в комп'ютерних системах. Навчальний посібник для вузів" , Academia, 2008
2) Давлетханов М. Концепція одноразових паролів в системі аутентифікації. (BYTE Росія), №7-8, 2006
3) Коржов В. Пароль на хвилину. Відкриті системи, 2005
За даними компанії Positive Technologies: частка атак на Веб становить понад 50%; щодня реєструються десятки зломів веб-сайтів.
![]() ![]() ![]() ![]() ![]() |
|
|
Забезпечення інформаційної безпеки веб-систем - процес складний і копіткий, в якому беруть участь різні постачальники послуг і програмних продуктів. З великою впевненістю можна стверджувати, що не можна створити безпечну систему і припинити роботу по забезпеченню інформаційної безпеки. Створюючи систему, ви повинні безперервно стежити за безпекою інформаційного середовища і за безпекою веб-додатків.
Використання продукту «Бітрікс: Управління сайтом», який отримав сертифікат «Безпечний веб-додаток» від компанії Positive Technologies, яка проводила аудит інформаційної безпеки системи, дозволяє з упевненістю стверджувати, що сучасні корпоративні сайти можуть бути надійно захищені.
В якості незалежних експертів для підготовки матеріалів даного розділу залучені фахівці компанії Positive Technologies.
Цікавий матеріал на цю тему опубліковано Олексієм Лукацьким, керівником відділу Інтернет-рішень компанії «Информзащита» (в даний час менеджер з розвитку бізнесу Cisco Systems) в журналі BYTE Росія:
«Автор пройшовся по Web-сайтам деяких, в тому числі й іменитих студій, що пропонують свої (недешеві, зауважимо) послуги зі створення сайтів, і що ж? Жодна з них не згадала в своїх "портфоліо" поняття "захищений сайт". І в типових договорах немає ні слова про захист ...
Що це - некомпетентність або усвідомлене небажання вплутуватися в невідому область ІТ? На жаль, доводиться визнати, що швидше за все перше. Спробую проілюструвати цю тезу, спираючись на особистий досвід участі в ряді Інтернет-проектів ...»
сПовний текст статті опублікований в розділі «Захищений сайт».
Перерахуємо деякі з проблем, які зустрічаються найчастіше:
Перераховані типи вразливостей можуть зустрічатися у всіх веб-додатках, незалежно від того, розроблені вони одним фахівцем або відомою компанією. Тільки системне проектування, продумування питань безпеки на всіх етапах розробки і детальне тестування готового додатка можуть дозволити виключити появи вразливостей.
Використовуючи для роботи веб-проекту тільки «Бітрікс: Управління сайтом», ви можете мінімізувати загрози, пов'язані з веб-додатками. Користуючись технологією SiteUpdate, ви будете завжди мати у своєму розпорядженні саму останню версією продукту. Зусилля, які вживає компанія «Бітрікс24» для забезпечення високого рівня безпеки в поєднанні з незалежним аудитом і безперервним моніторингом з боку компанії Positive Technologies, дозволяють бути впевненими в високому рівні захищеності сайту в цілому.
При розробці сайтів дотримуйтесь елементарних правил обережності. Не можна довіряти всім відвідувачам сайту і сподіватися на те, що будь-яка введена ними інформація не приведе до руйнівних дій. Ці правила не так важко запам'ятати, але без них ви ставите під загрозу безпеку вашого сайту.
2. Використовуйте метод $DB->ForSQL у запитах до БД. При звичайній розробці веб-проекту на основі продукту "Бітрікс: Управління сайтом" вам не доведеться писати прямі запити до бази даних, тому що API функції зроблять це за вас, але якщо ви розробляєте свій модуль або хочете вибрати дані з власних таблиць, то всі параметри, що входять в запит, необхідно обгорнути методом CDatabase::ForSQL. В іншому випадку ви ризикуєте бути атаковані методом SQL ін'єкція.
3. Будь-який доступ до файлів повинен бути контрольованим. Найчастіше розробники використовують метод динамічного підключення скриптів, ім'я якого передається параметром в URL (наприклад, require($_REQUEST['act'])). У цьому випадку обов'язково потрібно скласти список допустимих імен скриптів і підключати необхідний файл тільки після попередньої перевірки його імені. В іншому випадку зловмисник зможе виконати довільний скрипт або вивести вміст файлу з секретною інформацією. Також один з можливих сценаріїв, що представляє загрозу безпеці, це скрипт, що виводить вміст деякого файлу. В обох випадках слід пам'ятати, що шлях до файлу може складатися з символів зворотного шляху (значок дві точки, наприклад "../secret.txt"). Файлова система коректно обробить такий шлях до файлу і ви, самі того не уявляючи, можете дати доступ до файлу, що знаходиться далеко від тієї папки, до якої ви планували дати доступ користувачеві. Важливо не забувати про символ зворотного слеша "\", так як такий символ є аналогом прямого слеша "/" в деяких ОС. Перед обробкою шляху до файлу скористайтеся функцією продукту Rel2Abs, яка призведе шлях в абсолютний вид і дозволить уникнути подальших неприємностей з його використанням.
4. Перевіряйте все, що відвідувач завантажує до вас на сайт. Одна з типових помилок при обробці завантаження файлів на сервер - це недостатня перевірка або взагалі відсутність перевірки розширень імен файлів, що завантажуються. Важливо пам'ятати, що потенційно небезпечні файли не тільки з розширенням .php, але і .pl та навіть .asp файли, бо сайт може перебувати на веб-сервері IIS, який виконує такі файли. Використовуючи таку вразливість, зловмисник може під виглядом аватара на форумі завантажити шкідливий код і виконати його. Тому єдино правильний варіант це скласти список підтримуваних розширень імен файлів (наприклад: jpg, gif, png) і дозволяти завантажувати їх. У продукті для безпечного завантаження файлів і їх перевірки розроблено ряд функцій, наприклад, CFile::CheckFile.
5. Не зберігайте та не передавайте в URL потенційно небезпечні дані. Ні в якому разі не можна зберігати в cookie або передавати в URL секретну інформацію, особливо у відкритому (незашифрованому вигляді). Пам'ятайте, що ці дані можуть бути доступні з javascript або в лог-файлах проксі або веб-серверів. Розміщуючи сторонній лічильник або банер, ви ризикуєте, що ці дані стануть доступні зловмисникові. Тому вся закрита інформація повинна передаватися в POST запити, при можливості з використанням протоколу HTTPS, і зберігатися в зашифрованому вигляді.
6. Уникайте потенційних місць для DOS атаки. Будь-який обчислювальний процес, будь це запит до бази даних або складний алгоритм шифрування, є потенційно схильним до DOS атаки. Тому максимально використовуйте технологію кешування або спеціальний захист від таких атак. У продукті "Бітрікс: Управління сайтом" для цього є всі необхідні інструменти: по-перше, це автоблокування агресивного клієнта, реалізований у модулі статистики - механізм, який блокує клієнтів, які виконали максимальну кількість допустимих запитів за деякий час, по-друге, це механізм кешування для часто викорустовуємих і ресурсномістких ділянок коду.
Всі вищенаведені правила повинні застосовуватися не тільки до параметрів, що надходять в GET або POST запитах, але також до будь-якої іншої інформації, що надходить з комп'ютера клієнта, наприклад cookies або іншим параметрам HTTP запиту. Не варто сподіватися на такі змінні як HTTP_USER_AGENT, який вказує браузер відвідувача або HTTP_X_FORWARDED_FOR, який вказує реальну IP адресу відвідувача, який зайшов через проксі-сервер, - пам'ятайте, вся ця інформація передається в заголовку HTTP запиту і запросто може бути підроблена зловмисником.
Важливо пам'ятати, що сайт - це ваше обличчя в Інтернеті, яке побачать мільйони відвідувачів з усього світу, його безпеку і невразливість - це не просто запобіжні заходи, це ознака вашого професіоналізму та надійності.