Русский
Русский
English
Статистика
Реклама

Сертификат

Удобное шифрование с удостоверяющим центром

25.02.2021 12:15:55 | Автор: admin

Привет всем читателям Хабра! В этой статье рассмотрим проблемы и способы использования шифрования в документообороте. Перед командой стояла задача разработки новой архитектуры шифрования, которую нужно внедрить в наш продукт.

Наш продукт

В двух словах как работает наш продукт - это система контроля и аудита прав доступа к электронным документам. Внутри закрытого контура разворачивается сервер, который распределяет права доступа и отслеживает действия с документами. На каждую пользовательскую машину разворачивается клиентская часть продукта - минифильтр, службы и расширения. При работе с электронными документами наша система принудительно проставляет скрытые (и не только) метки конфиденциальности. Каждый пользователь получает от сервера список доступных меток. При запросе доступа к документу вначале происходит проверка наличия проставленной на нем метки в полученном ранее списке. На документы с более важной информацией выставляются метки с необходимостью шифрования данных.

Первая реализация шифрования

Изначально, когда разрабатывался продукт, для шифрования использовался симметричный алгоритм AES с использованием ключа. Данный способ не является удобным, так как нужно было всегда вводить ключ для получения доступа к документу. Также все сотрудники, которые имеют доступ к данным, должны были знать ключ для расшифровки. Такая реализация выглядит не очень удобно и небезопасно. Скорее всего, для простоты пользователи начнут использовать один ключ для шифрования всех документов, а чтобы не забыть - напишут его на стикере и приклеят к монитору. Жестко регулировать действия пользователя в данном случае - не лучшее решение. Можно заставить пользователей для каждого документа использовать уникальный ключ и с течением времени его изменять. Но тогда, при передаче документа другому пользователю, нужно будет передавать и ключ, и, наверняка, кто-нибудь при очередном обновлении ключа забудет его, и доступ к данным будет утерян. Разработка новой архитектуры, в которой учитывались бы все минусы предыдущей, напрашивалась сама собой.

Новая архитектура

Главной задачей для новой архитектуры был отказ от необходимости ввода ключа при расшифровке данных пользователями. Также имело место "пожелание" шифровать, используя сертификаты в новой версии от управляющего центра. Применение сертификата для шифрования означало использование ассиметричных алгоритмов с открытым и закрытым ключом, что немного не соответствовало концепции нашего продукта. Симметричный алгоритм позволяет расшифровывать данные любым пользователем, который знает ключ. Ассиметричный алгоритм же, в свою очередь, подразумевает, что расшифровать данные может только пользователь, имеющий парный закрытый ключ открытому ключу, которым, собственно, и были зашифрованы данные, что в корне нам не подходило. Документ, зашифрованный одним пользователем, должен был быть беспрепятственно расшифрован другим пользователем, который имел бы право доступа к данным.

Вы предложите решение, Вы же эксперт...

Асимметричное шифрование - это алгоритм шифрования данных, который использует уникальную пару ключей (открытый и закрытый) таким образом, что для каждого открытого ключа есть лишь один закрытый. В нашей системе, где есть сервер и множество пользователей, такая пара ключей будет у каждого. Закрытые ключи хранятся у пользователей в специальных криптоконтейнерах, к которым привязан сертификат. Сертификат, помимо всего прочего, содержит открытый ключ, и передача сертификата как раз означает передачу открытого ключа. Переходя к нашей системе - использование данного алгоритма означает, что сертификаты каждого пользователя (а точнее их открытые ключи) необходимо передать всем пользователям между собой (что уже кажется не самой лучшей идеей, если, например, таких пользователей тысячи и разбросаны они по разным концам света). Самое главное противоречие, с которым мы столкнулись - это как зашифровать данные так, чтобы расшифровать их мог любой пользователь, имеющий определенный доступ. Например, чтобы расшифровать документ пользователю X, нужно, чтобы этот документ был зашифрован именно его открытым ключом. Были озвучены самые разные варианты, порой даже безумные - можно шифровать документ в нескольких экземплярах для каждого пользователя ("самая лучшая идея", исходя из того, что пользователей может быть много).

