Лечение мобильных, поисковых редиректов и дорвеев на сайте revisium
- Зачем взламывают сайты
- Какие виды вредоносного кода встречаются на сайте
- Как поймать, проанализировать и удалить мобильный и поисковый редирект
- Как найти и удалить дорвеи
- Угрозы спам-рассылок, дефейс, нагрузка на cpu
- Реальные кейсы по лечению сайтов компании "Ревизиум"
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)AvitoTech
Basis.js - это мощный фреймворк для создания полноценных SPA приложений. Он давно и активно используется в production, в том числе и в Avito. Цель доклада - рассказать об основных возможностях фреймворка и побудить слушателей попробовать данный фреймворк при создании SPA-приложений.
Электронный архив документов операционного дня банка на базе системы DocsvisionDocsvision
Решение предназначено для оптимизации одного из ключевых бизнес-процессов любого банка - работы с документами операционного дня путем исключения обработки и хранения документов дня в бумажном виде.
Отдаем страницы быстрее или как вписаться в требования GoogleIT61
Евгений Костенко, руководитель OSSHelp
ask@osshelp.ru
Почему Google навязывает ответ за 0.2 секунды
Что такое RTT, TTFB, waterfall и от чего зависит скорость
Шардинг vs HTTP/2, keepalive, CDN, тюнинг SSL и зачем все это
Оптимизация, мониторинг и поиск bottleneck’s
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...GeeksLab Odessa
Быстродействие веб-сайта. Методичный анализ и глубины клиентской оптимизации.
Евгений Котельницкий
Что влияет на производительность; средства анализа показателей; правильно определяем цели и задачи; глубины клиентской оптимизации; анализ нескольких сайтов, которые назовёт аудитория.
Примеры использования базы clickhouse для анализа данных.
Экспорт данных access.log в clickhouse. Примеры анализа скорости пользователей на основе логов сервера.
Доклад посвящён специфике.NET Framework в рамках очередной версии хит-парада угроз безопасности приложений OWASP TOP 10, опубликованной в ноябре этого года. Поговорим о том, каким образом каждая из угроз может проявляться в.NET-приложениях, как от этого защищаться и, немного, об общем подходе к разработке защищённых приложений в.NET
Лечение мобильных, поисковых редиректов и дорвеев на сайте revisium
- Зачем взламывают сайты
- Какие виды вредоносного кода встречаются на сайте
- Как поймать, проанализировать и удалить мобильный и поисковый редирект
- Как найти и удалить дорвеи
- Угрозы спам-рассылок, дефейс, нагрузка на cpu
- Реальные кейсы по лечению сайтов компании "Ревизиум"
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)AvitoTech
Basis.js - это мощный фреймворк для создания полноценных SPA приложений. Он давно и активно используется в production, в том числе и в Avito. Цель доклада - рассказать об основных возможностях фреймворка и побудить слушателей попробовать данный фреймворк при создании SPA-приложений.
Электронный архив документов операционного дня банка на базе системы DocsvisionDocsvision
Решение предназначено для оптимизации одного из ключевых бизнес-процессов любого банка - работы с документами операционного дня путем исключения обработки и хранения документов дня в бумажном виде.
Отдаем страницы быстрее или как вписаться в требования GoogleIT61
Евгений Костенко, руководитель OSSHelp
ask@osshelp.ru
Почему Google навязывает ответ за 0.2 секунды
Что такое RTT, TTFB, waterfall и от чего зависит скорость
Шардинг vs HTTP/2, keepalive, CDN, тюнинг SSL и зачем все это
Оптимизация, мониторинг и поиск bottleneck’s
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...GeeksLab Odessa
Быстродействие веб-сайта. Методичный анализ и глубины клиентской оптимизации.
Евгений Котельницкий
Что влияет на производительность; средства анализа показателей; правильно определяем цели и задачи; глубины клиентской оптимизации; анализ нескольких сайтов, которые назовёт аудитория.
Примеры использования базы clickhouse для анализа данных.
Экспорт данных access.log в clickhouse. Примеры анализа скорости пользователей на основе логов сервера.
Доклад посвящён специфике.NET Framework в рамках очередной версии хит-парада угроз безопасности приложений OWASP TOP 10, опубликованной в ноябре этого года. Поговорим о том, каким образом каждая из угроз может проявляться в.NET-приложениях, как от этого защищаться и, немного, об общем подходе к разработке защищённых приложений в.NET
«Стой! Кто идет?»: аутентификация и авторизация в корпоративных системахCUSTIS
Открытый семинар для студентов в компании CUSTIS (22 октября 2015 года).
Лектор: Владислав Иофе, архитектор.
Аннотация: При проектировании и реализации корпоративных систем всегда возникает целый ряд вопросов: нужно ли самим разрабатывать систему контроля доступа? Как аутентификация и авторизация встраиваются в архитектуру приложения? Возможно ли сделать вход в систему одновременно простым, удобным и безопасным? Что делать с паролями от сотен сайтов?
На семинаре мы рассмотрим разные методы аутентификации и авторизации, попробуем обойти их, а также познакомимся с промышленными стандартами и современными трендами в этой сфере применительно к корпоративным системам. Мы дадим ответы на уже заданные и многие другие вопросы не с точки зрения специалиста по безопасности, а с позиций проектировщика, пользователя, разработчика, тестировщика и инженера сопровождения, и уделим особое внимание архитектуре и юзабилити.
Видеозапись семинара: https://vimeo.com/143727329.
«DevOps — это о передаче смысла» — Александр Титов, Express 42DevDay
Текущим определением DevOps является аббревиатура CAMS:
— культура;
— автоматизация;
— измерения;
— распространение знаний.
Для меня это недостаточно понятно, я дополнил эти пункты тем, что DevOps это впервую очередь о передаче смысла без искажений. Я расскажу, как эти мысли соотносятся с методиками прошлого (ITIL, etc), как, используя такой подход, создать набор правил для работы и почему автоматизация — это не всегда хорошо.
Мы посмотрим как инструменты автоматизации помогают передавать смысл изменений между окружениями на примере реальных компонентов и кукбуков и рассмотрим на практике почему bash скрипты более слабый инструмент, чем Opscode Chef.
Совместно разберемся к требованиям к системе мониторинга. Что в системах мониторинга вредит передаче смысла, а что, наоборот, помогает. Какую систему мониторинга выбрать для вашего проекта?
Важность честности и открытости в команде для передачи смысла. Честные публичные пост-мортемы — это не проявление слабости, а проявление уважения к своим пользователям. Как научится делиться информацией друг с другом и не скрывать важного.
Windows Server 2012: учимся безопасности передачи данных с помощью AD СSSkillFactory
Евгений Павленко – практикующий специалист по технологиям Microsoft – о самых важных задачах, которые можно решить при помощи AD CS, включая внедрение HTTPS, настройку VPN и построение IPSec-туннелей.
Методология DevOps - новое течение в управлении разработкой и эксплуатацией. DevOps дает возможность бизнесу быстрее добиваться своих целей, активнее меняться и постоянно пробовать новое.
Основные направления DevOps:
- новая инженерная культура, построенная на взаимной - ответственности коллектива;
- автоматизация и инструменты;
- управление изменениями и мониторинг;
- распространение знаний между всеми участниками технической команды.
DevOps или исскуство ухода за Интернет-проектомAlexander Titov
Половина дела - создать интернет-проект, другая половина - позволить
ему работать и зарабатывать для вас деньги при любом количестве
пользователей и переменчивых погодных условиях вплоть до атаки инопланетян.
Жизнь есть жизнь, и она наполнена рисками - пренебрежение
эксплуатацией может оставить вас без бизнеса. Совсем.
http://devconf.ru/offers/81
Доклад будет о правильном и бережном уходе за интернет-проектами. О применении культуры DevOps на практике, о путях внедрениях и сложностях на пути технического директора, который осознанно встал на путь DevOps.
На вебинаре мы рассмотрели самые распространенные ошибки которые НЕ нужно делать при переезде сайта. Разобрали какие действия и в какой последовательности следует выполнять, чтобы сохранить наработанный авторитет сайта в глазах поисковых систем.
Гуманитарные специальности в IT-индустрии
Анна Астахова, старший аккаунт-менеджер в компании Nоveо.
Noveo — международная IT‑компания. Наши главные офисы разработки ПО находятся в Новосибирске и Санкт-Петербурге, представительства — в Москве, Париже, Лондоне и Сиэтле.
2. Ключевые понятия
• Идентификация - это заявление о том, кем вы являетесь;
• Аутентификация - предоставление доказательств, что вы на самом деле есть тот,
кем идентифицировались;
• Авторизация - проверка, что вам разрешен доступ к запрашиваемому ресурсу;
3. Аутентификация по паролю:
• HTTP Basic authentication:
• username и password передаются в незашифрованном виде;
• относительно безопасен при https;
• HTTP Digest authentication:
• используются хэшированные username, password + nonce;
• уязвима к man-in-the-middle атакам;
• Forms authentication:
• нет стандарта, реализации специфичны для конкретных систем
4. Пример Basic HTTP-аутентификации
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Текст, отправляемый в том случае, если пользователь нажал Cancel';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
}
5. Способы передачи username и password:
1. URL query — небезопасный вариант, т. к. строки URL могут запоминаться браузерами,
в логах, прокси и веб-серверами.
1. Request body — безопасный вариант, но он применим только для запросов,
содержащих тело сообщения (такие как POST, PUT, PATCH).
1. HTTP header —оптимальный вариант, при этом могут использоваться и стандартный
заголовок Authorization (например, с Basic-схемой), и другие произвольные
заголовки.
6. Сессии
• Хранятся на сервере;
• Доступ к данным через суперглобальный массив $_SESSION;
• По умолчанию сессии работают в файловой системе;
• Запускаются session_start(), либо автоматически(php.ini) session.auto_start = 1
• Сессия завершает свою работу в конце php-скрипта,
• может быть завершена и вручную session_write_close();
• Идентификатор сессии (session id):
• хранится в cookies;
• передается через URL (не рекомендуется);
7. Сессии. Пример
Регистрация переменной в сессии:
<?php
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
Отмена объявления переменной:
<?php
session_start();
unset($_SESSION['count']);
?>
8. Cookies
• Хранятся на клиенте;
• Cookies являются частью HTTP-заголовка;
• Cookies, отправленные серверу браузером клиента, будут включены в
суперглобальный массив $_COOKIE;
9. Cookies. Примеры
Установка cookies:
<?php
$value = 'test';
setcookie("TestCookie", $value);
/* срок действия 1 час */
setcookie("TestCookie", $value, time()+3600);
Чтение cookies:
<?php
echo $_COOKIE["TestCookie"];
// все cookies
print_r($_COOKIE);
Удаление cookies:
<?php
// установка даты истечения срока
действия на час назад
setcookie ("TestCookie", "", time() - 3600);
10. Безопасность. Сессии:
• Используйте только cookie. В php.ini:
• session.use_cookies = 1
• session.use_only_cookies = 1
• session_cookie_httponly = 1
• Регенерируйте ID сессии при помощи session_regenerate_id(true) после логина
или смены прав:
11. Пароли. Пример
$hashed_password = crypt('mypassword'); // соль будет сгенерирована автоматически
if (hash_equals($hashed_password, crypt($user_input, $hashed_password))) {
echo "Пароль верен!";
}
12. Пароли. Пример
<?php
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
<?php
password_hash("rasmuslerdorf", PASSWORD_DEFAULT); //
$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq
13. Безопасность. Пароли:
• Запретите создавать простые пароли;
• Защита от перебора паролей:
• ограничение попыток ввода (10 в минуту с одного IP достаточно);
• CAPTCHA;
• Не храните пароль в явном виде - только хэш;
• Используйте стойкие алгоритмы шифрования, например, bcrypt:
• bcrypt - не панацея, а лишь даёт вам время;
• md5, sha1 и т.д. - не вариант, даже с солью;
14. Альтернативные способы аутентификации
• Аутентификация по ключам доступа (access key, API key)
• обязательно использовать защищенное соединение;
• Аутентификация по токенам:
• “Активный” клиент (iOS/Android приложения)
• “Пассивный” клиент (браузер. Пример: OAuth, OAuth2)