Все размышления по этому поводу сводились к тому, что если мы не можем знать, кто будет расшифровывать документ, то и непонятно, каким открытым ключом его шифровать. Одна из первых идей, которая пришла в голову - это использовать сервер в нашей архитектуре. Каждый клиент при установке нашего продукта регистрируется на сервере, таким образом может получить от сервера его сертификат (открытый ключ) и все документы шифровать им. Далее, после передачи документа другому пользователю, тот для расшифровки документа должен был бы отправить документ на сервер, который его расшифрует и передаст обратно пользователю. Помимо основного недостатка, а именно, передача документа в открытом виде, данная схема имеет ряд других критичных недостатков, главный из которых - передача документа по сети. Документы бывают разные, и двойная передача его на сервер, а потом обратно - не самая удачная мысль. И второе - а что будет, если сервер вдруг упадет или будет недоступен, доступ к данным будет невозможен. Если первый недостаток можно было обойти, например, шифруя документ открытым ключом пользователя, который запрашивает расшифровку, то два других недостатка избежать невозможно.

Эврика!

Внимательное изучение протокола HTTPS (или SSL) показывает интересную особенность, а именно то, что хоть протокол и использует асимметричное шифрование, на самом деле применяется этот алгоритм лишь для: "выработки сессионного ключа, который, в свою очередь, используется более быстрыми алгоритмами симметричной криптографии для шифрования большого объёма данных" (http://personeltest.ru/aways/ru.wikipedia.org/wiki/SSL). Таким образом можно сказать, что 2 клиента между собой при помощи асимметричного алгоритма шифрования договариваются о симметричном ключе, который и используют в дальнейшем для симметричного шифрования данных при передаче. Это сделано для увеличения скорости работы, ведь асимметричные алгоритмы работают намного медленнее, чем симметричные. Сама идея генерации симметричного ключа в нашем случае может выглядеть так, что данные будут шифроваться все также, используя симметричное шифрование одним ключом, который сгенерирован сервером. А вот сам ключ нужно будет зашифровать, используя асимметричный алгоритм и открытый ключ пользователя, которому затем и передаст сервер этот зашифрованный ключ (каждому свой соответственно). Пользователи, получив от сервера зашифрованный ключ, расшифровывают его своим закрытым ключом и используют его для расшифровки и зашифровки данных. Таким образом мы получаем, что ключ, который используется в симметричном шифровании данных, вводит не сам пользователь, а его генерирует сервер, для каждой метки свой уникальный. Далее пользователь при запросе сервера о доступных ему метках получает вместе с ними и зашифрованный ключ. Также была решена и проблема с недоступностью сервера, все полученные данные от сервера хранятся у пользователей, в том числе и зашифрованный ключ. Соответственно, при отсутствии связи с сервером, ключ берется из хранилища, и, тем самым, доступ к зашифрованным данным не пропадает.

Итог

Итак, в итоге получается следующее - каждый пользователь должен получить сертификат с закрытым ключом на свою машину. Далее при регистрации пользователь должен отправить полученный сертификат на сервер, который в свою очередь сохранит его в хранилище сертификатов, а у себя в таблице с информацией о пользователях отметит id полученного сертификата. Затем, при создании метки конфиденциальности, которая будет использовать механизм шифрования, сервер должен сгенерировать уникальный ключ, которым непосредственно и будут шифроваться данные. Пользователь, в свою очередь, после регистрации должен запросить от сервера список доступных ему меток, а сервер при отправке списка должен будет взять id сертификата из таблицы, найти в хранилище сам сертификат и использовать его для того, чтобы зашифровать сгенерированный ранее ключ и отправить пользователю. После получения списка пользователю необходимо сохранить его в памяти для дальнейшего использования. Далее во время работы с документом пользователю при проставлении метки, которая использует соответствующий алгоритм шифрования, сначала необходимо взять зашифрованный ключ, расшифровать его своим закрытым ключом и после этого уже зашифровать данные полученным расшифрованным ключом.

P.S.

Надеюсь этот пост кому-нибудь пригодится и поможет сэкономить время.

Подробнее..

Размещаем сайт на домашнем роутере

04.07.2020 18:11:54 | Автор: admin
Мне давно хотелось потрогать руками интернет-сервисы, настроив веб-сервер с нуля и выпустив его в Интернет. В этой статье хочу поделиться полученным опытом превращения домашнего роутера из узкофункционального устройства в практически полноценный сервер.

Началось всё с того, что служивший верой и правдой роутер TP-Link TL-WR1043ND перестал удовлетворять потребности домашней сети, захотелось 5ГГц диапазона и быстрого доступа к файлам на накопителе, подключенном к роутеру. Просмотрев профильные форумы (4pda, ixbt), сайты с отзывами и посмотрев на ассортимент местных магазинов решил приобрести Keenetic Ultra.

В пользу именно этого устройства сработали хорошие отзывы владельцев:
отсутствие проблем с перегревом (тут пришлось отказаться от продукции Asus);
надежность в работе (тут вычеркнул TP-Link);
простота в настройке (побоялся не справиться и вычеркнул Microtik).

Пришлось примириться с минусами:
нет WiFi6, хотелось взять оборудование с запасом на будущее;
4 LAN порта, хотелось больше, но это уже не домашняя категория.

В итоге получилась вот такая серверная:



слева оптический терминал Ростелекома;
справа наш подопытный роутер;
проводом к роутеру подсоединен завалявшийся m.2 SSD на 128 ГБ, помещенный в коробку USB3 с алиэкспресса, сейчас он аккуратно закреплен на стенке;
на переднем плане удлинитель с независимым отключением розеток, провод от него идет к недорогому UPS;
на заднем плане пучок витой пары на этапе ремонта квартиры сразу запланировал RJ45 розетки в местах предполагаемого размещения техники, чтобы не зависеть от замусоренности WiFi.

Итак, у нас есть оборудование, необходимо его настроить:



первичная настройка роутера занимает около 2 минут, указываем параметры подключения к провайдеру (у меня оптический терминал переключен в режим бриджа, PPPoE соединение поднимает роутер), название WiFi сети и пароль в принципе всё, роутер запускается и работает.



Ставим переадресацию внешних портов на порты самого роутера в разделе Сетевые правила Переадресация:





Теперь можно перейти к продвинутой части, чего я хотел от роутера:
1) функционал небольшого NAS для домашней сети;
2) выполнение функций веб-сервера для нескольких частных страничек;
3) функционал персонального облака для доступа к личным данным из любой точки мира.

Первое реализуется встроенными средствами, не требуя особых усилий:

берем предназначенный для этой роли накопитель (флешку, карту памяти в картридере, жесткий диск или SSD во внешнем боксе и форматируем в Ext4 с помощью MiniTool Partition Wizard Free Edition (у меня нет компьютера с linux под рукой, там можно встроенными средствами). Как я понимаю, при работе система пишет на флешку только логи, поэтому, если их ограничить после настройки системы можно использовать и карты памяти, если планируете много и часто писать на накопитель лучше SSD или HDD.



После этого подключаем накопитель к роутеру и наблюдаем его на экране системного монитора



Переходим щелчком по USB-диски и принтеры в раздел Приложения и настраиваем общий ресурс в разделе Сеть Windows:



И у нас имеется сетевой ресурс, который можно использовать с компьютеров под Windows, подключив при необходимости как диск: net use y: \\192.168.1.1\SSD /persistent:yes

Скорость такого импровизированного NAS вполне достаточна для домашнего применения, по проводу он использует весь гигабит, по WiFi скорость составляет около 400-500 мегабит.



Настройка хранилища один из необходимых шагов для настройки сервера, далее нам нужно:
приобрести домен и статический IP адрес (можно обойтись и без этого, используя Dynamic DNS, но статический IP у меня уже был, поэтому проще оказалось воспользоваться бесплатными сервисами Яндекса делегировав туда домен, мы получаем DNS-хостинг и почту на своем домене);



настроить DNS сервера и добавить A-записи, указывающие на ваш IP:



Вступление в силу настроек делегирования домена и DNS занимает несколько часов, поэтому параллельно занимаемся настройкой роутера.

Для начала необходимо установить репозиторий Entware, из которого мы сможем ставить на роутер необходимые пакеты. Я воспользовался этой инструкцией, только не заливал установочный пакет по FTP, а создал папку прямо на подключенном ранее сетевом диске и скопировал туда файл обычным способом.

Получив доступ по SSH, меняем пароль командой passwd и ставим командой opkg install [имена пакетов] все нужные пакеты:



В ходе настройки на роутере оказались установлены следующие пакеты (результат вывода команды opkg list-installed):

Список пакетов
bash 5.0-3
busybox 1.31.1-1
ca-bundle 20190110-2
ca-certificates 20190110-2
coreutils 8.31-1
coreutils-mktemp 8.31-1
cron 4.1-3
curl 7.69.0-1
diffutils 3.7-2
dropbear 2019.78-3
entware-release 1.0-2
findutils 4.7.0-1
glib2 2.58.3-5
grep 3.4-1
ldconfig 2.27-9
libattr 2.4.48-2
libblkid 2.35.1-1
libc 2.27-9
libcurl 7.69.0-1
libffi 3.2.1-4
libgcc 8.3.0-9
libiconv-full 1.11.1-4
libintl-full 0.19.8.1-2
liblua 5.1.5-7
libmbedtls 2.16.5-1
libmount 2.35.1-1
libncurses 6.2-1
libncursesw 6.2-1
libndm 1.1.10-1a
libopenssl 1.1.1d-2
libopenssl-conf 1.1.1d-2
libpcap 1.9.1-2
libpcre 8.43-2
libpcre2 10.34-1
libpthread 2.27-9
libreadline 8.0-1a
librt 2.27-9
libslang2 2.3.2-4
libssh2 1.9.0-2
libssp 8.3.0-9
libstdcpp 8.3.0-9
libuuid 2.35.1-1
libxml2 2.9.10-1
locales 2.27-9
mc 4.8.23-2
ndmq 1.0.2-5a
nginx 1.17.8-1
openssl-util 1.1.1d-2
opkg 2019-06-14-dcbc142e-2
opt-ndmsv2 1.0-12
php7 7.4.3-1
php7-mod-openssl 7.4.3-1
poorbox 1.31.1-2
terminfo 6.2-1
zlib 1.2.11-3
zoneinfo-asia 2019c-1
zoneinfo-europe 2019c-1


Возможно, тут что-то лишнее затесалось, но места на накопителе много, поэтому разбираться не стал.

После установки пакетов настраиваем nginx, я пробовал с двумя доменами на втором настроен https, и пока висит заглушка. 81 и 433 внутренние порты вместо 80 и 443 используются, поскольку на нормальных портах висят админки роутера.

etc/nginx/nginx.conf
user nobody;
worker_processes 1;
#error_log /opt/var/log/nginx/error.log;
#error_log /opt/var/log/nginx/error.log notice;
#error_log /opt/var/log/nginx/error.log info;
#pid /opt/var/run/nginx.pid;

events {
worker_connections 64;
}

http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log /opt/var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;

server {
listen 81;
server_name milkov.su www.milkov.su;
return 301 milkov.su$request_uri;
}

server {
listen 433 ssl;
server_name milkov.su;
#SSL support
include ssl.conf;
location / {
root /opt/share/nginx/html;
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

etc/nginx/ssl.conf
ssl_certificate /opt/etc/nginx/certs/milkov.su/fullchain.pem;
ssl_certificate_key /opt/etc/nginx/certs/milkov.su/privkey.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
ssl_dhparam /opt/etc/nginx/dhparams.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_stapling on;


Для того, чтобы сайт работал по https, воспользовался известным скриптом dehydrated, установив его по этой инструкции. Затруднений этот процесс не вызвал, запнулся только на том, что в тексте скрипта для работы на моем роутере надо закомментировать строчку в файле /opt/etc/ssl/openssl.cnf:

[openssl_conf]
#engines=engines

И отмечу, что генерация dhparams.pem командой openssl dhparam -out dhparams.pem 2048 на моем роутере занимает больше 2 часов, если бы не индикатор прогресса потерял бы терпение и перезагрузил.

После получения сертификатов перезапускаем nginx командой "/opt/etc/init.d/S80nginx restart". В принципе на этом настройка закончена, но сайта еще нет если положим в каталог /share/nginx/html файл index.html, увидим заглушку.
index.html
<!DOCTYPE html>
Тестовая страничка!


Тестовая страничка!


Это простая статическая тестовая страничка, абсолютно ничего интересного.






Чтобы разместить информацию красиво, непрофессионалу типа меня проще воспользоваться готовыми шаблонами, после долгого перебора различных каталогов нашел templatemo.com там неплохой выбор бесплатных шаблонов, не требующих обязательного указания авторства (что редкость в интернете, большая часть шаблонов в лицензии требуют сохранить ссылку на ресурс, откуда они получены).

Выбираем подходящий шаблон там есть на самые разные случаи, скачиваем архив, и раcпаковываем его в каталог /share/nginx/html, делать это можно уже со своего компьютера, затем редактируем шаблон (тут потребуются минимальные знания HTML, чтобы не нарушить структуру) и заменяем графику, как показано на рисунке ниже.



Резюме: роутер вполне пригоден для размещения на нем легкого сайта, в принципе если не предполагается большой нагрузки, можно поставить и php, и экспериментировать с более сложными проектами (смотрю на nextcloud/owncloud, вроде есть успешные установки на такое железо). Возможность установки пакетов поднимает его полезность например, когда надо было защитить RDP порт ПК в локальной сети, поставил knockd на роутер и проброс порта к ПК открывался только после port knocking.

Почему именно роутер, а не обычный PC? Роутер одна из немногих компьютерных железяк, круглосуточно работающих во многих квартирах, домашний роутер обычно абсолютно бесшумен и легкий сайт с числом посещений в сутки меньше сотни его совершенно не напряжет.
Подробнее..

ISTQB. Как проходит сдача экзамена онлайн

09.03.2021 10:13:46 | Автор: admin
Лучший тестировщикЛучший тестировщик

Когда я смотрела фильм Идиократия, момент с тестом на сообразительность показался мне
нереальным. Ни за что не хотелось, чтобы показанные в фильме события могли оказаться правдой, но спустя несколько лет это случилось. Я стала тестировщиком, и моя работа сейчас
выглядит примерно так, как показано на главной картинке. Наверно, именно так программисты
видят тестировщиков.

Как доказать, что ты хороший тестировщик? Есть много способов это сделать, и один из них
подтвердить свои знания и умения сертификатом ISTQB. В статье будет описан процесс
регистрации, предварительной технической подготовки и прохождения онлайн-экзамена,
который состоялся 5 декабря 2020.

На просторах русской части Интернета уже есть несколько статей, описывающих процесс сдачи
экзамена. Наиболее свежая статья от 20 мая 2020: Сертификация ISTQB стала доступна онлайн:
личный опыт
. Есть еще описание очного экзамена от 2016 года: ISTQB Сертификация. Опыт сдачи.
Дополню эти статьи своим актуальным опытом от декабря 2020.

Думаю, что не стоит надолго останавливаться на том, что такое ISTQB и зачем нужно его сдавать.
Кто попал сюда, скорее всего уже сам это знает. А кто не знает, буквально в нескольких строчках:
ISTQB (International Qualification Board for Software Testing) международная система
квалификации тестировщиков ПО, унифицирующая стандарты и подходы к тестированию.
Система имеет несколько уровней, от базового (foundation level, подтверждает наличие
минимальных теоретических знаний в области тестирования) до экспертного (expert, сочетает в
себе понимание общего процесса тестирования с глубоким пониманием определенной
предметной области). Для понимания крутости обладания сертификатом уровня Expert: кандидату
необходимо пройти все экзамены предыдущих уровней и иметь по крайней мере 7 лет
практического опыта в тестировании. Наличие сертификата ISTQB высоко ценится заказчиками (в
основном зарубежными).

Бронирование экзамена

Для начала необходимо забронировать место на экзамене. Это можно сделать на сайте GASQ или
на сайте российского представительства.

Нужно заполнить форму с контактными данными о себе и указать язык сдачи экзамена. Важное
замечание про способы оплаты:

Обратите внимание на способ оплаты! Выбрав счет-фактуру, Вы обязываетесь перевести
деньги на наш немецкий банковский счет. При выборе оплаты кредитной картой Вы можете произвести оплату с помощью кредитной карты онлайн.

Для подтверждения регистрации необходимо оплатить взнос (150 евро). Связываться с оплатой
банковского счета мне не хотелось, а при оплате картой могут возникнуть проблемы: платежная
система на сайте gasq.org пытается отобразить страницы для подтверждения 3ds в iframe, что
запрещено некоторыми банками. К примеру, моя дежурная карта меня подвела:

Зато спасла карта Сбера.
Отдельно хочу отметить, что у GASQ есть контактная почта и с нее даже отвечают живые люди :)
Я написала им о проблеме с оплатой, надеюсь, в будущем процесс оплаты будет изменен.

Регистрация на экзамен

После успешной оплаты на почту пришло письмо о подтверждении бронирования экзамена и
указание, что примерно за неделю до даты экзамена мне придет письмо с информацией о
времени и месте сдачи экзамена.

На самом деле письмо пришло за 5 дней до экзамена, когда я уже начала волноваться и писать им
с вопросами. В письме сообщалось, что в забронированную дату экзамен не может состояться по
причине Covid-19 и моя регистрация переносится на следующую дату, которую придется ждать
более трех месяцев. Однако, я могу выбрать вариант сдачи через онлайн-прокторинг в
изначально выбранную дату. Для этого необходимо в ответ написать подтверждение.

Прокторинг это процесс (процедура) контроля и наблюдения за каким-либо дистанционным испытанием или экзаменом (от англ. "proctor" человек, который следит за тем, чтобы экзамены в университете проходили без каких-либо нарушений).

Далее поступило письмо о том, что для завершения регистрации на экзамен необходимо пройти
техническую проверку System Check не менее чем за 48 часов до начала экзамена.

Техническая подготовка к сдаче экзамена онлайн

Подробное описание и инструкция по сдаче экзамена онлайн приходит на почту в виде pdf-файла
(прямая ссылка на этот документ).

Потребуются:

  • стационарный компьютер или ноутбук с веб-камерой, микрофоном и динамиками
    (именно микрофон и динамики компьютера, а не гарнитура; использование наушников на
    экзамене запрещено);

  • браузер Google Chrome с установленным расширением ProctorExam Screen Sharing;
    документ с фото, подтверждающий личность: паспорт, водительские права, студенческий
    билет (номер документа и иную приватную информацию на документе можно скрыть);

  • смартфон или планшет с камерой (будут записывать общий план рабочего места, с
    которого проводится экзамен);

  • стабильный Интернет.

Для начала проверки System Check проходим по ссылке из письма. Обязательно проводим
проверку точно на том оборудовании, которое планируется использовать на самом экзамене.

Этапы проверки:

  1. Микрофон
    На экзамене будет производиться запись окружающих звуков. На проверке
    потребуется просто создать шум, чтобы понять, что микрофон работает и записи звука
    не мешают системные настройки и разрешения.

  2. Динамики
    Стандартная проверка Если Вы слышите рингтон, нажмите да.

  3. Интернет
    Фактической проверки Интернет-соединения не будет, только предупредительное
    сообщение про необходимость стабильного Интернета.

  4. Веб-камера
    Стандартная проверка, видно ли видео с веб-камеры.

  5. Мобильное устройство
    Необходимо установить на устройство приложение ProctorExam. Запустить
    приложение и сканировать им выведенный на экран компьютера QR-код.

  6. Скриншеринг
    Проверка возможности показывать экран.

По завершении проверок вы увидите примерно такой экран:

Сразу после завершения System Check на почту должно прийти письмо со ссылкой для перехода к
экзамену.

В моем случае мне пришло два одинаковых письма для прохождения System Check. Я успешно провела проверку и стала ждать письма со ссылкой. Прошло двое суток, письма не было. Я догадалась пройти проверку по второму письму и о, чудо! сразу же пришло письмо со ссылкой на экзамен.

Процесс сдачи экзамена онлайн

Перед началом сдачи экзамена необходимо проверить, соответствует ли место проведения
экзамена некоторым условиям.

В комнате, в которой будет проходить экзамен, должен находиться только один экзаменуемый,
без посторонних людей. Нужно позаботиться о хорошем освещении и отсутствии громких шумов.
На рабочем столе и в пределах досягаемости сдающего не должно быть посторонних предметов.
Можно использовать офисную доску для ведения заметок.

За всем этим будут наблюдать через камеры экзаменаторы веб-камера компьютера следит за
лицом, а камера мобильного устройства должна быть расположена на расстоянии 3 метров и
снимать общий план.

Хочу отметить, что процесс экзамена очень хорошо продуман, и перед началом будут еще раз
даны все необходимые указания.

Мой экзамен начинался в 10 утра. Если пройти по ссылке раньше, то отобразится страница,
отсчитывающая минуты до начала экзамена. Там же указан временной интервал, в течение
которого можно стартовать, 45 минут (то есть с 10:00 до 10:45). До начала стартового окна не
забудьте еще раз убедиться, что все необходимые условия соблюдены, а также предварительно
сходить в туалет. Простите за такие детали, но во время экзамена нельзя выходить за кадр
ведущейся видеосъемки.

После старта выполняем все, что от нас потребуют. Сразу скажу, что каждое действие
сопровождалось инструкцией и gif-иллюстрацией, все было максимально понятно.

1. Через камеру компьютера сделать фото документа и своего лица.

2. На мобильном устройстве включить режим полета и подключиться к wi-fi. Через приложение ProctorExam отсканировать QR-код с экрана компьютера. С этого момента мобильное устройство начинает снимать видео, которое на время проверок будет транслироваться на экране компьютера.

3. Далее последовательно необходимо через камеру мобильного телефона показать:

  • компьютер, клавиатуру

  • рабочий стол и пространство вокруг компьютера

  • потолок и пространство под столом

  • углы комнаты

  • уши (чтобы показать отсутствие прослушивающих устройств)

4. Располагаем обе камеры. Мобильное устройство располагаем так, чтобы оно на
расстоянии 3 метров снимало общим планом экзаменуемого и захватывало экран
компьютера. Камера компьютера должна снимать лицо.
Если планируется использование доски для записей, то она должна быть в видимости
камер. Перед началом экзамена необходимо показать, что доска полностью чистая.

Рекомендую заранее подумать и порепетировать, как закрепить телефон или планшет в
удобном положении. Меня спас велосипедный держатель для телефона, который был
приделан к стулу. В домашних условиях придется подключить смекалку.

Мы прошли почти все технические мытарства. После требуемой подготовки, наконец-то, будет
получена ссылка для перехода непосредственно к экзамену. Она откроется в новой вкладке.

Обратите внимание, первая вкладка должна оставаться открытой до момента окончания
экзамена. Также на первой вкладке есть окно чата с проктором и чат технической поддержки.
Мне они не понадобились.

Внимательно читаем условия экзаменаВнимательно читаем условия экзамена

По инструкции далее необходимо внимательно заполнить форму, однако у меня она уже была
полностью заполнена данными с регистрации.

Еще раз нажимаем на кнопку старта экзамена:

Еще раз читаем условия экзамена:

Чтобы освоиться с окном экзамена, рекомендую заранее выполнить пробный экзамен на
официальном сайте
.

Мои результаты

Сразу после нажатия на кнопку завершения теста будет известен результат сдачи экзамена
PASSED или FAILED. На экран выводится таблица с общим результатом сдачи, а для дотошных
процентные результаты по темам. К сожалению, нет разбора правильных и неправильных
ответов.

Сам сертификат поступил на почту в виде pdf-файла через 3 дня после сдачи экзамена (экзамен
был в субботу, сертификат пришел во вторник).

Заключение

В качестве заключения попробую ответить на некоторые часто возникающие вопросы.

Нужно ли вообще сдавать ISTQB?

Вопрос, так ли нужно наличие сертификата ISTQB для работы тестировщиком, можно сравнить с
холиварным вопросом о необходимости корочки о высшем образовании. Много различных
мнений: большинство за то, что высшее образование необходимо, но бывают и исключения.
Меньшинство цепляется за истории успешных людей без высшего образования и считает
получение диплома ненужным архаизмом. Несомненно, для кандидата на должность
тестировщика наличие сертификата ISTQB будет плюсом.

Для себя я определила сертификат мне нужен. Не только как бумажка, но и как бесценный опыт.
Во время подготовки мне пришлось проштудировать много источников информации, что помогло разложить по полочкам в голове имеющиеся знания и изучить что-то новое.

Просто для интереса я зашла на hh.ru и задала запрос по ключевому слову ISTQB в описании
вакансий по всей России. Результат 64 вакансии (на 20 декабря 2020).

Для сравнения, всего по профобласти Тестирование на тот же момент было 5833 вакансии:

На каком языке сдавать экзамен на русском или на английском?

Сдавать экзамен на русском языке я советовала бы в двух случаях:

  1. Плохое знание или полное незнание английского языка;

  2. Не планируется дальнейшая сдача других уровней ISTQB, кроме начального.

Во всех остальных случаях я рекомендую сразу готовить себя к сдаче на английском языке. Во-первых, дальнейшие модули ISTQB доступны только на английском языке. Поскольку
сертификация ISTQB ценится в основном зарубежными заказчиками, то скорее всего сдающему
пригодится знание терминологии в английском варианте. Во-вторых, вопросы экзамена на русском языке это в любом случае перевод с английского. Возможно, я придираюсь, но многие
вопросы звучат более органично и понятнее в оригинале.
При этом нужно учитывать, что на экзамене понадобится широкий словарный запас. Скорее всего, неизвестным окажется главное слово вопроса, которое определяет смысл.

Небольшая викторина-разминка.

Попробуйте оценить свое знание английского языка по шкале от 0 до 10, вспомнив перевод следующих слов:
discrepancy
to undertake
entrepreneur
harness
extent
density
linkage
precise
complementary
prevail
(слова взяты из сборника вопросов по подготовке к ISTQB)

Небольшой бонус при сдаче экзамена на неродном языке ко времени добавляются
дополнительные 15 минут.

Где найти всю организационную информацию?

На сайте GASG. Здесь можно найти все официальные инструкции, FAQ, скачать силлабус и пройти
демо-экзамен.

Как лучше готовиться? Какие источники использовать?

Ответ на этот вопрос тянет на отдельную статью со списком источников. Попробую дать краткую
выдержку основных моментов.

Самый лучший источник собственный опыт. Проще всего мне давались вопросы, ответы на
которые я могу дать, исходя из опыта. Но не полагайтесь только на свои знания, используйте
разные виды подготовки.

Обязательно попробуйте сдать пробный экзамен на официальном сайте.

Скачайте и изучите силлабус.

Прочитайте хотя бы одну книгу. Советую Foundations of Software Testing: ISTQB Certification от
авторов Andreas Spillner, Tilo Linz, Hans Schaefer, которые непосредственно связаны с работой над
ISTQB. Содержание книги тесно переплетается с темами вопросов ISTQB и покрывает практически
весь необходимый теоретический минимум. Полный список книг по ссылке.

Обязательно потренируйтесь в решении вопросов теста на нескольких разных платформах.
Многие вопросы экзамена специально составлены так, чтобы сбить с толку, чтобы правильным
казался неправильный вариант. Лучше заранее потренироваться, чем столкнуться с этим уже на
самом экзамене. Попробую привести пример:

Q: Which of the following could be a disadvantage of independent testing?
A. Developer and independent testing will overlap and waste resources.
B. Communication is limited between independent testers and developers.
C. Independent testers are too slow and delay the project schedule.
D. Developers can lose a sense of responsibility for quality.

Если не знать правильный ответ, то акцент в вопросе на независимость тестирования (independent
testing) так и подсказывает выбрать ответ про коммуникацию между тестировщиками и
разработчиками. Вспомните свой опыт, как часто вы сами обращаетесь к разработчикам для
уточнения деталей?

Однако, правильный ответ D.

Рекомендую установить на телефон приложения для решения вопросов по ISTQB и ежедневно
ими пользоваться. Из всего разнообразия особенно оказалось полезным приложение Test Mentor
for ISTQB
. В нем есть survival mode, в котором необходимо набрать как можно больше очков,
правильно отвечая на вопросы. Если ответ выбран верно переход к следующему вопросу, если
неверно конец игры и показ правильного ответа. Очень удобно, что правильный ответ
отображается сразу, а не после завершения всего экзамена из 20-40 вопросов, как это
реализовано в других приложениях.

Вопросы на какие темы скорее всего будут на экзамене?

Темы вопросов экзамена всегда одни и те же:

  1. Fundamentals of Testing

  2. Testing Throughout the Software Development Lifecycle

  3. Static Testing

  4. Test Techniques

  5. Test Management

  6. Tool Support for Testing

Некоторые вопросы из подготовительных экзаменов могут встретиться в настоящем экзамене.
Сложилось впечатление, что некоторые вопросы даже кочуют из экзамена в экзамен с
небольшими переформулировками. Один из таких примеров:

Which of the following statements BEST describes the difference between testing and debugging?
A. Testing pinpoints (identifies the source of) the defects. Debugging analyzes the faults and proposes
prevention activities.
B. Dynamic testing shows failures caused by defects. Debugging finds, analyzes, and removes the causes
of failures in the software.
C. Testing removes faults. Debugging identifies the causes of failures.
D. Dynamic testing prevents causes of failures. Debugging removes the failures.

Which of the following statements correctly describes the difference between testing and debugging?
A. Testing shows failures caused by defects; debugging finds, analyses, and removes the failures in the
software.
B. Testing identifies the source of defects; debugging analyses the defects and proposes prevention
activities.
C. Testing prevents the causes of failures; debugging removes the failures.
D. Testing removes faults; debugging identifies the causes of failures.

Программу какого года (2011 или 2018) выбрать для изучения?

На текущий момент для сдачи экзамена можно выбрать только версию 2018 года. Здесь действует
простое правило чем свежее материал для подготовки, тем лучше.

Сколько времени нужно на подготовку?

Сложно дать единый ответ, который будет применим для каждого человека. Мне лично оказалось
достаточно 5 недель подготовки. Исходя из информации, что в моем городе экзамен проходит
примерно 3 раза в год, я решила сдавать его в ближайшую доступную дату.

Если есть дополнительные вопросы, готова ответить на них в комментариях.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru