├── .gitignore ├── 01_information-security ├── README.md └── pic │ ├── free-version.png │ ├── garant.png │ └── open.png ├── 02_privacy ├── README.md └── assets │ ├── alfabank.pdf │ ├── beeline.pdf │ ├── gazprombank.pdf │ ├── megafon.pdf │ ├── mts.pdf │ └── sberbank.pdf ├── 03_audit ├── 03_audit_IS └── README.md ├── 03_regulation └── README.md ├── 04_classification ├── README.md └── assets │ └── tourist.docx ├── 05_certification ├── README.md └── assets │ └── ispdn.docx ├── 06_threats ├── README.md └── pic │ ├── russian.png │ ├── settings-subtitles.png │ ├── subtitles.png │ └── translation.png ├── 07_crypto-symmetric ├── README.md ├── assets │ ├── cracker-x32.bin │ ├── cracker-x32.exe │ ├── cracker-x64.bin │ ├── cracker-x64.exe │ └── icracker-x64.bin └── pic │ ├── brew.png │ ├── hashcat.png │ ├── linux-01.png │ ├── linux-02.png │ ├── mac-01.png │ ├── mac-02.png │ ├── mac-install-00.png │ ├── mac-install-01.png │ ├── mac-install-02.png │ ├── mac-install-03.png │ ├── mac-install-04.png │ ├── mac-install-05.png │ ├── mac-install-06.png │ ├── mac-install-07.png │ ├── mac-install-08.png │ ├── mac-install-09.png │ ├── mac-settings.png │ ├── veracrypt-solution.png │ ├── veracrypt.png │ ├── win-01.png │ ├── win-02.png │ ├── win-03.png │ ├── win-04.png │ ├── win-05.png │ ├── win-06.png │ ├── win-07.png │ ├── win-08.png │ ├── win-09.png │ ├── win-10.1.png │ ├── win-10.png │ ├── win-11.png │ ├── win-12.png │ ├── win-13.png │ ├── win-14.png │ ├── win-15.png │ ├── win-16.png │ ├── win-17.png │ └── win-install-01.png ├── 08_crypto_assymetric ├── README.md ├── assets │ ├── message.enc │ ├── netology.gpg │ └── student.key └── pic │ ├── gnupg.png │ ├── gpg-cygwin-00.png │ ├── gpg-cygwin-01.png │ ├── gpg-cygwin-02.png │ ├── gpg-cygwin-03.png │ ├── gpg-cygwin-04.png │ ├── gpg-cygwin-05.png │ ├── gpg-cygwin-06.png │ ├── gpg-cygwin-07.png │ ├── gpg-cygwin-08.png │ ├── gpg-cygwin-09.png │ ├── gpg-cygwin-10.png │ ├── gpg-generate-keys.png │ ├── gpg-list-keys.png │ ├── gpg-sign-and-verify.png │ ├── gpg-verify.png │ ├── openssl-cygwin-00.png │ ├── openssl-cygwin-01.png │ ├── openssl-cygwin-02.png │ ├── openssl-cygwin-03.png │ ├── openssl-cygwin-04.png │ ├── openssl-cygwin-05.png │ ├── openssl-cygwin-06.png │ ├── openssl-cygwin-07.png │ ├── openssl-cygwin-08.png │ ├── openssl-cygwin-09.png │ └── openssl-cygwin-10.png ├── 09_financial ├── README.md ├── assets │ ├── android.pdf │ ├── ios.pdf │ ├── private.key │ └── public.key └── pic │ ├── alert.png │ └── sdk.png ├── 10_international ├── README.md └── pic │ ├── benchmarks-list.png │ └── benchmarks-pdn.png ├── README.md ├── casestudy_company assets.md ├── casestudy_threat_model.md └── terminal ├── pic ├── git-bash.png ├── linux-open-ru.png ├── linux-open.png ├── mac-services.png ├── mac-settings.png ├── mac-terminal.png └── windows-cmd.png └── terminal.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | Thumbs.db* 3 | .DS_Store* 4 | HELP.md 5 | 6 | *.exe 7 | *.dll 8 | *.so 9 | *.dylib 10 | -------------------------------------------------------------------------------- /01_information-security/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «1.1. Информационная безопасность: введение в специальность» 2 | 3 | Все задания обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу. 4 | 5 | 6 | ## Цели задания 7 | 1. Научиться работать со статьями Конституции РФ, чтобы знать права и свободы граждан, а также в каких случаях они могут быть ограничены. 8 | 2. Научиться определять ответственность за нарушение законодательства в сфере компьютерной безопасности на основании Уголовного Кодекса РФ. 9 | 3. Разобраться в основных терминах и понятиях информационной безопасности на основании Федерального закона № 149-ФЗ “Об информации, информационных технологиях и защите информации”. 10 | 4. Понять, как на практике применять три свойства информации (конфиденциальность, доступность и целостность), чтобы анализировать инциденты в сфере ИБ. 11 | 12 | Задания построены на изучении либо нормативных документов из законодательства РФ, либо на кейсах из практики. Это позволит вам сразу понять, с какими вопросами сталкивается специалист по ИБ и что работа с документами - это также важная часть профессиональных компетенций. 13 | 14 | ## Чек-лист готовности к домашнему заданию 15 | - [ ] Просмотрите запись вебинара “Информационная безопасность: введение в специальность”. 16 | - [ ] Изучите текстовый материал к занятию с основными терминами в сфере ИБ. 17 | 18 | ## Инструкция к заданию 19 | 1. Внимательно прочитайте все задания и вопросы к ним 20 | 2. В качестве результата пришлите ответы на вопросы в личном кабинете студента Нетологии 21 | 3. В каждом задании сформулирован один (или несколько вопросов), и вам нужно найти ответы в соответствующем нормативно-правовом акте (далее – НПА). Там, где требуется указать понятие, необходимо привести это понятие целиком. Там, где необходимо описать иное (например, ответить на вопрос "в течение какого времени", "какая ответственность" и т.д.) достаточно ответа собственными словами (как вы поняли) и указания номера статьи и пункта. 22 | 23 | *Обратите внимание, что справочная система КонсультантПлюс в бесплатной редакции не даёт копировать текст документа. 24 | Важно: правовые системы предлагают платную подписку на комментарии, аналитические материалы и подборки ссылок. В рамках нашего курса платная подписка не требуется. Все домашние задания рассчитаны на работу исключительно с бесплатной версией. Поэтому, пожалуйста, нигде не вводите данные своих карт и т.д.* 25 | 26 | 27 | ## Предисловие 28 | 29 | В реальной работе вы, конечно же, по юридическим вопросам всегда будете консультироваться с юристами той организации, в которой будете работать. Но важно понимать, что юристы не являются экспертами в ИБ. Поэтому нам с вами важно уметь на базовом уровне работать с правовыми системами. В рамках данного домашнего задания вы поработаете с правовой системой Гарант. 30 | 31 | ## Задача №1 - Конституция 32 | 33 | Изучите Конституцию РФ и ответьте на следующие вопросы: 34 | 1. На основании чего может быть ограничено право на тайну переписки или телефонных переговоров? 35 | 2. В каких целях могут быть ограничены права и свободы гражданина и человека? 36 | 37 | [Конституция в правовой системе Гарант](https://base.garant.ru/10103000/), после перехода по ссылке вы можете либо сразу перейти в нужный раздел, либо нажать на кнопку "Открыть документ в системе ГАРАНТ" в самом низу страницы: 38 | 39 | ![](pic/open.png) 40 | 41 | После чего выбрать "Открыть в бесплатной Интернет-версии": 42 | 43 | ![](pic/free-version.png) 44 | 45 | #### Требования к ответу по задаче №1: 46 | - [ ] даны развернутые ответы на оба вопроса; 47 | - [ ] указаны номера статей и пунктов Конституции РФ, на основании которых составлены комментарии. 48 | 49 | ## Задача №2 - "Взламывать вместе – всегда веселее!" 50 | 51 | Ответственность за нарушения законодательства прописана в Федеральных Законах и Кодексах (Административном, Уголовном и других). 52 | 53 | В рамках [УК РФ](https://base.garant.ru/10108000/), а именно раздела ["Преступления против общественной безопасности и общественного порядка"](https://base.garant.ru/10108000/d67615e380180e02ecd5ecde81a784be/) главы 28 ["Преступления в сфере компьютерной информации"](https://base.garant.ru/10108000/42bb11d7291ec544e2ec2604179c0da1/) описана ответственность за неправомерный доступ к охраняемой законом компьютерной информации (обратите внимание: именно компьютерной - в той же статье вы найдёте определение этого термина), если это деяние повлекло уничтожение, блокирование, модификацию либо копирование компьютерной информации. 54 | 55 | Ответьте на вопрос: 56 | 1. какова ответственность за это деяние и от чего она зависит? 57 | 58 |
59 | Подсказка 60 | 61 | Подсказки смотреть не хорошо 😈! 62 | 63 | Но раз уж вы посмотрели - то обратите особое внимание на то, что деяния, совершённые группой лиц по предварительному сговору или организованной группой лиц всегда наказывается "строже". 64 |
65 | 66 | #### Требования к ответу по задаче №2: 67 | - [ ] дан развернутый ответ на вопрос; 68 | - [ ] указаны номера статей и пунктов Уголовного Кодекса РФ, на основании которых составлены комментарии. 69 | 70 | 71 | ## Задача № 3 - Закон "Об информации, информационных технологиях и защите информации" 72 | 73 | Изучите [Федеральный закон от 27 июля 2006 г. N 149-ФЗ "Об информации, информационных технологиях и о защите информации" в системе ГАРАНТ"](https://base.garant.ru/12148555/). 74 | 75 | Ответьте на вопросы: 76 | 1. В рамках закона вводится понятие "Конфиденциальность информации", приведите его определение. 77 | 2. Чем предоставление информации отличается от распространения информации? 78 | 3. Сохранение каких трёх ключевых аспектов подразумевается в термине "Информационная безопасность"? 79 | 80 | #### Требования к ответу по задаче №3: 81 | - [ ] даны развернутые ответы на все три вопроса; 82 | 83 | 84 | ## Задача № 4 - Конфиденциальность, доступность, целостность 85 | 86 | В результате утечки данных о клиентах одного из банков в руках злоумышленника оказались ФИО и номера телефонов клиентов. Воспользовавшись данной информацией, злоумышленник позвонил одному из клиентов банка и, представившись сотрудником банка, узнал данные для входа в интернет-банк. Это позволило ему войти в интернет-банк с учётными данными клиента, но попытка перевода средств на собственные счета (с карты клиента на счета злоумышленника) была заблокирована системой, при этом карта и учётная запись клиента остались функционирующими (не были заблокированы). 87 | 88 | Ответьте на вопрос: 89 | 1. Были ли при этом нарушены конфиденциальность, целостность или доступность информации? 90 | 91 | Предоставьте ответ в формате: была нарушена XXX, потому что ... (где вместо XXX - конфиденциальность, доступность или целостность, а ... - пояснение, например "потому что теперь клиент не может получить доступ к собственному счёту). 92 | 93 | Обратите внимание, что может быть нарушено не только одно свойство (назовём их так) информации. 94 | 95 | #### Требования к ответу по задаче №4: 96 | - [ ] в шаблон фразы вставлены правильные термины; 97 | - [ ] дано понятное и подробное пояснение. 98 | 99 | ## Критерии оценки 100 | Задание считается выполненным при соблюдении следующих условий: 101 | - [ ] cоставлены ответы на все вопросы всех 4 заданий; 102 | - [ ] в заданиях 1, 2 и 3 даны развернутые ответы на вопросы и указаны номера статей и пунктов нормативно-правовых актов (НПА); 103 | - [ ] в задании 4 в шаблон фразы вставлены правильные термины и дано пояснение. 104 | 105 | -------------------------------------------------------------------------------- /01_information-security/pic/free-version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/01_information-security/pic/free-version.png -------------------------------------------------------------------------------- /01_information-security/pic/garant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/01_information-security/pic/garant.png -------------------------------------------------------------------------------- /01_information-security/pic/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/01_information-security/pic/open.png -------------------------------------------------------------------------------- /02_privacy/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «1.2. Информация с ограниченным доступом (тайны)» 2 | 3 | ### Цель задания 4 | 5 | Познакомиться с практической реализацией политики обработки персональных данных в организации в соответствии с рекомендациями Роскомнадзора. 6 | 7 | В результате выполнения задания вы сможете: 8 | 9 | * понять принципы формирования политики обработки персональных данных; 10 | * изучить рекомендации регулятора по формированию политики обработки персональных данных; 11 | * сравнить две предложенные политики обработки персональных данных; 12 | * найти недочёты в политике обработки персональных данных реальной организации с точки зрения рекомендаций регулятора; 13 | * решить кейс на утечку коммерческой тайны. 14 | 15 | ----- 16 | 17 | ### Чеклист готовности к домашнему заданию 18 | 19 | 1. Доступ к интернету. 20 | 2. Наличие личного Google Диска. 21 | 3. Доступ к тексту рекомендаций по составлению документа, который определяет политику оператора в отношении обработки персональных данных, опубликованных на сайте Роскомнадзор. 22 | 23 | ----- 24 | 25 | ### Инструкция к заданию 26 | 27 | 1. Ознакомьтесь с вводной частью задания. 28 | 2. Изучите текст рекомендаций на сайте Роскомнадзора. 29 | 3. Изучите обе предложенные политики обработки персональных данных (ПДн). 30 | 4. Ответьте на вопросы задания «Политика обработки персональных данных». 31 | 5. Изучите кейсовое задание «Утечка коммерческой тайны», ответьте на вопросы. 32 | 33 | ----- 34 | 35 | ### Дополнительные материалы для выполнения задания 36 | 37 | 38 | 1. [Текст рекомендаций Роскомнадзора](https://old.rkn.gov.ru/personal-data/p908/). 39 | 1. [Политика обработки ПДн №1](assets/beeline.pdf). 40 | 1. [Политика обработки ПДн №2](assets/megafon.pdf). 41 | 42 | ----- 43 | ## Задание 1 Политика обработки персональных данных 44 | 45 | ### Вводная часть задания 46 | 47 | ### Место политики обработки в системе организации защиты ПДн 48 | Политика — это основной публичный документ, характеризующий принципы обработки оператором ПДн. Он не регламентирует внутренние процессы обработки, не детализирует их, а лишь базово описывает подходы оператора к обработке и защите ПДн. 49 | 50 | **Что следует помнить при изучении политики обработки ПДн** 51 | 52 | 1. Для каждого оператора перечень категорий субъектов ПДн будет различным: кто-то обрабатывает только данные сотрудников, у кого-то есть ещё данные клиентов, заявителей и т. п. 53 | 54 | 2. Для каждой категории субъектов может быть отдельный перечень: 55 | 56 | - цели обработки, 57 | - правовые основания, 58 | - объём обрабатываемых данных, 59 | - перечень обрабатываемых данных, 60 | - категория обрабатываемых ПДн, 61 | - порядок обработки, 62 | - условия обработки. 63 | 64 |
65 | Дисклеймер. 66 | 67 | * Политики обработки персональных данных приведены здесь исключительно в учебных целях. Их версия может быть неактуальной, а на сайтах организаций опубликованы более свежие документы. Для работы используйте политики, ссылки на которые размещены в задании. 68 | 69 | * В рамках задания вы изучите только один документ из множества документов, регламентирующих защиту ПДн в организации, а следовательно, не сможете охарактеризовать защиту персональных данных в организации в целом. 70 | 71 | * Опубликованные рекомендации не являются обязательными для исполнения. 72 |
73 | 74 | ## Задание 75 | 76 | **Что нужно сделать** 77 | 78 | 1. Изучите рекомендации, составленные и опубликованные Роскомнадзором: 79 | 80 | [Рекомендации по составлению документа, определяющего политику оператора в отношении обработки персональных данных, в порядке, установленном Федеральным законом от 27 июля 2006 года № 152-ФЗ «О персональных данных»](https://web.archive.org/web/20240324204350/https://rkn.gov.ru/personal-data/p908/). 81 | 82 | В этих Рекомендациях предложена типовая структура документа, определяющего политику в отношении обработки ПДн. 83 | 84 | 2. Изучите политики обработки персональных данных и проанализируйте на вопрос соответствия рекомендациям: 85 | 86 | * [Билайн](assets/beeline.pdf), 87 | * [МегаФон](assets/megafon.pdf). 88 | 89 | Вы также можете найти их в каталоге [assets](assets). 90 | 91 | 92 | 3. Для **каждой** политики обработки ПДн ответьте на вопросы: 93 | 94 | * Какие категории ПДн обрабатываются? 95 | * Для всех ли категорий субъектов указаны цели обработки? 96 | * Для всех ли категорий субъектов указаны правовые основания обработки? 97 | * Для всех ли категорий субъектов указан состав обрабатываемых данных? 98 | 99 | 4. Какая из двух приведённых политик наиболее всего соответствует рекомендациям? 100 | 101 | ----- 102 | 103 | ## Задание 2. Утечка коммерческой тайны 104 | 105 | ### Описание кейса 106 | 107 | Произошла утечка документа, содержащего коммерческую тайну (КТ). Внутреннее расследование пришло к выводу, что документ слил сотрудник И. И. Иванов. Сам Иванов утверждает, что документ он действительно передавал, но о том, что это КТ, не знал. 108 | 109 | Какие дополнительные вводные данные имеются: 110 | 111 | - режим КТ на предприятии введён; 112 | - Иванов включён в перечень допущенных к КТ; 113 | - в колонтитулах документа большими буквами указано «КТ»; 114 | - у Иванова нет раздела о работе с КТ в трудовом договоре, дополнительное соглашение к договору с ним не заключалось; 115 | - Иванов подписал листы ознакомления с приказами, устанавливающими режим КТ в организации. 116 | 117 | ### Вопросы к заданию 118 | 119 | 1. Какие ошибки во введении и обеспечении режима коммерческой тайны вы смогли найти в описании кейса? 120 | 2. Смогут ли привлечь сотрудника к ответственности? 121 | 122 | ----- 123 | 124 | ### Правила приёма работы 125 | 126 | 1. Отправлена ссылка на Google Документ с выполненным заданием в личном кабинете. 127 | 2. В документе настроены права доступа «Просматривать могут все в Интернете, у кого есть ссылка». Ссылка на инструкцию: [Как предоставить доступ к файлам и папкам на Google Диске](https://support.google.com/docs/answer/2494822?hl=ru&co=GENIE.Platform%3DDesktop). 128 | 129 | ----- 130 | 131 | ### Критерии оценки 132 | 133 | Зачёт ставится, если присланный документ соответствует критериям. 134 | 135 | Задание 1 136 | 137 | - правильно определено, какая политика соответствует рекомендациям. 138 | 139 | Задание 2 140 | 141 | - указаны ошибки во введении и обеспечении режима коммерческой тайны в описанном кейсе; 142 | - указано, правомочно ли привлечение сотрудника к ответственности. 143 | 144 | Задание направляется на доработку, если оно не выполнено или выполнено частично, в логике выполнения есть противоречия, существенные недостатки, нарушена методология. 145 | -------------------------------------------------------------------------------- /02_privacy/assets/alfabank.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/02_privacy/assets/alfabank.pdf -------------------------------------------------------------------------------- /02_privacy/assets/beeline.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/02_privacy/assets/beeline.pdf -------------------------------------------------------------------------------- /02_privacy/assets/gazprombank.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/02_privacy/assets/gazprombank.pdf -------------------------------------------------------------------------------- /02_privacy/assets/megafon.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/02_privacy/assets/megafon.pdf -------------------------------------------------------------------------------- /02_privacy/assets/mts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/02_privacy/assets/mts.pdf -------------------------------------------------------------------------------- /02_privacy/assets/sberbank.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/02_privacy/assets/sberbank.pdf -------------------------------------------------------------------------------- /03_audit: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «2.1. Аудит информационной безопасности» 2 | -------------------------------------------------------------------------------- /03_audit_IS/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «2.1. Аудит информационной безопасности» 2 | 3 | В практике три задания: одно обязательное, два дополнительных, со звёздочкой, их выполнять можно по желанию, если вы хотите глубже разобраться в теме. 4 | 5 | Пожалуйста, присылайте на проверку все задачи сразу. 6 | 7 | 8 | ## Цели задания 9 | 10 | 1. Научиться определять активы компании и соотносить их с федеральным законом. 11 | 2. Понять, как сформировать экспертную группу для проведения аудита информационной безопасности на предприятии. 12 | 3. Научиться формулировать задачи для каждого участника экспертной группы по аудиту информационной безопасности на предприятии. 13 | 14 | Задания построены на кейсе из реальной бизнес-практики. Это позволит вам сразу понять, с какими вопросами может столкнуться специалист по информационной безопасности в начале работы. Часто аудит информационной безопасности — одна из первых рабочих задач, которую ставит руководство компании перед новым сотрудником. 15 | 16 | 17 | ## Чек-лист готовности к домашнему заданию 18 | - [ ] Изучены все материалы занятия «Аудит информационной безопасности» в личном кабинете Нетологии. 19 | - [ ] Изучен разбор кейса [«Как определить активы организации в контенте ИБ»](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/casestudy_company%20assets.md). 20 | - [ ] Изучены дополнительные материалы к занятию. 21 | 22 | ## Инструкция к заданию 23 | 24 | 1. Внимательно прочитайте все задания и вопросы к ним 25 | 2. Скачайте [Шаблона домашнего задания](https://u.netology.ru/backend/uploads/lms/content_assets/file/3948/%D0%90%D1%83%D0%B4%D0%B8%D1%82_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8.docx) на своё устройство (скачивание начнётся автоматически при нажатии на ссылку документа). 26 | 3. Откройте его на своём Google Диске. 27 | 4. Выполните домашнее задание в шаблоне. 28 | 5. Для проверки домашнего задания отправьте ссылку на ваш документ в личном кабинете Нетологии. 29 | 6. Перед тем как отправить документ, убедитесь, что вы открыли доступ на просмотр всем, у кого есть ссылка. Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Документ. 30 | 7. Подробнее о работе с Google-документами и загрузке решения на проверку можно узнать из инструкции [«Как работать с файлом»](https://l.netology.ru/instruktsiya-po-materialami-dlya-obucheniya). 31 | 8. Любые вопросы по решению задач задавайте в чате учебной группы. 32 | 33 | 34 | ## Инструменты 35 | Для поиска правовой информации используйте справочники: 36 | - [Консультант Плюс](https://www.consultant.ru/)*, 37 | - [Гарант](https://www.garant.ru/)*. 38 | 39 | **Бесплатны в базовой версии.* 40 | 41 | ## Задание №1. Активы компании в контексте ИБ 42 | 43 | Организация «Новейшие технологии» занимается разработкой средств защиты информации и занимает лидирующее место на мировом рынке. 44 | 45 | В организации введён режим коммерческой тайны и имеется секрет производства, который заключается в программном коде, используемом для прошивки BIOS. После прошивки BIOS отпадает потребность в использовании средств доверенной загрузки. 46 | 47 | Генеральный директор очень трепетно относится к этому программному коду, и поэтому он записан всего на два USB-накопителя, на которые нанесён гриф «Коммерческая тайна». Один накопитель постоянно хранится в сейфе генерального директора как резервная копия, а второй выдаётся под подпись программистам и по окончании рабочего дня снова убирается в сейф. 48 | 49 | Отдел кадров для оформления сотрудников использует только электронные документы, которые хранятся в отдельной базе данных. Доступ к базе данных осуществляется с автоматизированных рабочих мест сотрудников отдела кадров с использованием локально-вычислительной сети. 50 | 51 | Кроме того, в организации имеется отдел закупок, который, помимо закупок расходных материалов в интернет-магазинах, занимается закупкой транспорта для использования в качестве служебных машин. Для этого отдел использует интернет-площадку «Торги». 52 | 53 | #### Ответьте на вопросы: 54 | 1. Какие активы на предприятии требуют защиты? 55 | 2. Какие федеральные законы регулируют работу с этими активами? 56 | 57 | 58 | #### Требования к результатам выполнения задания 59 | - [ ] Вы нашли минимум четыре актива предприятия. 60 | - [ ] Перечень активов оформлен в таблицу, и к каждому активу указан регулирующий область федеральный закон. 61 | 62 | --- 63 | ## Дополнительные задания со звездочкой 64 | 65 | ## Задание №2*. Активы предприятия 66 | 67 | Вы устроились на работу в организацию, и сегодня первый рабочий день. Руководитель поставил перед вами задачу — провести аудит информационной безопасности предприятия. 68 | 69 | Изучите [Устав ООО «Компания»](https://static.beeline.ru/upload/contents/297/PJSC_VimpelCom_Charter_14.10.2021.pdf). 70 | 71 | #### Ответьте на следующие вопросы 72 | 73 | 1. Какие активы на предприятии требуют защиты? 74 | 2. Какие федеральные законы регулируют работу с этими активами? 75 | 76 | 77 | #### Требования к результатам выполнения задания № 2 78 | - [ ] Вы нашли минимум пять активов предприятия. 79 | - [ ] Перечень активов оформлен в таблицу, и к каждому активу указан регулирующий область федеральный закон. 80 | 81 | ## Задание № 3. Экспертная группа для аудита 82 | 83 | Вы определили активы предприятия. Теперь необходимо собрать экспертную группу для проведения аудита информационной безопасности. 84 | 85 | #### Ответьте на вопросы 86 | 1. Кто должен войти в экспертную группу на предприятии? Для каждого участника группы пропишите роли и вопросы, на которые он должен ответить за время проведения аудита. 87 | 2. Какую информацию об имеющихся объектах информационной инфраструктуры необходимо запросить у экспертной группы для того, чтобы ответить на вопросы из пункта 1? 88 | 89 | #### Требования к результатам выполнения задания № 3 90 | - [ ] Вы составили минимум пять ролей для экспертной группы. 91 | - [ ] Для каждого члена экспертной группы прописана роль. 92 | - [ ] Для каждого члена экспертной группы прописан перечень вопросов, на которые он должен найти ответы в рамках кейса. 93 | - [ ] Данные оформлены в таблицу по шаблону к домашнему заданию. 94 | 95 | ## Критерии оценки домашнего задания 96 | 97 | Домашнее задание считается выполненным при соблюдении следующих условий: 98 | - [ ] составлены развёрнутые ответы на все вопросы обязательного задания 1; 99 | - [ ] если вы выполняли задания со звёздочкой, составлены развёрнутые ответы на все вопросы заданий 2 и 3; 100 | - [ ] задания выполнены в копии шаблона домашнего задания. 101 | -------------------------------------------------------------------------------- /03_regulation/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «2.2. Нормативное регулирование» 2 | 3 | В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru). 4 | 5 | В каждом задании сформулирован один (или несколько вопросов), и вам нужно найти ответы в соответствующем нормативно-правовом акте (далее – НПА). 6 | 7 | Обратите внимание: 8 | * там, где требуется указать понятие, необходимо привести это понятие целиком 9 | * там, где необходимо описать иное (например, ответить на вопрос "в течение какого времени", "какая ответственность" и т.д.) достаточно ответа собственными словами (как вы поняли) и указания номера статьи и пункта. 10 | 11 | Обратите внимание, что справочная система КонсультантПлюс в бесплатной редакции не даёт копировать текст документа. 12 | 13 | Важно: правовые системы предлагают платную подписку на комментарии, аналитические материалы и подборки ссылок. В рамках нашего курса платная подписка не требуется. Все ДЗ рассчитаны на работу исключительно с бесплатной версией. Поэтому, пожалуйста, нигде не вводите данные своих карт и т.д. 14 | 15 | ## Задача №1 - Физическая защита информации 16 | 17 | При рассмотрении ГОСТ Р 50922-2006 мы указывали, что один из видов защиты информации - это физическая защита информации. 18 | 19 | Физическая защита информации - защита информации путем применения организационных мероприятий и совокупности средств, создающих препятствия для проникновения или доступа неуполномоченных физических лиц к объекту защиты. 20 | 21 | Интересно, а что относится к объектам защиты? Например, можно ли при определённых условиях считать здание объектом защиты? Для этого вам нужно прочитать примечание к определению термина Физическая защита информации в ГОСТ Р 50922-2006. 22 | 23 | Найти ГОСТ по номеру можно на специальном сайте Росстандарта: http://protect.gost.ru. Для этого необходимо ввести его номер, например: ГОСТ Р 50922-2006. 24 | 25 | Формат, в котором опубликованы ГОСТ'ы на этом сайте не очень удобен, поэтому многие пользуются альтернативными системами, например [Электронным фондом правовой и нормативно-технической документации](http://docs.cntd.ru). 26 | 27 | Суть задания: вам нужно найти этот ГОСТ и найти примечание к термину Физическая защита информации, в котором и будет ответ на указанный вопрос. Вам необходимо указать: 28 | 1. Может ли здание считаться объектом защиты информации 29 | 1. На основании чего вы даёте тот или иной ответ (привести цитату из документа) 30 | 31 | Ответ должен быть сформулирован в формате: "Да, является (или нет, не является), поскольку в документе <название документа> указано следующее: <цитата, подтверждающая ваше заключение>". 32 | 33 | ## Задача №2 - Лицензия на ТЗКИ 34 | 35 | ФСТЭК РФ ведёт на своём сайте [Реестр лицензий на деятельность по технической защите конфиденциальной информации](https://reestr.fstec.ru/) 36 | 37 | Когда вы работаете на стороне Заказчика и планируете проведение работ по ТЗКИ, то привлекать необходимо организацию, которая обладает лицензией на соответствующий вид работ. 38 | 39 | Соответственно, давайте проведём небольшое исследование и посмотрим, лицензией на проведение какого вида работ обладают компании, в которых работают наши лекторы: 40 | 41 | 1. [Гарда Технологии](https://gardatech.ru) 42 | 1. [Системный Софт](https://www.syssoft.ru) 43 | 44 | Что необходимо сделать: 45 | 1. Найти запись в реестре о соответствующей компании 46 | 1. Выписать список работ, которые в соответствии с лицензией, может оказывать компания 47 | 1. Указать номер лицензии и срок действия (если срок действия указан как "бессрочно", то так и необходимо указать) 48 | -------------------------------------------------------------------------------- /04_classification/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «2.3. Классификация и категоризация информации, информационных систем» 2 | 3 | ### Цель задания 4 | 5 | Информационная система персональных данных (ИСПДн) включает персональные данные и средства, которые используют для их обработки и защиты. Одной из ключевых задач специалиста по ИБ является аудит систем защиты персональных данных. Такой аудит включает определение уровня защищённости ИСПДн. 6 | 7 | В результате выполнения задания вы сможете: 8 | 9 | 1. Выявить ИСПДн 10 | 2. Определить требуемый уровень защищённости ИСПДн 11 | 12 | ----- 13 | 14 | ### Чеклист готовности к домашнему заданию 15 | 16 | 1. Доступ к сети Интернет. 17 | 2. Наличие личного Google Диска. 18 | 3. Изучены и находятся в доступе: 19 | - Постановление Правительства РФ от 01.11.2012 N 1119 "Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных" 20 | - Федеральный закон "О персональных данных" от 27.07.2006 N 152-ФЗ 21 | 22 | ----- 23 | 24 | ### Инструкция к заданию 25 | 26 | 1. Внимательно изучите условие задания. 27 | 1. Обратите особое внимание на опросные листы. Именно по ним и будет выполняться задание. 28 | 1. Руководствуясь определениями из Закона, определите сколько на предприятии ИСПДн. Назовите каждую ИСПДн. Словами опишите что вы в каждую из них включаете. 29 | 1. Определите критерии, по которым будет определяться уровень защищенности ИСПДн. Обратите внимание на особые условия задания. Критерии перечислите в ответе к заданию. 30 | 1. Для каждой ИСПДн определите по требования ПП 1119 требуемый уровень защищенности. 31 | 32 | Обратите внимание, что справочная система КонсультантПлюс в бесплатной редакции не даёт копировать текст документа. 33 | 34 | Важно: правовые системы предлагают платную подписку на комментарии, аналитические материалы и подборки ссылок. В рамках нашего курса платная подписка не требуется. Все ДЗ рассчитаны на работу исключительно с бесплатной версией. Поэтому, пожалуйста, нигде не вводите данные своих карт и т.д. 35 | 36 | ----- 37 | 38 | ### Инструменты/ дополнительные материалы, которые пригодятся для выполнения задания 39 | 40 | 1. Постановление Правительства РФ от 01.11.2012 N 1119 "Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных" 41 | 2. Федеральный закон "О персональных данных" от 27.07.2006 N 152-ФЗ 42 | 3. [Портал госзакупок](https://zakupki.gov.ru/epz/main/public/home.html) 43 | 4. [Объект закупки](https://zakupki.gov.ru/epz/order/notice/ok504/view/documents.html?regNumber=0156200009920000498) 44 | 5. [Копия ТЗ](assets/tourist.docx) 45 | 46 | ----- 47 | 48 | ## Задание 1 «Уровни защищённости ИСПДн предприятия» 49 | 50 | Вы специалист по ИБ, который недавно работает на небольшом предприятии. Предприятие только открывается и поэтому необходимо выстроить процесс защиты персональных данных согласно требованиям законодательства. 51 | 52 | Руководитель поручил вам начать с выявления информационных систем персональных данных, а затем - определить их уровень защищённости. 53 | 54 | Компания занимается оказанием услуг физическим лицам, а именно: стиркой и глажкой шнурков. 55 | 56 | В организации следующие отделы: бухгалтерия, отдел кадров, клиентская служба, постирочный цех, гладильный цех. 57 | 58 | Для того, чтобы собрать необходимые сведения, вы составляете опросный лист следующего вида: 59 | 60 | ----- 61 | 62 | Опросный лист 63 | 64 | 1. Название отдела 65 | 66 | 2. Обрабатываются ли в отделе данные физических лиц (любые из перечисленных в любых комбинациях): ФИО, номер телефона, данные паспорта, семейное положение, электронная почта, домашний адрес, адрес по прописке, образование? да/нет 67 | 68 | *Обратите внимание: при чётком аргументированном отрицательном ответе дальнейшее заполнение не требуется, вышлите результат специалисту по ИБ* 69 | 70 | 3. Данные каких лиц обрабатываются? Укажите обрабатываемые данные. Например, клиенты - ФИО, телефон; сотрудники - ФИО, паспорт и т.д. 71 | 72 | 4. Для каждого типа физических лиц укажите: 73 | 74 | a. Данные какого количества лиц обрабатываются 75 | 76 | b. Какие программы используются при обработке, кто разработчик программы 77 | 78 | ----- 79 | 80 | Заручившись поддержкой генерального директора, вы разослали по начальникам отделов опросные листы и получили заполненные опросные листы. Отбросив незаполненные листы дальше 2-го вопроса, вы получили следующее: 81 | 82 | Опросник 1 83 | 1. Бухгалтерия 84 | 2. Да 85 | 3. Сотрудники: ФИО, паспортные данные, образование, семейное положение. 86 | 87 | a. 50 человек 88 | 89 | b. ПО “Зарплата и кадры”, разработано известной фирмой. 90 | 91 | ----- 92 | 93 | Опросник 2 94 | 1. Отдел кадров 95 | 2. Да 96 | 3. Сотрудники: ФИО, паспортные данные, образование, семейное положение. 97 | 98 | a. 50 человек 99 | 100 | b. ПО “Зарплата и кадры”, разработано известной фирмой. 101 | 102 | ----- 103 | 104 | Опросник 3 105 | 1. Клиентский сервис 106 | 2. Да 107 | 3. Клиенты: ФИО, номер телефона, адрес электронной почты 108 | 109 | a. 200 тысяч человек 110 | 111 | b. ПО “Счастливый клиент”, написано фрилансером по заказу фирмы. 112 | 113 | ----- 114 | 115 | **Особые условия для задания:** 116 | 117 | - угрозы 1-го типа не актуальны 118 | - угрозы 2-го типа актуальны только для ПО, выполненного фрилансером. 119 | 120 | ----- 121 | 122 | Задание следует выполнить по следующему **шаблону**: 123 | 124 | 1. Выявлены Х ИСПДн. 125 | 126 | 2. Список ИСПДн 127 | 128 | a. ИСПДн 1, к ней относится ПО “Название” 129 | 130 | b. ИСПДн 2, к ней относится ПО “Название” 131 | 132 | 3. Критерии определения уровня защищённости: критерий 1, критерий 2 и т.д 133 | 134 | 4. Схема “Определение уровня защищённости” 135 | 136 | a. Название ИСПДн 137 | 138 | b. Критерий 1 - значение 139 | 140 | c. Критерий 2 - значение 141 | 142 | d. Критерий 3 - значение 143 | 144 | (для всех критериев, которые вы выявили) 145 | 146 | e. Уровень защищенности ИСПдн - Х 147 | 148 | **Требования к результату выполнения задания:** 149 | 1. Выявите ИСПДн 150 | 2. Приведите критерии определения уровня защищённости 151 | 3. Определите уровень защищённости каждой ИСПДн 152 | 153 | ----- 154 | 155 | ## Задание 2 «Туристический портал»* 156 | 157 | **Важно**: это задача необязательная (документ достаточно большой, поэтому будьте готовы) 158 | 159 | Выполним интересную работу: посмотрим на то, как реальные Заказчики в своих документах формируют различные требования к системам (в том числе к системам защиты информации). Вас не должен пугать размер документов (через какое-то время вы научитесь их просто "пролистывать"). Важно иметь перед глазами пример того, как реально строятся требования. 160 | 161 | Подобный опыт позволит вам формулировать требования как на стороне Заказчика (вы увидите, как это делают другие), так и на стороне исполнителя (вы поймёте, что требуют Заказчики). 162 | 163 | Единственное, мы сразу оговоримся, не всегда подобные документы составляются корректно, поэтому брать и бездумно копировать - не стоит. 164 | 165 | В качестве источника подобного рода документов хорошо подходит [портал госзакупок](https://zakupki.gov.ru/epz/main/public/home.html). Именно документы оттуда мы и будем рассматривать. 166 | 167 | **Важно**: не пугайтесь тем и терминов, которых вы пока не знаете. Мы их будем проходить в своё время, пока же вы можете их просто пропускать (например, всё, что связано с криптографией). 168 | 169 | В качестве документа мы рассмотрим техническое задание на выполнение работ по созданию информационной системы «Туристический портал Пермского края» с выполнением работ по разработке и внедрению системы защиты информации с поставкой, установкой, настройкой средств защиты информации и аттестацией информационной системы по требованиям защиты информации. 170 | 171 | Сам объект закупки находится по адресу https://zakupki.gov.ru/epz/order/notice/ok504/view/documents.html?regNumber=0156200009920000498 172 | 173 | Документы (в частности, ТЗ) находятся на вкладке: Вложения. 174 | 175 | На всякий случай, мы сохранили [копию ТЗ](assets/tourist.docx). 176 | 177 | 1. Из каких подсистем состоит система (перечислите их названия)? 178 | 1. Какие три режима функционирования режима предусмотрены (кратко опишите, для чего каждый режим предназначен и какие функции в каждом режиме доступны)? 179 | 1. Какие требования доступности предъявляются к системе? 180 | 1. Какие требования предъявляются к подсистеме регистрации и учёта (а конкретно к журналированию событий)? 181 | 1. Какие меры должны быть включены в комплекс организационных и технических мер, направленных на нейтрализацию актуальных угроз безопасности? 182 | 1. Какие документы из состава эксплуатационной документации должны быть разработаны на систему защиты информации? 183 | 184 | И самый главный вопрос: кто должен определять класс защищённости этой системы и как? 185 | 186 | ----- 187 | 188 | ### Правила приёма работы 189 | 1. Отправлена ссылка на Google-документ с выполненным заданием в личном кабинете. 190 | 2. К документу настроены права доступа «Просматривать могут все в Интернете, у кого есть ссылка». Ссылка на инструкцию [Как предоставить доступ к файлам и папкам на Google Диске](https://support.google.com/docs/answer/2494822?hl=ru&co=GENIE.Platform%3DDesktop) 191 | 192 | ----- 193 | 194 | ### Критерии оценки 195 | 196 | Зачёт ставится, если присланный документ соответствует следующим критериям: 197 | - выявлены все ИСПДн 198 | - приведены все критерии определения уровня защищённости 199 | - уровень защищённости каждой ИСПДн определён, в ответе присутствует значение критериев определения для каждой ИСПДн. 200 | 201 | Работа направляется на доработку, если задание выполнено частично или не выполнено, в логике выполнения задания есть противоречия, существенные недостатки, нарушена методология. 202 | -------------------------------------------------------------------------------- /04_classification/assets/tourist.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/04_classification/assets/tourist.docx -------------------------------------------------------------------------------- /05_certification/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «2.4. Лицензирование, аттестация, сертификация» 2 | 3 | В практике три задания: первые два — обязательные, третье — дополнительное, со звёздочкой. Его выполнить можно по желанию, чтобы глубже разобраться в материале занятия. 4 | 5 | Пожалуйста, присылайте на проверку все задачи сразу. 6 | 7 | 8 | ## Цели задания 9 | 1. Научиться подбирать средства защиты информации (СЗИ) для информационных систем (ИС). 10 | 2. Научиться составлять перечень документов для аттестации ИС по требованиям ФСТЭК России. 11 | 3. Научиться формулировать требования к защите информационной системы персональных данных (ИСПДн) при работе со сторонним центром обработки данных (ЦОД). 12 | 13 | Задания основаны на реальных кейсах из практики. Это поможет вам разобраться, с какими вопросами может столкнуться специалист по информационной безопасности в начале работы. Аттестация и сертификация — важная часть бумажной ИБ, которая позволяет компании снижать риски ведения бизнеса. 14 | 15 | 16 | ## Чек-лист готовности к домашнему заданию 17 | - [ ] Просмотреть материалы занятия «Лицензирование, аттестация, сертификация» в личном кабинете Нетологии. 18 | - [ ] Изучить дополнительные материалы к занятию в личном кабинете Нетологии. 19 | 20 | ## Инструкция к заданию 21 | 1. Внимательно прочитайте все задания и вопросы к ним. 22 | 2. Скачайте [Шаблона домашнего задания](https://u.netology.ru/backend/uploads/lms/content_assets/file/3949/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5__%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%86%D0%B8%D1%8F__%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.docx) на своё устройство (скачивание начнётся автоматически при нажатии на ссылку документа). 23 | 3. Откройте его на своём Google Диске. 24 | 4. Выполните домашнее задание в шаблоне. 25 | 5. Для проверки домашнего задания отправьте ссылку на ваш документ в личном кабинете Нетологии. 26 | 6. Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). 27 | 7. Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. 28 | 8. Подробнее о работе с Google-документами и загрузке решения на проверку можно узнать из инструкции [«Как работать с файлом»](https://l.netology.ru/instruktsiya-po-materialami-dlya-obucheniya). 29 | 9. Любые вопросы по решению задач задавайте в чате учебной группы. 30 | 31 | ## Инструменты 32 | Для поиска правовой информации используйте следующие справочники: 33 | - [Консультант Плюс](https://www.consultant.ru/)*, 34 | - [Гарант](https://www.garant.ru/)*. 35 | 36 | *Бесплатный в базовой версии. 37 | 38 | Для поиска информации о наличии сертификации у СЗИ используйте: 39 | [Государственный реестр сертифицированных средств защиты информации от ФСТЭК России](https://reestr.fstec.ru/reg3). 40 | 41 | --- 42 | 43 | ## Задача 1. Определение СЗИ для аттестации ГИС 44 | 45 | В ходе аудита вы установили, что часть информационных систем в компании относится к государственным информационным системам (ГИС). Эти ГИС имеют второй класс защищённости и установлены на операционной системе Windows 10. Вы совместно с менеджером по закупкам нашли в интернет-магазинах средства защиты информации, которые компания может себе позволить приобрести, и составили таблицу, разбив их по категориям. Вам предстоит выбрать одно СЗИ, которое максимально отвечает всем требованиям. 46 | 47 | ### Процесс выполнения 48 | 49 | 1. Определите, какие средства защиты информации в каждой категории вы можете использовать в ГИС, то есть какие имеют сертификат, чтобы успешно пройти аттестацию. 50 | 2. В шаблоне домашнего задания найдите категории и список возможных СЗИ. 51 | 3. Для каждого СЗИ проверьте наличие сертификата, сферу применения и возможность использования в вашем случае. Используйте данные с сайта 52 | [Государственного реестра сертифицированных средств защиты информации от ФСТЭК России](https://reestr.fstec.ru/reg3). Также можно проверять информацию на сайтах конкретных производителей СЗИ. 53 | 4. Определите, какое средство защиты информации включает в себя функции всех категорий, за исключением категории «Средства доверенной загрузки». 54 | 55 |
56 | Подсказка 57 | 58 | `Это средство защиты информации находится в категории «Средства защиты информации от несанкционированного доступа». ` 59 | 60 |
61 | 62 | ### Требования к результатам выполнения задания 1 63 | - [ ] Вы точно определили, какие именно СЗИ и почему подходят под ваш кейс. 64 | - [ ] Вы нашли СЗИ, которое включает в себя функции всех категорий, и указали цель его использования. 65 | - [ ] Результаты оформили в таблицу шаблона домашнего задания. 66 | 67 | ## Задача 2. Подготовка к аттестации ИС по требованиям ФСТЭК 68 | 69 | Вам нужно получить аттестат соответствия ИС компании по требованиям ФСТЭК России. Для этого необходимо провести аттестацию ИС. Вы привлекаете к этой задаче предприятие-лицензиата. Напишите список документов, который должна подготовить ваша компания для получения аттестата соответствия. 70 | Опирайтесь на [Приказ ФСТЭК России от 29 апреля 2021 г. N 77](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54671/%D0%9F%D1%80%D0%B8%D0%BA%D0%B0%D0%B7_%D0%A4%D0%A1%D0%A2%D0%AD%D0%9A_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8_%D0%BE%D1%82_29_%D0%B0%D0%BF%D1%80%D0%B5%D0%BB%D1%8F_2021_%D0%B3._N_77.pdf) 71 | 72 | ### Требования к результатам выполнения задания 2 73 | - [ ] Вы составили полный список необходимых документов для сертификации. 74 | - [ ] Результаты оформили в таблицу шаблона домашнего задания. 75 | 76 | --- 77 | ## Дополнительная задача со звездочкой * 78 | 79 | ## Задача 3. Защита ЦОД* 80 | 81 | Ваша организация решила разместить информационную систему персональных данных (ИСПДн), второй уровень защищённости, на вычислительных мощностях в стороннем центре обработки данных (ЦОД). Для обеспечения защиты информации вам нужно юридически закрепить требования на предоставление вычислительных мощностей. Какие обязательные условия вы включите в договор с подрядчиком? 82 | 83 | ### Требования к результатам выполнения задания 3 84 | - [ ] Вы составили список обязательных требований к ЦОД по вычислительным мощностям. 85 | - [ ] Результаты оформили в таблицу шаблона домашнего задания. 86 | 87 | 88 | ## Критерии оценки домашнего задания 89 | 90 | Домашнее задание считается выполненным при следующих условиях: 91 | - [ ] составлены развёрнутые ответы на все вопросы обязательного задания 1 и 2; 92 | - [ ] если выполняли задание со звёздочкой, составлены развёрнутые ответы на все его вопросы; 93 | - [ ] задания выполнены в копии шаблона домашнего задания. 94 | 95 | -------------------------------------------------------------------------------- /05_certification/assets/ispdn.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/05_certification/assets/ispdn.docx -------------------------------------------------------------------------------- /06_threats/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «2.5. Моделирование угроз» 2 | 3 | Данное задание является “сквозным”. Чтобы его выполнить, необходимо успешно сдать практику по теме [“Аудит информационной безопасности”](https://github.com/netology-code/ibb-homeworks/tree/IBB-33/03_audit_IS). 4 | 5 | 6 | 7 | ## Цель задания 8 | 1. Научиться составлять модель угроз информационной безопасности. 9 | 10 | Задания построены на методике ФСТЭК России, в соответствии с которой составляется модель угроз для государственных информационных систем и объектов критической информационной инфраструктуры. Умение работать в рамках данной модели является обязательной профессиональной компетенцией специалиста по ИБ. Через учебный кейс вы получите реальную практику работы с этим инструментом. 11 | 12 | ## Чек-лист готовности к домашнему заданию 13 | - [ ] Выполните домашнее задание [“2.1. Аудит информационной безопасности”](https://github.com/netology-code/ibb-homeworks/tree/IBB-33/03_audit_IS) 14 | - [ ] Просмотрите запись вебинара “Моделирование угроз” в личном кабинете Нетологии 15 | - [ ] Изучите документ [Методика оценка угроз безопасности от ФСТЭК России от 05 февраля 2021 г.](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54611/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82_%D0%BE%D1%82_5_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F_2021_%D0%B3.__1_.pdf) 16 | - [ ] Изучите пример [разбора кейса с моделированием угроз](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/casestudy_threat_model.md) 17 | 18 | ## Инструкция к заданию 19 | * Внимательно прочитайте все задания и вопросы к ним 20 | * Скачайте [Шаблона домашнего задания](https://u.netology.ru/backend/uploads/lms/content_assets/file/3891/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%83%D0%B3%D1%80%D0%BE%D0%B7.docx) на своё устройство (скачивание начнётся автоматически при нажатии на ссылку документа). 21 | * Откройте его на своём Google Диске. 22 | * Выполните домашнее задание в шаблоне 23 | * Для проверки домашнего задания отправьте ссылку на ваш документ в личном кабинете Нетологии 24 | * Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка) 25 | * Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs 26 | * Подробнее о работе с Google-документами и загрузке решения на проверку можно узнать из инструкции [«Как работать с файлом»](https://l.netology.ru/instruktsiya-po-materialami-dlya-obucheniya). 27 | * Любые вопросы по решению задач задавайте в чате учебной группы 28 | 29 | ## Инструменты 30 | [Методика оценка угроз безопасности от ФСТЭК России от 05 февраля 2021 г.](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54611/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82_%D0%BE%D1%82_5_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F_2021_%D0%B3.__1_.pdf) 31 | 32 | Вы проанализировали активы организации, которые подлежат защите. Теперь настало время разработать модель угроз информационной безопасности для одного из активов. 33 | 34 | ### Ответьте на следующие вопросы: 35 | 1. Какие возможны негативные последствия от реализации (возникновения) угроз безопасности информации? Напишите 3 самых негативных для выбранного актива. Обоснуйте, почему выбрали их. 36 | 2. Какие есть возможные объекты воздействия угроз безопасности информации? Напишите не менее 3. 37 | 3. Какие возможны способы реализации (возникновения) угроз безопасности информации. Напишите не менее 5. 38 | 39 | ## Критерии оценки 40 | 41 | Домашнее задание считается выполненным при соблюдении следующих условий: 42 | - [ ] По каждому вопросу написано минимальное требуемое количество пунктов 43 | - [ ] Задание выполнено в копии шаблона домашнего задания 44 | 45 | -------------------------------------------------------------------------------- /06_threats/pic/russian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/06_threats/pic/russian.png -------------------------------------------------------------------------------- /06_threats/pic/settings-subtitles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/06_threats/pic/settings-subtitles.png -------------------------------------------------------------------------------- /06_threats/pic/subtitles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/06_threats/pic/subtitles.png -------------------------------------------------------------------------------- /06_threats/pic/translation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/06_threats/pic/translation.png -------------------------------------------------------------------------------- /07_crypto-symmetric/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «3.1. Теоретические основы криптографии, симметричные криптосистемы» 2 | 3 | В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru). 4 | 5 | ## Общие замечания по безопасности 6 | 7 | При скачивании любых файлов перед их открытием рекомендуем вам проверять их с помощью сервиса [VirusTotal](https://www.virustotal.com/gui/home/upload). 8 | 9 | ## Общие замечания по выполнению ДЗ 10 | 11 | Если у вас что-то не получилось, то пишите в разделе "Вопросы по заданию" в личном кабинете. 12 | 1. ОС 13 | 1. На каком шаге остановились 14 | 1. Скриншот ошибки (если есть возможность) 15 | 1. Краткое описание того, что сделали 16 | 17 | Пожалуйста, не пишите сообщения в стиле `я всё сделал по инструкции, ничего не работает` - это никоим образом не поможет решить проблему. 18 | 19 | ## Работа в терминале 20 | 21 | Ознакомьтесь с [руководством по работе в терминале](../terminal) для вашей операционной системы. 22 | 23 | ## Задача №1 - HashCat 24 | 25 | ### Справка 26 | 27 | [hashcat](https://hashcat.net/hashcat/) - инструмент восстановления паролей. 28 | 29 | ### Установка 30 | 31 | Для установки достаточно скачать архив с официального сайта: 32 | 33 | ![](pic/hashcat.png) 34 | 35 |
36 | Для счастливых обладателей Mac 37 | 38 | Если вам повезло и вы пользователь Mac, то для вас готового hashcat в указанном архиве на официальном сайте нет, поэтому вам будет необходимо установить [Homebrew](https://brew.sh). Для этого небоходимо перейти по адресу https://brew.sh выполнить указанную на главной странице команду в терминале: 39 | 40 | ![](pic/brew.png) 41 | 42 | После чего в терминале (в любом каталоге) выполнить команду: 43 | 44 | ```shell script 45 | brew install hashcat 46 | ``` 47 | 48 | Индикатором успешности установки будет служить успешное выполнение следующей команды: 49 | 50 | ```shell script 51 | hashcat --help 52 | ``` 53 | 54 |
55 | 56 | Архив упакован с помощью архиватора [7zip](https://www.7-zip.org/download.html), поэтому, возможно, вам придётся установить и его. 57 | 58 | Распакуйте архив в каталог на вашем компьютере и откройте терминал каталоге, в котором расположены файлы `hashcat.bin` и `hashcat.exe` (см. [руководство по терминалу](../terminal)). 59 | 60 | Для Linux необходимо запускать в терминале hashcat командой `./hashcat.bin` (находясь в том же каталоге), в Windows командой `.\hashcat.exe` (находясь в том же каталоге), а в Mac просто `hashcat` (при этом никакой архив с hashcat вам не нужен). 61 | 62 | Далее для простоты мы будем просто писать `hashcat`, а не `./hashcat.bin` или `.\hashcat.exe`. 63 | 64 | ### Справка 65 | 66 | Справка по работе с приложением выводится с помощью флага `--help`: 67 | ```shell script 68 | hashcat --help 69 | ``` 70 | 71 | В общем виде hashcat запускается в следующем виде: 72 | ```shell script 73 | hashcat [options] hash [dictionary] 74 | ``` 75 | 76 | ### Задание 77 | 78 | Каким-то образом у вас оказался хэш пароля. Вот такой: `5693299e0bbe87f327caa802008af432fbe837976b1232f8982d3e101b5b6fab`. 79 | 80 | Что нужно сделать: вам нужно попробовать по длине хэша угадать его тип (это будет один из тех, что упоминался на лекции, как минимум, в табличке в конце лекции). 81 | 82 |
83 | Подсказка 84 | 85 | Обратите внимание, мы не просто так говорим про длину. 86 |
87 | 88 |
89 | Использование hashcat 90 | 91 | Запустить hashcat для подбора пароля можно в следующем формате: 92 | 93 | `hashcat -m 5693299e0bbe87f327caa802008af432fbe837976b1232f8982d3e101b5b6fab wordlist.txt` 94 | 95 | Где `` это тип хэша, в соответствии с таблицей (т.е. для GOST R 34.11-2012 (Streebog) 256-bit, big-endian будет `11700`): 96 | 97 | | # | Name | Category | 98 | |-------|--------------------------------------------------|-------------------------------------| 99 | | 900 | MD4 | Raw Hash | 100 | | 0 | MD5 | Raw Hash | 101 | | 100 | SHA1 | Raw Hash | 102 | | 1300 | SHA2-224 | Raw Hash | 103 | | 1400 | SHA2-256 | Raw Hash | 104 | | 10800 | SHA2-384 | Raw Hash | 105 | | 1700 | SHA2-512 | Raw Hash | 106 | | 11700 | GOST R 34.11-2012 (Streebog) 256-bit, big-endian | Raw Hash | 107 | | 11800 | GOST R 34.11-2012 (Streebog) 512-bit, big-endian | Raw Hash | 108 | | 6900 | GOST R 34.11-94 | Raw Hash | 109 | 110 | А `wordlist.txt` - файл с самыми распространёнными паролями. Набор таких файлов вы можете найти по адресу https://github.com/danielmiessler/SecLists/tree/master/Passwords/Common-Credentials. 111 | 112 | Т.е. мы собираемся осуществить атаку по словарю. 113 | 114 | Мы рекомендуем вам использовать [`Common-Credentials/10-million-password-list-top-100000.txt`](https://gitlab.com/kalilinux/packages/seclists/-/blob/kali/master/Passwords/Common-Credentials/10-million-password-list-top-100000.txt). 115 |
116 | 117 | Проблемы с hashcat? 118 | 119 | Для этого случая мы сделали для вас небольшую утилиту, которая также умеет "взламывать" пароли. 120 | 121 | Поддерживает она только те, что требуются в рамках данного ДЗ и располагается в каталоге assets: 122 | * [Windows x32](assets/cracker-x32.exe) 123 | * [Windows x64](assets/cracker-x64.exe) 124 | * [Linux x32](assets/cracker-x32.bin) 125 | * [Linux x64](assets/cracker-x64.bin) 126 | * [Mac OS](assets/icracker-x64.bin) 127 | 128 | Как запускать: 129 | 1. Скачиваете исполняемый файл, а также словарь в один каталог, открываете в этом каталоге терминал 130 | 1. Проверяете исполняемый файл на [VirusTotal](https://www.virustotal.com) 131 | 1. В терминале запускаете `cracker <тип хэша> <хэш> <имя файла словаря>`: 132 | 1. Для Win32 CMD: .\cracker-x32.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt 133 | 1. Для Win64 CMD: .\cracker-x64.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt 134 | 1. Для Win32 PowerShell: .\cracker-x32.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt 135 | 1. Для Win64 PowerShell: .\cracker-x64.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt 136 | 1. Для Linux32: chmod +x ./cracker-x32.bin && ./cracker-x32.bin 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt 137 | 1. Для Linux64: chmod +x ./cracker-x64.bin && ./cracker-x64.bin 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt 138 | 1. Для MacOS: chmod +x ./icracker-x64.bin && ./icracker-x64.bin 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt 139 | 1. Ждёте результата работы программы: 140 | * `Cracked: password` (хэш "взломан", `password` - то, что вам нужно) 141 | * `Not cracked` (хэш не "взломан", вы выбрали неверный алгоритм хэширования, ошиблись в написании хэша или файл словаря не содержит нужного слова) 142 |
143 |
144 | 145 | В качестве ответа пришлите название функции хэширования и "угаданный" пароль. 146 | 147 | ## Задача №2 - VeraCrypt 148 | 149 | ### Справка 150 | 151 | [VeraCrypt](https://www.veracrypt.fr/en/Home.html) - Open Source ПО для шифрования дисков. 152 | 153 | Позволяет делать достаточно много вещей, но нас будет интересовать одна ключевая функция: возможность создать виртуальный зашифрованный диск и "подключать" к вашей ОС, при этом все операции чтения/записи с этого диска будут происходить прозрачно для пользователя. 154 | 155 | [Скачать VeraCrypt](https://www.veracrypt.fr/en/Downloads.html) можно с официальной страницы (не качайте из неизвестных источников). 156 | 157 | ![](pic/veracrypt.png) 158 | 159 | ### Установка 160 | 161 | #### Windows 162 | 163 | Для пользователей Windows необходимо скачать файл, соответствующий вашей версии ОС и запустить установку: 164 | 165 | ![](pic/win-install-01.png) 166 | 167 | Далее необходимо следовать указаниям мастера установки, оставляя выбранными значения по умолчанию. 168 | 169 | #### Linux 170 | 171 | Для пользователей Linux (Ubuntu) необходимо скачать файл с расширением deb (GUI-версия), затем открыть терминал в каталоге, в который вы скачали файл и выполнить команду: `sudo apt install ./<имя файла>.deb` 172 | 173 | #### Mac OS 174 | 175 | Для пользователей Mac необходимо скачать [OSXFUSE](https://github.com/osxfuse/osxfuse/releases) и установочный файл VeraCrypt. 176 | 177 |
178 | Описание процесса установки 179 | 180 | Перед началом установки перейдите в системные настройки: 181 | 182 | ![](pic/mac-settings.png) 183 | 184 | Выберите Защита и безопасность, нажмите на иконку замка (1) и установите переключатель (2) как на скриншоте: 185 | 186 | ![](pic/mac-install-00.png) 187 | 188 | Первым необходимо установить OSXFUSE. Затем VeraCrypt. 189 | 190 | ##### Шаг 1: Кликните два раза на иконку установки: 191 | 192 | ![](pic/mac-install-01.png) 193 | 194 | ##### Шаг 2: Нажмите Продолжить: 195 | 196 | ![](pic/mac-install-02.png) 197 | 198 | ##### Шаг 3: Пройдите по шагам установщика с помощью кнопки Продолжить до пункта Тип установки: 199 | 200 | ![](pic/mac-install-03.png) 201 | 202 | ##### Шаг 4. Убедитесь, что в пункте Тип установки у вас установлены флажки как на скриншоте и продолжите установку: 203 | 204 | ![](pic/mac-install-04.png) 205 | 206 | ##### Шаг 5. При блокировке системного расширения нажмите кнопку Открыть настройки безопасности: 207 | 208 | ![](pic/mac-install-05.png) 209 | 210 | ##### Шаг 6: Нажмите на иконку замка (1), после чего на кнопку Разрешить (2): 211 | 212 | ![](pic/mac-install-06.png) 213 | 214 | ##### Шаг 7: Дождитесь завершения установки и перезагрузите компьютер: 215 | 216 | ![](pic/mac-install-07.png) 217 | 218 | ##### Шаг 8: Запустите на установку VeraCrypt 219 | 220 | ![](pic/mac-install-08.png) 221 | 222 | ##### Шаг 9: Пройдите по шагам мастера установки, оставляя выбранными все значения по умолчанию: 223 | 224 | ![](pic/mac-install-09.png) 225 | 226 |
227 | 228 | ### Инструкция 229 | 230 | #### Windows 231 | 232 |
233 | Описание работы с VeraCrypt 234 | 235 | ##### Шаг 1. Запустите исполняемый файл VeraCrypt-x64: 236 | 237 | ![](pic/win-01.png) 238 | 239 | ##### Шаг 2. Нажмите на кнопку Create Volume: 240 | 241 | ![](pic/win-02.png) 242 | 243 | ##### Шаг 3. Оставьте выбранной опцию Create an encrypted file container (1) и нажмите Next (2): 244 | 245 | ![](pic/win-03.png) 246 | 247 | **Важно**: убедитесь, что вы выбрали именно эту опцию, а не другие (поскольку вы можете зашифровать целый раздел своего диска или системный диск). 248 | 249 | ##### Шаг 4. Оставьте выбранной опцию Standard VeraCrypt volume (1) и нажмите Next (2): 250 | 251 | ![](pic/win-04.png) 252 | 253 | ##### Шаг 5. Нажмите Select File для создания файла-контейнера 254 | 255 | ![](pic/win-05.png) 256 | 257 | ##### Шаг 6. Выберите файл-контейнер 258 | 259 | ![](pic/win-06.png) 260 | 261 | Мы выбрали каталог C:\projects, а затем вручную в поле имя файла ввели имя container. 262 | 263 | **Важно**: не выбирайте существующие файлы с данными! VeraCrypt перетрёт данные (не зашифрует, а именно перетрёт). 264 | 265 | ##### Шаг 7. Нажмите Next 266 | 267 | ![](pic/win-07.png) 268 | 269 | ##### Шаг 8. Оставьте опции по умолчанию: AES (1) и SHA-512 (2) и нажмите кнопку Next (3): 270 | 271 | ![](pic/win-08.png) 272 | 273 | ##### Шаг 9. Установите размер контейнера равным 5 MB (1) и нажмите на кнопку Next (2): 274 | 275 | ![](pic/win-09.png) 276 | 277 | ##### Шаг 10. Введите пароль (1) и его подтверждение (2) и нажмите на кнопку Next (3): 278 | 279 | ![](pic/win-10.png) 280 | 281 | Используйте сложный пароль: как минимум 20 символов (не забудьте его сохранить). 282 | 283 | Обратите внимание: VeraCrypt предупредит вас при попытке использовать простой пароль: 284 | 285 | ![](pic/win-10.1.png) 286 | 287 | ##### Шаг 11. Перемещайте указатель мыши внутри окна пока индикатор Randomness (1) не станет зелёным, после чего нажмите на кнопку Format (2): 288 | 289 | ![](pic/win-11.png) 290 | 291 | ##### Шаг 12. Завершите создание контейнера, нажав на кнопку Ok: 292 | 293 | ![](pic/win-12.png) 294 | 295 | ##### Шаг 13. Вернитесь в основное окно программы, выберите незанятую букву диска (1), например, V:, выберите файл-контейнера (2) и нажмите на кнопку Mount (3): 296 | 297 | ![](pic/win-13.png) 298 | 299 | ##### Шаг 14. Введите пароль (1) для контейнера (надеемся вы его не забыли) нажмите на кнопку ОК (2): 300 | 301 | ![](pic/win-14.png) 302 | 303 | ##### Шаг 15. Убедитесь, что диск примонтировался 304 | 305 | ![](pic/win-15.png) 306 | 307 | ##### Шаг 16. Создайте на диске текстовый файл, содержащий вашу фамилию: 308 | 309 | ![](pic/win-16.png) 310 | 311 | ##### Шаг 17. Размонтируйте диск с помощью кнопки Dismount: 312 | 313 | ![](pic/win-17.png) 314 | 315 | ##### Шаг 18. Повторите процедуру монтирования, чтобы убедиться, что сохранённые вами данные читаются 316 | 317 |
318 | 319 | #### Linux 320 | 321 | Для Linux процедура полностью аналогична за исключением ряда отличий. 322 | 323 |
324 | Описание отличий по работе с VeraCrypt 325 | 326 | В основном окне у вас будут показываться не диски, а Slot'ы: 327 | 328 | ![](pic/linux-01.png) 329 | 330 | А каталог, в которой примонтируется контейнер будет отображаться в столбце Mount Directory: 331 | 332 | ![](pic/linux-02.png) 333 | 334 |
335 | 336 | #### Mac 337 | 338 | Для Mac процедура полностью аналогична за исключением ряда отличий. 339 | 340 |
341 | Описание отличий по работе с VeraCrypt 342 | 343 | В основном окне у вас будут показываться не диски, а Slot'ы: 344 | 345 | ![](pic/mac-01.png) 346 | 347 | А каталог, в которой примонтируется контейнер будет отображаться в столбце Mount Directory: 348 | 349 | ![](pic/mac-02.png) 350 | 351 |
352 | 353 | ### Результаты 354 | 355 | Отправьте контейнер и пароль к нему в ЛК пользователя: 356 | 357 | ![](pic/veracrypt-solution.png) 358 | 359 | -------------------------------------------------------------------------------- /07_crypto-symmetric/assets/cracker-x32.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/assets/cracker-x32.bin -------------------------------------------------------------------------------- /07_crypto-symmetric/assets/cracker-x32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/assets/cracker-x32.exe -------------------------------------------------------------------------------- /07_crypto-symmetric/assets/cracker-x64.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/assets/cracker-x64.bin -------------------------------------------------------------------------------- /07_crypto-symmetric/assets/cracker-x64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/assets/cracker-x64.exe -------------------------------------------------------------------------------- /07_crypto-symmetric/assets/icracker-x64.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/assets/icracker-x64.bin -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/brew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/brew.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/hashcat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/hashcat.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/linux-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/linux-01.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/linux-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/linux-02.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-01.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-02.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-00.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-01.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-02.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-03.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-04.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-05.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-06.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-07.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-08.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-install-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-install-09.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/mac-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/mac-settings.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/veracrypt-solution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/veracrypt-solution.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/veracrypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/veracrypt.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-01.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-02.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-03.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-04.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-05.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-06.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-07.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-08.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-09.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-10.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-10.1.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-10.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-11.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-12.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-13.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-14.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-15.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-16.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-17.png -------------------------------------------------------------------------------- /07_crypto-symmetric/pic/win-install-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/07_crypto-symmetric/pic/win-install-01.png -------------------------------------------------------------------------------- /08_crypto_assymetric/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «3.2. Ассиметричные криптосистемы» 2 | 3 | В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru). 4 | 5 | ## Общие замечания по безопасности 6 | 7 | При скачивании любых файлов перед их открытием рекомендуем вам проверять их с помощью сервиса [VirusTotal](https://www.virustotal.com/gui/home/upload). 8 | 9 | ## Общие замечания по выполнению ДЗ 10 | 11 | Если у вас что-то не получилось, то пишите в разделе "Вопросы по заданию" в личном кабинете: 12 | 1. ОС 13 | 1. На каком шаге остановились 14 | 1. Скриншот ошибки (если есть возможность) 15 | 1. Краткое описание того, что сделали 16 | 17 | Пожалуйста, не пишите сообщения в стиле `я всё сделал по инструкции, ничего не работает` - это никоим образом не поможет решить проблему. 18 | 19 | ## Работа в терминале 20 | 21 | Ознакомьтесь с [руководством по работе в терминале](../terminal) для вашей операционной системы. 22 | 23 | ## Задача LibreSSL & OpenSSL 24 | 25 | ### Справка 26 | 27 | [OpenSSL](https://www.openssl.org/) - Open Source криптографическая библиотека. 28 | 29 | [LibreSSL](https://www.libressl.org/) - форк (ответвление) от библиотеки OpenSSL, развиваемое в рамках проекта OpenBSD. 30 | 31 | ### Установка 32 | 33 | #### Windows 34 | 35 | Пользователем Windows мы предлагаем воспользоваться возможностями проекта [Cygwin](https://www.cygwin.com), который предоставляет набор инструментов из мира Linux для ОС Windows. 36 | 37 |
38 | Инструкция по установке 39 | 40 | ##### Шаг 0. Перейдите на главную страницу и скачайте установочный файл: 41 | 42 | ![](pic/openssl-cygwin-00.png) 43 | 44 | ##### Шаг 1. После чего запустите его на установку и нажмите на кнопку Далее: 45 | 46 | ![](pic/openssl-cygwin-01.png) 47 | 48 | ##### Шаг 2. Оставьте значение по умолчанию (Install from Internet) и нажмите на кнопку Далее: 49 | 50 | ![](pic/openssl-cygwin-02.png) 51 | 52 | ##### Шаг 3. Оставьте значения по умолчанию и нажмите на кнопку Далее: 53 | 54 | ![](pic/openssl-cygwin-03.png) 55 | 56 | ##### Шаг 4. Оставьте значения по умолчанию и нажмите на кнопку Далее: 57 | 58 | ![](pic/openssl-cygwin-04.png) 59 | 60 | ##### Шаг 5. Оставьте значения по умолчанию и нажмите на кнопку Далее: 61 | 62 | ![](pic/openssl-cygwin-05.png) 63 | 64 | ##### Шаг 6. Выберите любой сервер из списка и нажмите на кнопку Далее: 65 | 66 | ![](pic/openssl-cygwin-06.png) 67 | 68 | ##### Шаг 7. Оставьте значения по умолчанию и нажмите на кнопку Далее: 69 | 70 | ![](pic/openssl-cygwin-07.png) 71 | 72 | ##### Шаг 8. Оставьте значения по умолчанию и нажмите на кнопку Готово: 73 | 74 | ![](pic/openssl-cygwin-08.png) 75 | 76 | ##### Шаг 9. Откройте Cygwin Terminal через иконку на Рабочем Столе: 77 | 78 | ![](pic/openssl-cygwin-09.png) 79 | 80 | ##### Шаг 10. Введите команду `openssl version` (можете продолжать работу): 81 | 82 | ![](pic/openssl-cygwin-10.png) 83 | 84 | По умолчанию вы будете находиться в каталоге `C:/cygwin64/home/<Имя вашего пользователя>`. 85 | 86 |
87 | 88 | #### Linux 89 | 90 | Для пользователей Linux (Ubuntu) необходимо выполнить в терминале команду: `openssl version`. Если в результате вы видите вывод вроде `OpenSSL 1.1.1f 31 Mar 2020` (версия и дата могут отличаться) а не `Command 'openssl' not found`, тогда вам не нужно ничего устанавливать. 91 | 92 | Если же вы получили сообщение о том, что команда `openssl` не найдена, выполните следующую команду: `sudo apt-get install openssl`. 93 | 94 | #### Mac OS 95 | 96 | Для пользователей Mac необходимо выполнить в терминале команду: `openssl version`. Если в результате вы видите вывод вроде `LibreSSL 2.8.3` (версия может отличаться) а не `Command 'openssl' not found`, тогда вам не нужно ничего устанавливать. 97 | 98 | Если же вы получили сообщение о том, что команда `openssl` не найдена, выполните следующую команду: `brew install openssl`. 99 | 100 | ### Инструкция 101 | 102 | Запустите терминал и начнём знакомиться с OpenSSL (LibreSSL): 103 | 104 | 1\. Справка по основным командам OpenSSL 105 | 106 | ```shell script 107 | openssl help 108 | ``` 109 | 110 | 2\. Справка по конкретной команде: 111 | 112 | ```shell script 113 | openssl help genrsa 114 | ``` 115 | 116 | Более детальную справку вы можете найти по адресу: https://www.openssl.org/docs/manmaster/man1/ 117 | 118 | ### Задача 119 | 120 | В этой задаче мы научимся шифровать данные с помощью публичного ключа и расшифровывать с помощью приватного. 121 | 122 | Первое, с чего мы должны начать - это сгенерировать ключ. Для этого нужно выбрать алгоритм, размер ключа и passphrase (кодовую фразу). 123 | 124 | #### Шаг 1. Создайте закрытый ключ с длиной 2048: 125 | 126 | ```shell script 127 | openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -aes256 -out private.key 128 | ``` 129 | 130 | Где [`genpkey`](https://www.openssl.org/docs/manmaster/man1/openssl-genpkey.html) - подкоманда, отвечающая за генерацию ключей. 131 | 132 | Введите кодовую фразу два раза (обратите внимание, символы не будут отображаться в целях безопасности). 133 | 134 | Откройте файл `private.key` в любом текстовом редакторе (можете просмотреть в терминале с помощью команды `cat private.key`), удостоверьтесь, что он выглядит примерно так: 135 | 136 | ```text 137 | -----BEGIN ENCRYPTED PRIVATE KEY----- 138 | ... 139 | МНОГО БУКВ 140 | ... 141 | -----END ENCRYPTED PRIVATE KEY----- 142 | ``` 143 | 144 | #### Шаг 2. Сгенерируйте открытый ключ на базе закрытого: 145 | 146 | ```shell script 147 | openssl pkey -pubout -in private.key -out public.key 148 | ``` 149 | 150 | Где [`pkey`](https://www.openssl.org/docs/man1.0.2/man1/pkey.html) - подкоманда, отвечающая за обработку ключей. 151 | 152 | Откройте файл `public.key` (можете просмотреть в терминале с помощью команды `cat public.key`) в любом текстовом редакторе, удостоверьтесь, что он выглядит примерно так: 153 | 154 | ```text 155 | -----BEGIN PUBLIC KEY----- 156 | ... 157 | МНОГО БУКВ 158 | ... 159 | -----END PUBLIC KEY----- 160 | ``` 161 | 162 | #### Шаг 3. Создайте файл message.txt со своей фамилией 163 | 164 | #### Шаг 4. Зашифруйте сообщение с помощью публичного ключа: 165 | 166 | ```shell script 167 | openssl pkeyutl -encrypt -pubin -inkey public.key -in message.txt -out cypher.txt 168 | ``` 169 | 170 | Где [`pkeyutl`](https://www.openssl.org/docs/manmaster/man1/openssl-pkeyutl.html) - подкоманда, отвечающая за низкоуровневые операции с публичными ключами (включая шифрование и расшифрование). 171 | 172 | Откройте файл `cypher.txt` в любом текстовом редакторе, удостоверьтесь, что он не читабелен. 173 | 174 | #### Шаг 5. Убедитесь, что файл `cyper.txt` расшифровывается: 175 | 176 | ```shell script 177 | openssl pkeyutl -decrypt -inkey private.key -in cypher.txt -out decrypted.txt 178 | ``` 179 | 180 | ### Результат 181 | 182 | В качестве результата пришлите: 183 | 1. Публичный и приватный ключ (`public.key` и `private.key`) 184 | 1. Passphrase (строкой) 185 | 1. Зашифрованный файл (`cypher.txt`) 186 | 187 | ## Задача GnuPG: подпись сообщения 188 | 189 | В этом ДЗ мы научимся подписывать и проверять подпись документов с помощью [GnuPG](https://gnupg.org) - популярной реализации [OpenPGP](https://www.ietf.org/rfc/rfc4880.txt). В частности, она используется в большом количестве Open Source проектов для подписи пакетов с ПО. 190 | 191 | ![](pic/gnupg.png) 192 | 193 | С Российской криптографией мы научимся работать чуть позже (поскольку тестовый период для Российских продуктов ограничен во времени, а они будут нам с вами нужны ещё на нескольких курсах). 194 | 195 | ### Установка 196 | 197 | #### Windows 198 | 199 | Пользователем Windows мы предлагаем воспользоваться возможностями проекта [Cygwin](https://www.cygwin.com) (он у вас уже должен быть установлен), который предоставляет набор инструментов из мира Linux для ОС Windows. 200 | 201 |
202 | Инструкция по установке 203 | 204 | ##### Шаг 0. Перейдите на главную страницу и скачайте установочный файл (либо запустите уже скачанный): 205 | 206 | ![](pic/gpg-cygwin-00.png) 207 | 208 | ##### Шаг 1. После чего запустите его на установку и нажмите на кнопку Далее: 209 | 210 | ![](pic/gpg-cygwin-01.png) 211 | 212 | ##### Шаг 2. Оставьте значение по умолчанию (Install from Internet) и нажмите на кнопку Далее: 213 | 214 | ![](pic/gpg-cygwin-02.png) 215 | 216 | ##### Шаг 3. Оставьте значения по умолчанию и нажмите на кнопку Далее (выберите тот же каталог, что и в ДЗ к предыдущей лекции): 217 | 218 | ![](pic/gpg-cygwin-03.png) 219 | 220 | ##### Шаг 4. Оставьте значения по умолчанию и нажмите на кнопку Далее (выберите тот же каталог, что и в ДЗ к предыдущей лекции): 221 | 222 | ![](pic/gpg-cygwin-04.png) 223 | 224 | ##### Шаг 5. Оставьте значения по умолчанию и нажмите на кнопку Далее: 225 | 226 | ![](pic/gpg-cygwin-05.png) 227 | 228 | ##### Шаг 6. Выберите любой сервер из списка и нажмите на кнопку Далее: 229 | 230 | ![](pic/gpg-cygwin-06.png) 231 | 232 | ##### Шаг 7. Для View выберите Full (1), в поле поиска введите gnupg2 (2) и в столбце New выберите самую последнюю версию вместо значения Skip (3) и нажмите на кнопку Далее: 233 | 234 | ![](pic/gpg-cygwin-07.png) 235 | 236 | ##### Шаг 8. Подтвердите изменения, нажав на кнопку Далее: 237 | 238 | ![](pic/gpg-cygwin-08.png) 239 | 240 | ##### Шаг 9. Откройте Cygwin Terminal через иконку на Рабочем Столе: 241 | 242 | ![](pic/gpg-cygwin-09.png) 243 | 244 | ##### Шаг 10. Введите команду `gpg2 --version` (можете продолжать работу): 245 | 246 | ![](pic/gpg-cygwin-10.png) 247 | 248 | По умолчанию вы будете находиться в каталоге `C:/cygwin64/home/<Имя вашего пользователя>`. 249 | 250 | Далее в руководстве мы будем везде использовать команду `gpg`, вам же нужно будет писать `gpg2`. 251 | 252 |
253 | 254 | #### Linux 255 | 256 | Для пользователей Linux (Ubuntu) необходимо выполнить в терминале команду: `gpg --version`. Если в результате вы видите вывод вроде `gpg (GnuPG) 2.2.19` (версия может отличаться), тогда вам не нужно ничего устанавливать. 257 | 258 | Если же вы получили сообщение о том, что команда `gpg` не найдена, выполните следующую команду: `sudo apt-get install gpg`. 259 | 260 | #### Mac OS 261 | 262 | Для пользователей Mac необходимо выполнить в терминале команду: `gpg version`. Если в результате вы видите вывод вроде `gpg (GnuPG) 2.2.21` (версия может отличаться) а не `Command 'gpg' not found`, тогда вам не нужно ничего устанавливать. 263 | 264 | Если же вы получили сообщение о том, что команда `gpg` не найдена, выполните следующую команду: `brew install gpg`. 265 | 266 | ### Инструкция 267 | 268 | Общая логика работы с OpenPGP выглядит следующим образом: 269 | 1. Генерация хэша сообщения 270 | 1. Шифрование хэша с помощью вашего приватного ключа (подпись) 271 | 1. Отправка сообщения и подписи получателю 272 | 1. Верификация подписи и содержимого сообщения получателем (с использованием вашего публичного ключа) 273 | 274 | Это значит, что первое, что нам нужно сделать - это сгенерировать ключевую пару (keypair*). 275 | 276 | Примечание*: мы будем использовать и русскоязычную, и англоязычную терминологию, поскольку нам придётся работать с обеими. 277 | 278 | Чтобы себя идентифицировать, пользователи в рамках OpenPGP создают UID (User ID): 279 | * Имя 280 | * Email 281 | * Комментарий 282 | 283 | GnuGP сохраняет всю информацию в вашем домашнем каталоге - `$HOME/.gnupg` (для Cygwin `$HOME` так же будет работать). 284 | 285 | Справку по работе с командой можно получить следующим образом: 286 | ```shell script 287 | gpg --help 288 | ``` 289 | 290 | Общий вид команд выглядит следующим образом: `gpg [command] [file]`. 291 | 292 | **Важно**: скриншоты команд будут приведены из Cygwin, там команда `gpg2`, для ОС Linux и Mac следует использовать `gpg` (без двойки). 293 | 294 | #### Шаг 1. Генерация keypair 295 | 296 | ```shell script 297 | gpg --full-generate-key 298 | ``` 299 | 300 | В диалоговом окне: 301 | 1. Выберите тип ключа: `RSA и RSA` 302 | 1. Размер ключа: `2048` 303 | 1. Срок действия ключа - `0` (не ограничен) 304 | 305 | Далее введите: 306 | 1. Имя (ваше реальное имя) 307 | 1. Email 308 | 1. Комментарий оставьте пустым 309 | 310 | Для примера (вам не нужно писать `coursar` и `coursar@localhost` - ДЗ будет отправлено на доработку): 311 | 312 | ![](pic/gpg-generate-keys.png) 313 | 314 | После чего вас попросят ввести passphrase для защиты ключа. 315 | 316 | #### Шаг 2. Просмотр ключей 317 | 318 | ```shell script 319 | gpg --list-keys 320 | # либо в коротком формате: 321 | gpg -k 322 | ``` 323 | 324 | Удостоверьтесь, что то, что вы сгенерировали на предыдущем шаге, есть в списке: 325 | 326 | ![](pic/gpg-list-keys.png) 327 | 328 | #### Шаг 3. Подпись сообщения 329 | 330 | Создайте текстовый файл с сегодняшней датой в любом формате и сохраните его в файле `message.txt`. 331 | 332 | Подпишите его следующей командой (подпись будет создана в виде отдельного файла): 333 | 334 | ```shell script 335 | gpg --output message.sig --local-user coursar@localhost --detach-sign message.txt 336 | ``` 337 | 338 | Где `coursar@localhost` - это email, который вы указали на первом шаге. 339 | 340 | Проверьте, что подпись соответствует сообщению с помощью команды: 341 | 342 | ```shell script 343 | gpg --verify message.sig message.txt 344 | ``` 345 | 346 | ![](pic/gpg-sign-and-verify.png) 347 | 348 | #### Шаг 4. Проверка подписи (ложное сообщение) 349 | 350 | Создайте текстовый файл `modified.txt` и измените в нём дату на вчерашнюю. 351 | 352 | Удостоверьтесь, что проверка подписи теперь не проходит: 353 | 354 | ```shell script 355 | gpg --verify message.sig modified.txt 356 | ``` 357 | 358 | ![](pic/gpg-verify.png) 359 | 360 | #### Шаг 5. Экспорт публичного ключа 361 | 362 | Для того, чтобы остальные пользователи могли проверять подпись ваших сообщений, вы должны им предоставить ваш публичный ключ. 363 | 364 | Для этого нужно его экспортировать с помощью следующей команды: 365 | 366 | ```shell script 367 | gpg --output public.gpg --armor --export coursar@localhost 368 | ``` 369 | 370 | Где `coursar@localhost` - это email, который вы указали на первом шаге. 371 | 372 | По умолчанию, ключ экспортируется в бинарном формате. Опция `--armor` позволяет экспортировать его в текстовом виде. 373 | 374 | ### Результат 375 | 376 | В качестве результата пришлите: 377 | 1. Публичный ключ (с шага 5) 378 | 1. Файл сообщения и подпись к нему (с шага 3) 379 | 380 | ## Задача GnuPG: decrypt* 381 | 382 | **Важно**: это не обязательная задача. Её (не)выполнение не влияет на получение зачёта по ДЗ. 383 | 384 | В этом ДЗ мы научимся расшифровывать и проверять подпись сообщений, зашифрованных с помощью GnuPG. 385 | 386 | ### Замечание 387 | 388 | В отечественной терминологии различают термин расшифрование и дешифрование. Под дешифрованием фактически понимается "взлом" шифра. 389 | 390 | В западной терминологии decrypt означает именно расшифрование. 391 | 392 | ### Инструкция 393 | 394 | Общая логика работы с OpenPGP выглядит следующим образом: с помощью публичного ключа получателя шифруется сообщение (расшифровать его можно только с помощью приватного ключа, который должен быть у вас). Про подпись вы уже знаете из предыдущего ДЗ. 395 | 396 | Список ключей: 397 | 1. Приватный ключ получателя [`student.key`](assets/student.key) 398 | 1. Публичный ключ отправителя [`netology.gpg`](assets/netology.gpg). 399 | 400 | Приватный ключ нужен для того, чтобы вы могли расшифровать сообщение. 401 | 402 | Сейчас мы эмулируем ситуацию, что приватный ключ каким-то образом попал к вам (а ещё, вот удача, вам стал известен passphrase), поэтому теперь вы можете попытаться расшифровать сообщение. 403 | 404 |
405 | Когда такое может случиться? 406 | 407 | Случается это сплошь и рядом: 408 | 1. Потерянная флешка, на которой хранился "бэкап" и аккуратно в текстовом файлике passphrase "чтобы не забыть" 409 | 1. Ноутбук, отданный в ремонт (с аналогичным первому пункту хранению данных) 410 | 1. "Случайно" выложенный разработчиком в системы контроля версий (вроде GitHub) приватный ключ и passphrase к нему в исходных кодах приложения или конфигурационных файлах 411 | 1. То же, что и предыдущий пункт, но бэкап пользовательских данных (где-нибудь в облаке) 412 | 1. И т.д. 413 | 414 | По поводу п.3 можете почитать [замечательное исследование](https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_04B-3_Meli_paper.pdf). 415 |
416 | 417 | **Важно**: никогда не выкладывайте приватные и passphrase к ним в онлайн. Это неправильно и ни при каких условиях так делать не стоит. 418 | 419 | Скачайте их и сохраните его в ваш каталог `$HOME` (далее выполняйте все команды там). 420 | 421 | #### Шаг 1. Импортируйте ключи 422 | 423 | Для этого выполните следующую команду: 424 | 425 | ```shell script 426 | gpg --import netology.gpg 427 | gpg --import student.key 428 | ``` 429 | 430 |
431 | Passphrase для student.key 😈 432 | 433 | Passphrase: `student`. 434 | 435 |
436 | Неправильная passphrase 😈? 437 | 438 | Такое бывает. Достаточно часто для "стойкости" пароли набирают на другой раскладке (или просто забывают переключить раскладку). Попробуйте `student` в русской раскладке. 439 | 440 | Если уж совсем не получилось, то держите скрипт, который всё сделает за вас: 441 | 442 |
443 | Импорт ключа с вводом passphrase 444 | 445 | ```shell script 446 | echo ыегвуте | gpg --batch --yes --import student.key 447 | ``` 448 | 449 |
450 | 451 |
452 |
453 | 454 | #### Шаг 2. Убедитесь, что ключи импортированы 455 | 456 | ```shell script 457 | gpg --list-keys 458 | ``` 459 | 460 | #### Шаг 3. Расшифруйте сообщение и проверьте подпись 461 | 462 | ```shell script 463 | gpg --decrypt message.enc 464 | ``` 465 | 466 | Где [`message.enc`](assets/message.enc) - это зашифрованный файл, который вам прислал владелец [`netology.gpg`](assets/netology.gpg). 467 | 468 | ### Результат 469 | 470 | В качестве результата пришлите: 471 | 1. Содержимое зашифрованного сообщения (текст) 472 | 1. Результат проверки подписи (валидна или нет) 473 | 474 | ## Распространение дистрибутивов* 475 | 476 | **Важно**: это не ДЗ, присылать его на проверку не нужно. Это доп.задание, предназначенное для ознакомления. 477 | 478 | То, как мы распространяли публичные ключи - используется редко. В рамках OpenPGP существуют специальные сервера, предназначенные для распространения публичных ключей, например, https://keyserver.ubuntu.com/. 479 | 480 | Соответственно, предлагаем вам ознакомиться с [инструкцией](https://ubuntu.com/tutorials/how-to-verify-ubuntu#1-overview), которую предлагает Ubuntu, для проверки скачанных дистрибутивов. 481 | 482 | Для этого вам понадобятся GnuPG (который вы установили) и инструмент для подсчёта КС SHA256 (команда `sha256sum`). Если вы сделали предыдущие ДЗ, то в Windows они у вас уже установлены (Cygwin), в Linux тоже, в Mac потребуется выполнить команду `brew install coreutils`. 483 | 484 | Далее необходимо пошагово пройти инструкцию. 485 | -------------------------------------------------------------------------------- /08_crypto_assymetric/assets/message.enc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP MESSAGE----- 2 | 3 | hQEMA0I7t9qEWoAGAQf9F+hx+INip295R3nxbWl23td0f6uAiPVAreQa9UJLpgeY 4 | yW920qvJNmVtkhp5YxOSodVW+TNrddrUCx4q4H6QYcLro0DVczpZx0YtWO2g131m 5 | HFLC2r9JV+3K/i/+zCNi1iq674fVUW+rETQFu6Gr5F7y6hOUPOwj7K+hgMGgTDjy 6 | DGVS9qBTt618jquHaNHcbBxl/zAi19JLHgBEeryCZTwlBIfHeXgJscNd3g0yKZNq 7 | RMaR/1ZZqWgogztYmA/jUVwQCYs46Wbf98MIky3BQ+yyYIFN/w7RGBEPklzeuIwb 8 | 12ZrVgoVgRRdCivbfx3WUACN0q5aq4kt42FDOGpZEtLA5QErUofPQvujZ+X2nneB 9 | yK3TVzqaaBBmchbHyXcn10aMnESUv4tyf1JVop+jor/WCBTeQwWBno+p05rskYwE 10 | 6kQzhljoPLkH4tEVvd1j73Z1FE/r+szDPG5OGVKWVfV05IMFssOJUKLcCgwyKKKr 11 | MqipPMDHtucM4R/asLlF+JUviluXRk/yO3JGIBKLRpWZmWS13G7b1GTG8isPouO+ 12 | B1t0xKdnocfajTNgNDoh5rtmklQXxeDSfV3WFSO4S/nOdRtHWyhwOPeRfRiU/AVJ 13 | Ql+xw3qs5DsNdcc+6UeTIqSQ6cHOGGgd8EmsCo7bjbYQKPue7N6QrmQRzM4vTtBm 14 | 2xD/diTAxU4GPBSWCIpDBRDg92Bx43K8Ow/eZ+/lgXC0nAL3j+yNHlK3DpfHZBFh 15 | lXozIm79c0gVhXAk4iyh14FUebtTK/Z012mVufeyDfwXqADg5Ii/6zgJoc0s+kA2 16 | Ffk52k+0mOjfnxYATgqCSJT8Xji9Vi7cTtod16UBryHZODw7T9IdDUmYcXZI9vlD 17 | gMgfujMz0G2Wu8Z9I4V8NcWmUAs4yM0= 18 | =YHIl 19 | -----END PGP MESSAGE----- 20 | -------------------------------------------------------------------------------- /08_crypto_assymetric/assets/netology.gpg: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mQENBF87vwkBCADJ/luV+QmM7iFUDHQsNommc9QNyGqWXe5BVN/FrPXRu55wcbrj 4 | DBYNWHuJUkE1nfZX5ICwnshIy+DwCX4hr3QkPXR5zs4/r82TsyfWDZr/DLjzL32y 5 | qFZYTGvOfrk8sqKKWiOwqFLqvTFFR8Dno2rFHzkCtH17XRuTGiFYnyv8/07Y8lBm 6 | lTx3NAZVZHJzj73qiP8tzlQFpimCuTC9DgAqcskkKuwLi2mwmJ3v1+OEqw4wXwIP 7 | A95DyauWHjilwF6ohyofJMVcGENAMgKH+fuMGGJjlWV2AVtNHeG0xsIwnlj1zrhu 8 | JgRj4kJWS/Um73nw6iATT4ZxSOMLcYnDFmAdABEBAAG0G25ldG9sb2d5IDxpbmZv 9 | c2VjQG5ldG9sb2d5PokBTgQTAQgAOBYhBO/d1k7GWonn2ILhLewSoNjXyLVABQJf 10 | O78JAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEOwSoNjXyLVAxlQH/jN2 11 | AC2LMGux6mehDBl34FRiBahIjq0e++oioD7ovnHQ7wZxo4oSexz+hWiPvuYr3wIx 12 | JxLYAHBojBN/SLG4/7VP6gFqNnKjK9NrpqWKymxOTlPlfaspz/02vhfVtmz7wMLU 13 | LdoIgHzcZwFRa03hPY+H2lpXLGwuAziObgFOKL6HxQrJLLkLkW6/bD8qA6PwOejK 14 | ORGtnabO1vi4+3wGxElV0Cxklyo2GubZU8ohP/DB+lAC+pWTIkEpPxmOjzIBhzP4 15 | g2NBdDXSCJoVLTgA7Y2YfBlqyXk2cevjoI9hFaFZZB0x8t/TNVfDTy6g3JAoJpU9 16 | iLUgHMYRQLn5zyhSxx25AQ0EXzu/CQEIAKWqkifZC2j2eqfQ2nwAXF4GT3xQYDe7 17 | 4Tob5TVZEVW5AQ/1tc46WNBsMje/HszeSMMhSFNXp/8j5QE5O12qmiAa+TFEvvme 18 | sxSkuAaQ7NqXQaboTrPYiJwwPv2g355CM1vTggbiuJ69GRQfwqMg6r1hCZv+UoJW 19 | BWKiHBJkutzHBVO58AAMca3dSLAQwv+BMYKHnauyBeMZEPSBYa7uGnOpNtZ8j3L/ 20 | bfWsQCkeM+E9kanmOpqqaH/DYKnouEsT8yh8kM8KGqN7h2/EWmmmre6EbknwtS1s 21 | 6yOUg65Ju7fPVeR6rw0ziYKnEbe8S5PH+Dr7xsAe1rbpcji/YxEIE2UAEQEAAYkB 22 | NgQYAQgAIBYhBO/d1k7GWonn2ILhLewSoNjXyLVABQJfO78JAhsMAAoJEOwSoNjX 23 | yLVA5IkH/1MkPmjbnt+hrPPQHQqtpV6CPB6RnJ8HXkfJn0RoVkr2HaEIfhPoYJvm 24 | XnE3McNXe8eNUnv5rdlf1Oxq3YxitoQ3eqxzVL+8NMzslU+JNr17ZbAuaNA4LH2u 25 | KtNyy32Kon7DcdxsbHwjLRnTeY/hQ8JEzlOhMGqeOmnWjGlGvq8hqvC9qGUsXann 26 | qqCZcfjfnTDvHgRgz5P7eGAAxqzwLexddTpJkasJ+WlRC7xpgyDgUqZSBLZH2zxQ 27 | GxFn1db3fckauKpOsMfkKwvVOgFUUdWAceouYG9WJuh38AKXjGXR9uyNxEncM66O 28 | f3mf54oLKg02Q4Gf7CHsrQPH/u3KlYQ= 29 | =zUM7 30 | -----END PGP PUBLIC KEY BLOCK----- 31 | -------------------------------------------------------------------------------- /08_crypto_assymetric/assets/student.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PRIVATE KEY BLOCK----- 2 | 3 | lQPGBF87uPIBCADkNBirIhKJhFTlsCm8Tt9juIsKu2DCeAIK4lLYDs80yyfW/293 4 | V1cYdc7cLi02fE+prfJzQ+hHszTSuocFDbH4xRECUGd60A3SQNbtW5nA9aOYpiHu 5 | BRPDiLj6+NpFpebLK3X8fLp4jX034EJ7R7LRz/QFE0YKJSoKkLMAaDblkh/yB04l 6 | ct1sSO5FuSt8EseNEQh3J7gQ6YdDy4b+DqCwb/RaSCKwf2yLlB7mkImMKyK/iaT8 7 | Iw6YhvUxfr8o5N0FzJtj5FS7s0VzP58fXAFJD7CZW7UgogTp0/VzFTn+L3B4OEfi 8 | P4sXkVHhZU1EAjt3+o4G/Qc0cn7LbMFpIwO3ABEBAAH+BwMCRbIJK9qre+3qnhKG 9 | RHLHIDbl6iHvL5cw7rnDSr62/oaE0JitlT9RucoQ6ry8MZo3MgKkd3xuPkgHGYYr 10 | 2+GTvjm5HladnfCkVSGpqzIfm5oOHR0FGcTlYS4pFbcgPTMnNiD004gnr5OEZmmh 11 | LG6H0rx076JPBup3xEM0U05fVd6eq6v1OvwYawcOUFFmvp/Hx4eJaktq0HL3QLri 12 | pNpq7LiYNNqmcoDbYXUlnSxJ1sVCoOI6jnZzEsu/EVcnJT2v9hEANrrxry6OCaYg 13 | sjr+BLCCVRfQ+F49xgWMKWuBqGRIJ9Eg5rzjE19AXs4cQC3+u1hHMGAitqcvzXNQ 14 | Ve3kidqQD+x2KiP129LwBUKweHUfqtP9LYdT7l3S+OSJm+5qFjU0PDNyG/W7T8Ps 15 | ufyluI71RCF8C86K8RJzJXqGzi0RsOYQ2NRXKm6K7uV3X9ShKSJE6u5lNx9Z9C+Q 16 | mZwOCfPvrmyB+8i57LkT+/1SF7SISS07vHkhHd19YR9/teojxl+K8Y4LegFR5cHL 17 | l4Q4+SLQ5MLIlH3B/Io/Dqydabc4qCKe5r83XMXpzV8/5t5l4PC5qs3oanOTAhA8 18 | jrNwkcKWcUXELN08rNQEJvL62AiwbSMnPf5HN5Vvpt6XD2ZSfYkrzBNxj7W4Ogh6 19 | hhNwUGqgnpZDYk9Ui01ati8afR3b43v6yFHEfz1m+RH3B/zkv326gZElZgzH35Fh 20 | ztDwgxoaXYZQ1VejYsvfdSUBYLDRCCv+thhl276GrNs7GhtgP4o4owcAM4A4wfeI 21 | OF/XymGfl28HQa7rxGYAw2XtXIblXYoWxb6oefgynIE7u3Rv1KBjgCR6okr/a6G+ 22 | y/stc7n6adCarTqZtyC8ZI1iOPL0VMUcK4IUcz+0PkLY+wVqyTFF4+A6cdmBkw4Y 23 | mJOKoPECFWAjtBtuZXRvbG9neSA8c3R1ZGVudEBuZXRvbG9neT6JAU4EEwEIADgW 24 | IQSkVfOT94tdeiigycnFoR3bk0PKeQUCXzu48gIbAwULCQgHAgYVCgkICwIEFgID 25 | AQIeAQIXgAAKCRDFoR3bk0PKeT+MCACepRweMk6vRFTIpL9jmrRmk4DluaY6VBT9 26 | BTd5YWNcmHHlVj0Kwe12c3sqWtnrPNla2m7RcZwAhX1s9pQJc+85BP+efweCqCaR 27 | Yz5Oj2xbCCwtbfwdgPwTJOHcNTgYUTYDfrG1Q0p4h+izKD6VuyZXVypZZxQiir0Q 28 | XxD8FyCtaA/gDuDWCBtnUOqsKvGmqGfqhE/X/7Gqc+kClDD4Q3hCek4Ucxfiqbf6 29 | DX1Q42A3mddbzd/XAYUi1vhdLMzSDsHqYdOqYFwgFfrqUBx5QC2a/hZRsackaYjv 30 | w+OY0DY8rvZxBBTxen4Hoqra9zQpeobuR7sHfVSk23KcXKjAfxDknQPGBF87uPIB 31 | CADDlz25svg0LyD/MaIeHWfIqs1WrR38mMJetytUont6gEd69Tq18yxUNUq34Ujr 32 | Yvjd4D+9B1XIO7EqA4gz5oQo1G/8zQVrSbY8AI+BLQFMzTQLHO7dczr6qQnialo9 33 | vPqWjBVQp+XLDw9qGawEUsZHS9H46GIjSVYcJxhg1GJiYZtPgTABpKiJT3xpzucn 34 | AlUlhysuo+D1byeI9+LUsDuk0nepBrl9GoGkrvCEtt22mcCHinyufINHUugeP0bq 35 | q7vstI2Yhb9BhxEojiMmmp9vtl7vKPov4cDb4ds2UDiqh7WQGrseyBeE29CeLBgj 36 | YpN0ZeA1S46gSyTOeGyX/ZnjABEBAAH+BwMC/gMXJrfA0YLqc/x361aGRUaEVEcs 37 | 75/H+W/ggkY8HXaFohRkD0WOnIzk3Rws8KjqkhAnJaAo5CB7RZNfYtMB4C1jvvbV 38 | q3An4rlgmlfG9cy7+qFa9ZM996YmPo6o7I1D6QiXP8vmB7Xlswy/VwLCD+jn/Bbe 39 | kj2t/L5F7mBjUGuUK3lPm73+dwHmnTK63CYNYRbia/+tyqGbFRsO9gCW+ypiTRiH 40 | 81z7gtzBjLoLO6JXQ9eP0Sqzatou+OwjJYCf5DCgQZP4TcUBgVlSmjgdKNg0mBzF 41 | CtKwLf874VKu+rKJAlH9FtIVEP7xmDCTUux0siJBDEBOl4bptTFmKBie/GRMfS65 42 | PiRuKG8o54rLJTe6/+c0sitRzamz6B3ZW71GquyfFBm5ZV2sDyPB/2os0ZxeUsdj 43 | fHbUGr8YZGX6aPZWhUqhUScPzVBVqAca4V2+mU9JJ+mPZSs4peinunYp+I6HxytI 44 | vAbqmhabY+9WxHVTbLJqzDSohHPmVZJjoYDhtEgctiEebz5xyRmU+3jM0BKOMKY6 45 | 9KeeqJxqlvV0nS1pW5YumjGVIkS5Fx2JcHbM+ZDmCWz+4uARzm29cWiecZcYrCjY 46 | 1bStkwhtLyZkOfu1SVclAk3qoFYQqGP+pytOANCYTAIj/2x2WTkdZcR3gXmbXGzL 47 | FVxqNd2FQhvt/q6UUuamtqlWhdAX5TJXs8kko2X1JFIbDYwwcRNt+DhnJMG3d7li 48 | f6KRfXjogTrIGEs1V2dXx6tPTz3or1AZcY0exk4B3t+96B9yqGs8kyWUU7lSJ5L1 49 | pbfvnwNEAWwXmRJR9fT5lPyJ1L+bIaOki781n8W9ATo2q03FfrdbuqrpCuUV1Ck+ 50 | Imz5pUFxXVlT9FFzDNOMzaojgHUOopU9EqFkAgouqdU8Uyclp6eEwhmNWKmn9eN9 51 | iQE2BBgBCAAgFiEEpFXzk/eLXXoooMnJxaEd25NDynkFAl87uPICGwwACgkQxaEd 52 | 25NDynmsgAf8DJWHU3iBq4uOfutgBe1bL7fUTyCTQlI8RIuvXCV8Ocqt9Z8P4ej4 53 | Ez5b1R/BwD1niB5VrNm1IUVAXHj5h5x5MWKIMm1W+OsrSNQE/U5VWwVlW18+Flu2 54 | 5X6Bu/rnxZw2KKex/nCDKAbwJ4Etb7h4QzGdxS+eePYbqVB3LHUDs9DueEFddbWr 55 | qMjZkmA3nN1X/gN3PA5ENWeTE0xDw/s4xjJGIVf7AhVsUqQ0tKjfS5ZuU5TNgMZg 56 | QsLkLaaI1VORwBsGHMiDAn4hEaX++iNUohZVn99quu+6snkWDTXOkt5e4ixst8Vg 57 | g+YZN3YFCprF/+rmiWZBGwongqQrgiJkqw== 58 | =0Ne8 59 | -----END PGP PRIVATE KEY BLOCK----- 60 | -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gnupg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gnupg.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-00.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-01.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-02.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-03.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-04.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-05.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-06.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-07.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-08.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-09.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-cygwin-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-cygwin-10.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-generate-keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-generate-keys.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-list-keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-list-keys.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-sign-and-verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-sign-and-verify.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/gpg-verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/gpg-verify.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-00.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-01.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-02.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-03.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-04.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-05.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-06.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-07.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-08.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-09.png -------------------------------------------------------------------------------- /08_crypto_assymetric/pic/openssl-cygwin-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/08_crypto_assymetric/pic/openssl-cygwin-10.png -------------------------------------------------------------------------------- /09_financial/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «4.1. Финансовые системы» 2 | 3 | В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru). 4 | 5 | В каждом задании сформулирован один (или несколько вопросов), и вам нужно найти ответы в соответствующем нормативно-правовом акте (далее – НПА). 6 | 7 | Обратите внимание: 8 | * там, где требуется указать понятие, необходимо привести это понятие целиком 9 | * там, где необходимо описать иное (например, ответить на вопрос "в течение какого времени", "какая ответственность" и т.д.) достаточно ответа собственными словами (как вы поняли) и указания номера статьи и пункта. 10 | 11 | Обратите внимание, что справочная система КонсультантПлюс в бесплатной редакции не даёт копировать текст документа. 12 | 13 | Важно: правовые системы предлагают платную подписку на комментарии, аналитические материалы и подборки ссылок. В рамках нашего курса платная подписка не требуется. Все ДЗ рассчитаны на работу исключительно с бесплатной версией. Поэтому, пожалуйста, нигде не вводите данные своих карт и т.д. 14 | 15 | ## Задача №1 - ГОСТ Р 57580 16 | 17 | Вам необходимо изучить ГОСТ Р 57580. Документ состоит из двух частей: 18 | 1. ГОСТ Р 57580.1-2017 19 | 1. ГОСТ Р 57580.2-2018 20 | 21 | Ответьте на следующие вопросы: 22 | 1. Что такое контур безопасности? 23 | 1. Что/кто является субъектом доступа (в рамках данного стандарта)? Какие основные типы их рассматриваются? 24 | 1. Что такое компрометация аутентификационных данных? 25 | 1. Что такое фактор аутентификации? На какие категории подразделяются факторы? 26 | 1. Что такое однофакторная и многофакторная аутентификация? 27 | 1. Чем событие ЗИ отличается от инцидента ЗИ? 28 | 1. Что такое компенсирующие меры? В каких случаях они применяются? 29 | 1. Сколько уровней ЗИ определяет стандарт? Перечислите их. 30 | 1. Какой из всех возможных объектов атак нарушитель выберет с наибольшей вероятностью (с точки зрения авторов стандарта)? 31 | 1. Для оценки полноты реализации процессов системы ЗИ используют качественную модель оценивания. Приведите уровни соответствия с их описанием, указанные в данной модели? 32 | 1. Что рекомендуется использовать в качестве основных источников свидетельств для оценки соответствия ЗИ? 33 | 34 | ## Задача №2 - Тинькофф Мобильный SDK 35 | 36 | Банк Тинькофф предлагает [Мобильный SDK](https://oplata.tinkoff.ru/develop/sdk/) для встраивания в мобильные приложения возможностей оплаты с карт. 37 | 38 | ![](pic/sdk.png) 39 | 40 | SDK (Software Development Kit) - набор инструментов для упрощения разработки. В частности, в случае Tinkoff - это набор уже реализованных программных блоков, которые программисты могут использовать для ускорения процесса интеграции платежей в собственное мобильное приложение. 41 | 42 | По традиции, мы на всякий случай локально сохранили копии документов для [Android](assets/android.pdf) и [iOS](assets/ios.pdf). 43 | 44 | ### Справка 45 | 46 | OpenSSL позволяет [вычислять хэши по разным алгоритмам](https://www.openssl.org/docs/manmaster/man1/dgst.html), например, для md5: 47 | 48 | ```shell script 49 | openssl dgst -md5 file.txt 50 | ``` 51 | 52 | Где `file.txt` - это файл, внутри которого хранятся данные, для которых нужно рассчитать хэш. 53 | 54 | Конечно же, это не всегда удобно (плюс некоторые редакторы добавляют в файл перенос строки и у вас получается неверный хеш). 55 | 56 | Современные командные оболочки предлагают нам синтаксис, позволяющий направить на вход одному приложению (аналог ввода "руками") данные из вывода другого приложения. Это так называемый pipe (труба). 57 | 58 | Выглядит это следующим образом: 59 | 60 | ```shell script 61 | echo -n 'Netology' | openssl dgst -md5 62 | (stdin)= f9b9c75ad5aa4b6acd7cf3d1a282d5b1 63 | ``` 64 | 65 | Где команда `echo` выводит строку `Netology`, опция `-n` не добавляет перенос строки, а символ `|` "перенаправляет" этот вывод на вход команды `openssl`. Таким образом, нам не обязательно вводить хэш руками или сохранять в файл. 66 | 67 | Кроме того, в рамках решения задачи вам понадобится использовать [кодировку base64](https://tools.ietf.org/html/rfc4648). 68 | 69 | Base64 - это кодировка, используемая для кодирования данных при передаче в ситуациях, когда окружение допускает только передачу в виде символов, соответствующих [ASCII](https://tools.ietf.org/html/rfc20). 70 | 71 | Для этого есть соответствующие флаги [в команде enc](https://www.openssl.org/docs/manmaster/man1/openssl-enc.html): 72 | * закодировать файл в base64: `openssl enc -base64 -in msg.txt -out msg.base64` 73 | * декодировать из base64: `openssl enc -d -base64 -in msg.base64 -out msg.txt` 74 | 75 | ### Задача 76 | 77 | #### Токен сообщения 78 | 79 | В рамках документации описано формирование подписи сообщения (в терминологии документа - `Token`), которая позволяет верифицировать, что сообщение действительно от вас. Вам нужно найти описание этого алгоритма и подписать следующий документ: 80 | 81 | ```json 82 | { 83 | "TerminalKey": "TerminalKey", 84 | "Amount": "100000", 85 | "OrderId": "10001", 86 | "Description": "Подарочная карта на 1000 рублей" 87 | } 88 | ``` 89 | 90 | В качестве пароля (password) используйте строку `TopSecret`. 91 | 92 | При пересылке любых данных важно удостовериться, что они не изменились. Для этого вместе с данными пересылается специальный токен - это хэш-функция от строки, получаемой из исходных данных. Способ получения подобного токена описан в [документации Тинькофф](https://www.tinkoff.ru/kassa/develop/sdk/). Теперь попробуем сформировать токен. 93 | 94 |
95 | Подсказка 96 | 97 | Нехорошо смотреть подсказки 😈! 98 | 99 | Но, если не нашли, то в [Android](assets/android.pdf) на 36-ой странице, в [iOS](assets/ios.pdf) на 61. 100 | 101 | Есть инструкции: [Первая](https://web.archive.org/web/20220516235607/https://oplata.tinkoff.ru/develop/api/request-sign/), [Вторая](https://www.tinkoff.ru/kassa/dev/payments/#section/Podpis-zaprosa) 102 |
103 | 104 | В качестве результата пришлите токен для указанного документа. 105 | 106 | #### Шифрование карточных данных 107 | 108 | **Важно**: это подзадание не обязательно, его выполнение не влияет на получение зачёта. 109 | 110 | В рамках документации описывается механизм передачи карточных данных с мобильного устройства на сервер (они не передаются в открытом виде). Вам нужно найти описание этого алгоритма и зашифровать следующие карточные данные: 111 | * PAN=4300000000000777 112 | * ExpDate=0823 113 | * CardHolder=COURSAR 114 | * CVV=999 115 | 116 |
117 | Подсказка 118 | 119 | Нехорошо смотреть подсказки 😈! 120 | 121 | Но, если не нашли, то в [Android](assets/android.pdf) на 36-ой странице, в [iOS](assets/ios.pdf) на 62-ой. 122 | 123 | Отдельной пошаговой инструкции нет. 124 |
125 | 126 | Мы, по традиции, предоставляем вам [публичный](assets/public.key) и [приватный](assets/private.key) ключи (вы сами должны разобраться, что и когда используется). 127 | 128 | Что нужно: 129 | 1\. Зашифровать указанные данные в соответствии с алгоритмом, указанным в документации (не забудьте проверить, что они нормально расшифровываются после вашего шифрования) 130 | 131 |
132 | Подсказка 133 | 134 | Используйте команды `openssl` из ДЗ по ассиметричным криптосистемам. 135 | 136 | Обратите внимание, что шифротекст в нашем случае каждый раз будет разным (если вдруг вы решите посчитать контрольную сумму от зашифрованного файла). 137 |
138 | 139 | 2\. Прислать перечень команд, использованных вами для шифрования и расширования 140 | 141 | ## Дополнительное чтение про утечку приватных ключей 142 | 143 |
144 | Читать 145 | 146 | Ещё раз возвращаясь к теме утечки приватных ключей: есть специальный веб-сервис [GitGuardian](https://www.gitguardian.com), который как раз анализирует репозитории с кодом на наличие публикации ключей и присылает владельцам репозиториев Alert'ы: 147 | 148 | ![](pic/alert.png) 149 | 150 | Рекомендуем вам ознакомиться [со статьёй в их блоге](https://blog.gitguardian.com/leaking-secrets-on-github-what-to-do/), которая описывает уже меры реагирования на подобные инциденты и предлагает сервис, в реальном времени анализирующий каждый "коммит" (фиксацию изменений в коде) на наличие "секретов". 151 | 152 | Это достаточно важная тема (мы, конечно, забегаем немного вперёд - детально это будет обсуждаться в блоке по разработке), особенно если вы будете работать в компаниях, в которых разрабатывается ПО (а сейчас практически любая компания от магазина до банка занимается разработкой/доработкой ПО для себя). 153 |
154 | -------------------------------------------------------------------------------- /09_financial/assets/android.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/09_financial/assets/android.pdf -------------------------------------------------------------------------------- /09_financial/assets/ios.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/09_financial/assets/ios.pdf -------------------------------------------------------------------------------- /09_financial/assets/private.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCbsyCOjwMA6NYH 3 | eH3C3v07nSG7EgYxG3oti1NCu/HdV8IrEJy3JTBSAqv+gq+sz3TXfEyQAPl6oNjx 4 | 6ZgKWjGHYeEOUsKPShU7AVxz5AIFMh5NZJCRi9Nx2MCxrvx8yzEPp3Unaw+XtFpq 5 | PktV5vuRcSEq5tzq03fSIwL3ci+Gi06eXHW16ZC5HCMaNNBi9CaDIP+8keY2CDPo 6 | kGI89mR5s6Gor5bRk4aRjQn3Si+paJ0svraSnynkjGIS2pf0CZpByDcpY4Z+CyMo 7 | xEqenh4tZdvjMBCp3RG0bGtDqzrxOLFflVS8n8+27RHFDOm4LHHfSTJi74555G6s 8 | XpCN08J7AgMBAAECggEAKyX/FcLIQE5GUhewMnr9jrHDEUazdJR6zXhZAJt5MbAK 9 | XUjjRVYHCBM5evTYnnl3legah6XdfYBp3tCvk97e7vfPGNsSlAchzxJXfr5nWO1E 10 | vInsDonDdT9uV095JVRiKkZsDxp6Xb5beCn/UrUKbon9eRg1jNZB1HhjcBOy3AP8 11 | eF6jmlF8lqNwQQRDG31Bq09ae+XlbkVa5o/26shDfT87O6UednD8v+vOMV991ggW 12 | zOqcMDuaD0d8ohOtGI8gx1i3mF+ttXIG9K8wV5dXIKKuIEmSnYG6XrvIW4wO8X8e 13 | jhDaOcspwOtl3KvFzRy5SUmo1P4Q63COTKiTiBkzUQKBgQDNVGFwyYqGjMktyVj/ 14 | /R5i1ukpYxoor22pzxPgRkGdDL9h+sIUNX+buRKrEA2cVMOExwKmkjgTLLpQ0dCH 15 | N/QW1A8eyY7A4EBzl0grIGrQL3qshM0z7Zoea4qQmVHvvyUncDJklvEGYuGLA6BU 16 | WTlkYAJUHfEZBjSLNZHANX3ndwKBgQDCH2Wb184Kw20M4HuukopWe2fSIaUNY0UF 17 | POG4P55yuCgkH+0V+AP5CnsEep9ISyyDB1xBPSgbRcRsoFkKDNjppDkKJp08K7Uk 18 | dxim0157k506GIFvvB2gprLmtlopJcGPN9+Jd6uFz3KjFhYIApbV0gDXPabX32lG 19 | QWT8FmpGHQKBgBrQzVT8jUHbOx7mr9/mv8QqyxKjpbPwjULjD3Z31nPbSVdTd2tK 20 | PVsqBX0fwJdNHqfFkdwNNpOSgNazQCeYsCEXGs5rhmA8KU6vUDaJqkl8GepUAbSp 21 | cDpO0y7lRyUncoO/DGXErL+nxEryc0rwyCUKwOMZcfZRsCUKHvnaQpIrAoGBALOf 22 | ncPAwrUO8/8wUQHOMxenBQBZhYKH0rvwA+UbaSA561rR9+2WGwb8faw9UtnwRXXQ 23 | /7qWPmBOBF2HWhyEmspG3UjZRjEBOJJPaY4kk47BnoC9YDfl13xqA6ycG31rpFlD 24 | mCJ5i0s8E5V4wFYVH0EnGwQP1ix2W9FYfXsNurS5AoGALL3z9eDVHTrlPPJl67qu 25 | xM5RF8/WUNsBqYfud016sza8PVSden3U/C1CS6OSXUanzkb0SrRaA8/B9Kz1SVEw 26 | vczOqWzUAVUfPcNI4hYy4O2CcmJ3DIMGEv8JvDlPQUMaAkr+Ur/k/qDMJS2s6TV5 27 | nJroLFDNnmn+812j/ib6Rho= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /09_financial/assets/public.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm7Mgjo8DAOjWB3h9wt79 3 | O50huxIGMRt6LYtTQrvx3VfCKxCctyUwUgKr/oKvrM9013xMkAD5eqDY8emYClox 4 | h2HhDlLCj0oVOwFcc+QCBTIeTWSQkYvTcdjAsa78fMsxD6d1J2sPl7Raaj5LVeb7 5 | kXEhKubc6tN30iMC93IvhotOnlx1temQuRwjGjTQYvQmgyD/vJHmNggz6JBiPPZk 6 | ebOhqK+W0ZOGkY0J90ovqWidLL62kp8p5IxiEtqX9AmaQcg3KWOGfgsjKMRKnp4e 7 | LWXb4zAQqd0RtGxrQ6s68TixX5VUvJ/Ptu0RxQzpuCxx30kyYu+OeeRurF6QjdPC 8 | ewIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /09_financial/pic/alert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/09_financial/pic/alert.png -------------------------------------------------------------------------------- /09_financial/pic/sdk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/09_financial/pic/sdk.png -------------------------------------------------------------------------------- /10_international/README.md: -------------------------------------------------------------------------------- 1 | # Домашнее задание к занятию «4.2. Международные и отраслевые стандарты» 2 | 3 | В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru). 4 | 5 | В каждом задании сформулирован один (или несколько вопросов), и вам нужно найти ответы в соответствующем нормативно-правовом акте (далее – НПА). 6 | 7 | Обратите внимание: 8 | * там, где требуется указать понятие, необходимо привести это понятие целиком 9 | * там, где необходимо описать иное (например, ответить на вопрос "в течение какого времени", "какая ответственность" и т.д.) достаточно ответа собственными словами (как вы поняли) и указания номера статьи и пункта. 10 | 11 | Обратите внимание, что справочная система КонсультантПлюс в бесплатной редакции не даёт копировать текст документа. 12 | 13 | Важно: правовые системы предлагают платную подписку на комментарии, аналитические материалы и подборки ссылок. В рамках нашего курса платная подписка не требуется. Все ДЗ рассчитаны на работу исключительно с бесплатной версией. Поэтому, пожалуйста, нигде не вводите данные своих карт и т.д. 14 | 15 | ## Задача №1 - ГОСТ Р ИСО/МЭК 27000-2021 16 | 17 | Вам необходимо изучить ГОСТ Р ИСО/МЭК 27000-2021 18 | 19 | Ответьте на следующие вопросы: 20 | 1. Что СМИБ? 21 | 1. Что такое актив? Какие виды активов бывают? Являются ли сотрудники активом? 22 | 1. Что такое атака? 23 | 1. Какие дополнительные свойства также могут быть включены в понятие информационная безопасность? Что они означают (дайте им определение)? 24 | 1. Что такое риск информационной безопасности? 25 | 26 | ## Задача №2 - CIS Benchmarks* 27 | 28 | **Важно**: это необязательная задача, её (не)выполнение не влияет на получение зачёта по ДЗ. 29 | 30 | Организация [CIS](https://www.cisecurity.org/) предоставляет возможность скачать и просмотреть [CIS Benchmarks](https://www.cisecurity.org/cis-benchmarks/) (если ссылки не открываются, вы можете файлы CIS Benchmarks посмотреть в описании задания в личном кабинете): 31 | 32 | ![](pic/benchmarks-list.png) 33 | 34 | Возможность эта предоставляется бесплатно, но необходимо будет заполнить ряд сведений о себе (персональных данных): 35 | ![](pic/benchmarks-pdn.png) 36 | 37 | Вам необходимо ознакомиться с бенчмарками на: 38 | * Apple iOS (iOS 13 v1.0.0) 39 | * Google Android (v1.3.0) 40 | 41 | И ответить на следующие вопросы: 42 | 1. Сколько `configuration profiles` определяется в каждом документе? Приведите краткую их характеристику (на что направлены, для чего предназначены) 43 | 1. iOS: из каких соображений рекомендуется отключить опцию `Allow Siri while device is locked`? 44 | 1. iOS: из каких соображений рекомендуется включить опцию `Force fraud warning`? 45 | 1. iOS: к каким последствиям приведёт включение опции `Maximum number of failed attempts`? 46 | 1. Android: из каких соображений рекомендуется включить опцию `Allow remote lock and erase`? 47 | 1. Android: из каких соображений рекомендуется отключить опцию `Make pattern visible`? Что из себя представляет `shoulder surfing attack`? 48 | 1. Android: из каких соображений рекомендуется обеспечить отсутствие `Guest profiles`? 49 | 50 | -------------------------------------------------------------------------------- /10_international/pic/benchmarks-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/10_international/pic/benchmarks-list.png -------------------------------------------------------------------------------- /10_international/pic/benchmarks-pdn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/10_international/pic/benchmarks-pdn.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Домашние задания по курсу «Основы информационной безопасности» 2 | 3 | ## Блок 1. Введение в информационную безопасность 4 | 5 | 1.1. [x] [Информационная безопасность: введение в специальность](01_information-security) 6 | 7 | 1.2. [x] [Информация с ограниченным доступом (тайны)](02_privacy) 8 | 9 | ## Блок 2. Нормативное регулирование информационной безопасности 10 | 11 | 2.1. [x] [Аудит информационной безопасности](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/03_audit_IS/README.md) 12 | 13 | 2.2. [x] [Нормативное регулирование](03_regulation) 14 | 15 | 2.3. [x] [Классификация и категоризация информации, информационных систем](04_classification) 16 | 17 | 2.4. [x] [Лицензирование, аттестация, сертификация](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/05_certification/README.md) 18 | 19 | 2.5. [x] [Моделирование угроз](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/06_threats/README.md) 20 | 21 | ## Блок 3. Криптографическая защита информация 22 | 23 | 3.1. [x] [Теоретические основы криптографии, симметричные криптосистемы](07_crypto-symmetric) 24 | 25 | 3.2. [x] [Ассиметричные криптосистемы](08_crypto_assymetric) 26 | 27 | ## Блок 4. Защита информации в финансовых системах, международные и отраслевые стандарты 28 | 29 | 4.1 [x] [Финансовые системы](09_financial) 30 | 31 | 4.2 [x] [Международные и отраслевые стандарты](10_international) 32 | 33 | ## Дополнительные материалы 34 | 35 | [Разбор кейса "Как определить активы организации в контексте ИБ"](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/casestudy_company%20assets.md) 36 | 37 | [Разбор кейса "Модель угроз по методике ФСТЭК"](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/casestudy_threat_model.md) 38 | 39 | [Руководство по работе в терминале](terminal) 40 | -------------------------------------------------------------------------------- /casestudy_company assets.md: -------------------------------------------------------------------------------- 1 | # Разбор кейса «Как определить активы организации в контексте ИБ» 2 | 3 | *Перед выполнением домашнего задания по занятию [«Аудит информационной безопасности»](https://github.com/netology-code/ibb-homeworks/tree/IBB-33/03_audit_IS) рекомендуем ознакомиться с примером. В нём подробно разобрано, как определить актив компании в контексте ИБ и какие законы его регулируют.* 4 | 5 | --- 6 | ### Кейс «Как определить активы организации в контексте ИБ» 7 | 8 | Специалисту по информационной безопасности требуется определить активы организации в контенте ИБ. Он обладает следующими вводными: 9 | 10 | - государственная организация в рамках гособоронзаказа производит продукцию; 11 | - технологический процесс разработки составляет государственную тайну. Все чертежи, проекты и описание технологического процесса по разработке, имеющие гриф секретности «Секретно», хранятся в электронном виде в файловом хранилище; 12 | - сотрудники для работы с чертежами и проектами используют автоматизированные рабочие места, которые с помощью локально-вычислительной сети соединены с файловым хранилищем. После окончания рабочего дня все носители сведений, составляющих государственную тайну, сдаются на хранение в помещение секретного делопроизводства; 13 | - сотрудники отдела кадров для оформления работников используют заранее заготовленные бланки, куда от руки вписывают нужную информацию. После подписания и утверждения бланки подшиваются в отдельную папку с фамилией работника и сдаются в архив; 14 | - на автоматизированном рабочем месте главного бухгалтера установлено программное обеспечение «Система удалённого финансового документооборота». 15 | 16 | 17 | ### Решение кейса 18 | 19 | Итак, давайте найдём активы организации. 20 | 21 | Известно, что в компании обрабатываются сведения, составляющие государственную тайну. Хранятся они в электронном виде на файловом хранилище, доступ к которому пользователи получают с использованием локально-вычислительной сети. Можно предположить, что в организации имеется объект информатизации для работы со сведениями, составляющими государственную тайну. Известно, что эти сведения имеют степень секретности «Секретно», значит, можно предположить, что объект третьей категории. 22 | 23 | **1. Первый актив организации — объект информатизации для работы со сведениями, составляющими государственную тайну, третьей категории.** 24 | Данный актив регулируется [Законом РФ «О государственной тайне» от 21.07.1993 N 5485-1](https://www.consultant.ru/document/cons_doc_LAW_2481/). 25 | 26 | Есть информация, что после окончания рабочего дня все носители сведений, составляющих государственную тайну, сдаются на хранение в помещение секретного делопроизводства. Это делается не просто так — значит, нужно обеспечить их сохранность. 27 | 28 | **2. Второй актив — носители сведений, составляющих государственную тайну.** 29 | Данный актив регулируется [ Законом РФ «О государственной тайне» от 21.07.1993 N 5485-1](https://www.consultant.ru/document/cons_doc_LAW_2481/). 30 | 31 | Сотрудники отдела кадров для оформления работников используют заранее заготовленные бланки, куда от руки вписывают нужную информацию. Можно сделать вывод, что в этих бланках содержатся персональные данные работников. При этом на автоматизированных рабочих местах персональные данные не обрабатываются. После оформления бланки сдаются в архив для сохранности. 32 | 33 | **3. Третий актив — бумажные носители информации, содержащие персональные данные сотрудников.** 34 | Данный актив регулируется [Федеральным законом «О персональных данных» от 27.07.2006 N 152-ФЗ.](https://www.consultant.ru/document/cons_doc_LAW_61801/). 35 | 36 | На автоматизированном рабочем месте главного бухгалтера установлено программное обеспечение «Система удалённого финансового документооборота». Это программное обеспечение для работы с Казначейством России. То есть, скорее всего, относится к государственным информационным системам (ГИС). 37 | 38 | **4. Четвёртый актив — ГИС «Система удалённого финансового документооборота».** 39 | Данный актив регулируется [Федеральным законом от 27.07.2006 N 149-ФЗ «Об информации, информационных технологиях и о защите информации».](https://www.consultant.ru/document/cons_doc_LAW_61798/) 40 | -------------------------------------------------------------------------------- /casestudy_threat_model.md: -------------------------------------------------------------------------------- 1 | # Разбор кейса «Моделирование угроз по методике ФСТЭК» 2 | 3 | ### Вопрос 1. Напишите возможные негативные последствия от реализации или возникновения угроз безопасности информации 4 | 5 | #### Для этого выполните следующие шаги: 6 | 7 | 1. Уточните актив предприятия, для которого составляете модель угроз. 8 | В [кейсе](https://github.com/netology-code/ibb-homeworks/blob/IBB-33/casestudy_company%20assets.md) это **объект информатизации третьей категории для обработки сведений, составляющих государственную тайну.** 9 | 2. Изучите виды риска и негативные последствия в Приложении 4 (стр. 42-44) [«Методик оценки угроз безопасности от ФСТЭК России от 05 февраля 2021 г»](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54611/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82_%D0%BE%D1%82_5_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F_2021_%D0%B3.__1_.pdf). 10 | 3. Выберите то, что подходит именно под Ваш актив. Возьмите из таблицы подходящие риски и негативные последствия. 11 | 4. Дополните каждый риск и негативные последствия обоснованием, почему вы выбрали именно их. 12 | 13 | В итоге получается таблица 14 | 15 | | Виды риска | Негативные последствия | Обоснование | 16 | | ------------- | ------------- | ------------- | 17 | | Ущерб физическому лицу | Нарушение конфиденциальности (утечка) секретных данных | Засекреченные сведения о физическом лице могут стать известны третьим лицам, что может привести, например, к шантажу данного физического лица | 18 | | Риски юридическому лицу, индивидуальному предпринимателю, связанные с хозяйственной деятельностью | Потеря конкурентного преимущества | Например, если секретная технология производства товара станет известна другим производителям, то конкурентное преимущество будет утрачено в силу того, что конкуренты смогут производить точно такой же товар | 19 | | Ущерб государству в области обеспечения обороны страны, безопасности государства и правопорядка, а также в социальной, экономической, политической, экологической сферах деятельности | Утечка секретных данных | Государству может быть причинено множество видов ущерба, в том числе финансовые затраты на устранение последствий утечки секретных данных | 20 | 21 | ----- 22 | 23 | ### Вопрос 2. Какие есть возможные объекты воздействия угроз безопасности информации? 24 | 25 | #### Для этого выполните следующие шаги: 26 | 27 | 1. Изучите виды объектов воздействия угроз безопасности в Приложении 5 (стр. 45-46) [«Методик оценки угроз безопасности от ФСТЭК России от 05 февраля 2021 г»](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54611/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82_%D0%BE%D1%82_5_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F_2021_%D0%B3.__1_.pdf). 28 | 2. Выберите те объекты, которые подходят именно для Вашего актива. 29 | 30 |
31 | Подсказка 32 | 33 | `К возможным объектам воздействия угроз безопасности могут относиться: системы хранения данных, или базы данных, системы управления базами данных, сайт, почтовый сервер, почтовый клиент, автоматизированное рабочее место пользователя, система управления и администрирования, контроллер домена, сетевые службы, проводные и беспроводные каналы передачи данных, телекоммуникационное оборудование, носители информации, помещения, в которых хранится, обрабатывается или обсуждается защищаемая информация и т. д.` 34 | 35 |
36 | 37 | Оформите результат в таблицу 38 | 39 | | №| Возможные объекты воздействия угроз безопасности | 40 | | --- | --- | 41 | | 1 | Файловое хранилище объекта информатизации | 42 | | 2 | Помещение секретного делопроизводства, где хранятся носители сведений, составляющих государственную тайну | 43 | | 3 | Линии связи между файловым хранилищем и рабочими местами пользователей | 44 | 45 | ------ 46 | 47 | ### Вопрос 3. Опишите возможные способы реализации или возникновения угроз безопасности информации 48 | 49 | В работе используйте Приложение 10 из [«Методик оценки угроз безопасности от ФСТЭК России от 05 февраля 2021 г»](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54611/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82_%D0%BE%D1%82_5_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F_2021_%D0%B3.__1_.pdf). 50 | 51 | Методика определяет 13 основных видов нарушителей. Вам необходимо выбрать не менее пяти, которые могут реализовать угрозы безопасности применительно к выбранному вами активу. 52 | 53 | **Определите:** 54 | * **категорию нарушителя** — внешний или внутренний; 55 | * **объект воздействия** — их вы уже определили во втором вопросе, а через двоеточие укажите, какая угроза может быть реализована. Для справки можете использовать [банк данных угроз безопасности информации](https://bdu.fstec.ru/threat); 56 | * **доступные интерфейсы** — это то, через что (или с использованием чего) нарушитель может реализовать угрозу безопасности. Для справки можете использовать пункт 5.2.4 [«Методики оценки угроз безопасности от ФСТЭК России от 05 февраля 2021 г»](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54611/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82_%D0%BE%D1%82_5_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F_2021_%D0%B3.__1_.pdf)»; 57 | * **способ реализации** — это то, что именно должен сделать нарушитель или другое лицо, действия или бездействие которого могут помочь нарушителю, чтобы реализовать угрозу безопасности. Для справки можете использовать пункт 5.2.3 [«Методики оценки угроз безопасности от ФСТЭК России от 05 февраля 2021 г»](https://u.netology.ru/backend/uploads/lms/attachments/files/data/54611/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82_%D0%BE%D1%82_5_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F_2021_%D0%B3.__1_.pdf). 58 | 59 | Оформите результат в таблицу 60 | 61 | | Вид нарушителя | Категория нарушителя | Объект воздействия | Доступные интерфейсы | Способы реализации | 62 | | ------------- | ------------- | ------------- | ------------- | ------------- | 63 | | Специальные службы иностранных государств | Внешний | Линии связи между файловым хранилищем и рабочими местами пользователей: несанкционированный доступ к информации | Канал передачи между файловым хранилищем и рабочими местами пользователей | Перехват побочных электромагнитных излучений и наводок | 64 | | Отдельные физические лица (хакеры) | Внешний | Файловое хранилище объекта информатизации: несанкционированный доступ к информации | Доступ через локальную вычислительную сеть организации | Внедрение вредоносного программного обеспечения | 65 | | Преступные группы (криминальные структуры) | Внешний | Помещение секретного делопроизводства, где хранятся носители сведений, составляющих государственную тайну: утрата носителей | Физический доступ | Проникновение в помещение | 66 | | Системные администраторы и администраторы безопасности | Внутренний | Файловое хранилище объекта информатизации: утечка информации | Доступ через локальную вычислительную сеть организации | Использование учетных записей, обладающих привилегированными правами | 67 | | Авторизованные пользователи систем и сетей | Внутренний | Файловое хранилище объекта информатизации: нарушение конфиденциальности информации | Доступ через локальную вычислительную сеть организации | Неправильно настроенные администратором безопасности СЗИ (дискреционные, мандатные права доступа) | 68 | -------------------------------------------------------------------------------- /terminal/pic/git-bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/terminal/pic/git-bash.png -------------------------------------------------------------------------------- /terminal/pic/linux-open-ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/terminal/pic/linux-open-ru.png -------------------------------------------------------------------------------- /terminal/pic/linux-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/terminal/pic/linux-open.png -------------------------------------------------------------------------------- /terminal/pic/mac-services.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/terminal/pic/mac-services.png -------------------------------------------------------------------------------- /terminal/pic/mac-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/terminal/pic/mac-settings.png -------------------------------------------------------------------------------- /terminal/pic/mac-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/terminal/pic/mac-terminal.png -------------------------------------------------------------------------------- /terminal/pic/windows-cmd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netology-code/ibb-homeworks/3417a53a185178248c8bc15205a60b40f365c42d/terminal/pic/windows-cmd.png -------------------------------------------------------------------------------- /terminal/terminal.md: -------------------------------------------------------------------------------- 1 | # Краткое руководство по работе с терминалом 2 | 3 | * [Введение](#введение) 4 | * [Открытие терминала](#открытие-терминала) 5 | * [GoLand](#goland) 6 | * [Linux](#linux) 7 | * [Mac](#mac) 8 | * [Windows (Git Bash)](#windows-git-bash) 9 | * [Windows (CMD/PowerShell)](#windows-cmdpowershell) 10 | * [Пути](#пути) 11 | * [Переменные окружения](#переменные-окружения) 12 | * [Автодополнение](#автодополнение) 13 | * [Ключевые команды](#ключевые-команды) 14 | * [Текущий рабочий каталог](#текущий-рабочий-каталог) 15 | * [Смена рабочего каталога](#смена-рабочего-каталога) 16 | * [Листинг каталога](#листинг-каталога) 17 | * [Создание файлов](#создание-файлов) 18 | * [Создание каталогов](#создание-каталогов) 19 | * [Перемещение файлов и каталогов](#перемещение-файлов-и-каталогов) 20 | * [Удаление файлов и каталогов](#удаление-файлов-и-каталогов) 21 | 22 | ## Введение 23 | 24 | Данное краткое руководство демонстрирует основные команды в терминалах: 25 | * Bash/Zsh (Linux/Mac) 26 | * Git Bash (Windows) 27 | * CMD (Windows) 28 | * PowerShell (Windows) 29 | 30 | Для удобства все команды будут приведены в трёх вариантах: 31 | * Bash 32 | * CMD 33 | * PowerShell 34 | 35 | >В Windows 10 для оболочки CMD также доступны команды из GNU CoreUtils (те, что используются в Bash). В данном руководстве, для обеспечения совместимости с Windows 7, мы их не будем использовать. 36 | 37 | >Кроме того, PowerShell предоставляет полные имена команд и алиасы (псевдонимы). Алиасы чаще всего предлагают сокращённое именование команд. Именно их мы и будем для простоты рассматривать. 38 | 39 | ## Открытие терминала 40 | 41 | Первая задача: открыть терминал сразу в нужном каталоге. 42 | 43 | ### Linux 44 | 45 | В Linux достаточно щёлкнуть правой кнопкой мыши на каталоге и выбрать пункт меню `Open in Terminal` или `Открыть в терминале`: 46 | 47 | ![](pic/linux-open.png) 48 | 49 | ![](pic/linux-open-ru.png) 50 | 51 | 52 | ### Mac 53 | 54 | В Mac всё немного сложнее, необходимо настроить отображение этого пункта меню в Finder. 55 | 56 | Для этого необходимо перейти в `Системные настройки`, затем пункт меню `Клавиатура`, в разделе `Службы` выбрать раздел `Файлы и папки` и поставить флажок напротив `Новый терминал по адресу папки`: 57 | 58 | ![](pic/mac-settings.png) 59 | 60 | ![](pic/mac-services.png) 61 | 62 | 63 | После чего при клике правой кнопкой мыши на каталоге появится необходимый пункт меню: 64 | 65 | ![](pic/mac-terminal.png) 66 | 67 | ### Windows (Git Bash) 68 | 69 | В Windows всё достаточно просто, кликаете правой кнопкой мыши на каталоге и выбираете `Git Bash Here`: 70 | 71 | ![](pic/git-bash.png) 72 | 73 | ### Windows (CMD/PowerShell) 74 | 75 | Если нужно открыть CMD/PowerShell, то при нажатой клавшие `Shift` кликаете правой кнопкой мыши на каталоге и выбираете `Оpen command window here` или `Open PowerShell window here` (в русскоязычной версии они должны называться `Открыть окно команд здесь` и `Открыть окно PowerShell здесь` соответственно): 76 | 77 | ![](pic/windows-cmd.png) 78 | 79 | 80 | ## Пути 81 | 82 | Одно окно терминала подразумевает, что так же как в одном открытом окне `Nautilus`, `Finder` или проводника Windows вы можете в один момент времени находиться только в одном каталоге, который называется `Current Working Directory` (текущий каталог). 83 | 84 | Вы можете выполнять команды относительно текущего каталога или относительно абсолютного пути. 85 | 86 | Абсолютный путь — это путь, отсчитываемый от корня файловой системы. Корень файловой системы обозначается символом `/`. В Windows корень отсчитывается от диска, например, `C:\`. 87 | 88 | > **Важно:** несмотря на то, что в Windows 10 командные оболочки нормально поддерживают `/` вместо `\ `, мы будем использовать для Windows синтаксис с `\ `. 89 | 90 | Например, в Git Bash (Windows) абсолютный путь для каталога `Program Files`, будет чаще всего выглядеть следующим образом: `/c/Program Files/`, а в CMD: `C:\Program Files\ ` 91 | 92 | Для домашнего каталога в Ubuntu (Linux), абсолютный путь будет выглядеть следующим образом: `/home/user/`, где `user` — имя пользователя. 93 | 94 | Bash (Git Bash в том числе) используют символ `/` для разделения каталогов. В Windows для этих же целей используется символ `\ `. 95 | 96 | Ещё два специальных обозначения помимо корня файловой системы: 97 | * `.` — обозначает текущий каталог 98 | * `..` — обозначает родительский каталог 99 | 100 | **Важно:** в терминале символ пробел является символом разделяющим команды и опции. Поэтому если в пути есть пробел, то варианта два: 101 | 1. Заключать путь в кавычки, т.е. `"Program Files"` 102 | 1. Использовать символ `backslash` для экранирования пробела: `Program\ Files` (Linux/Mac) 103 | 104 | ## Переменные окружения 105 | 106 | Командная оболочка устанавливает ряд переменных, которые выполняют специфические функции. Так, переменная с именем `PATH` содержит список путей, в которых будет производиться поиск программы, если вы наберёте её название в терминале. 107 | 108 | Для вывода содержимого конкретной переменной используется команда `echo`. 109 | 110 | #### Вывод переменной окружения: 111 | **Bash/Zsh** 112 | ```shell 113 | $ echo $PATH 114 | ``` 115 | **CMD** 116 | ```shell 117 | > echo %PATH% 118 | ``` 119 | **PowerShell** 120 | ```shell 121 | > $Env:Path 122 | ``` 123 | 124 | ## Автодополнение 125 | 126 | В командных оболочках работает автодополнение по клавише `Tab`: 127 | * дополняются имена команд 128 | * дополняются пути 129 | 130 | Используйте автодополнение, так как оно позволяет сократить время на набор команды. 131 | 132 | ## Ключевые команды 133 | 134 | В этом разделе будут описаны ключевые команды, необходимые нам для работы. Естественно, список этот далеко не полный. 135 | 136 | Примечание*: для PowerShell мы будем использовать "короткие" аналоги команд. 137 | 138 | ### Текущий рабочий каталог 139 | 140 | `pwd` — сокращение от Print Working Directory. 141 | 142 | #### Отображение текущего рабочего каталога: 143 | **Bash/Zsh** 144 | ```shell 145 | $ pwd 146 | ``` 147 | **CMD** 148 | ```shell 149 | > cd 150 | ``` 151 | **PowerShell** 152 | ```shell 153 | > pwd 154 | > gl 155 | ``` 156 | 157 | ### Смена рабочего каталога 158 | 159 | `cd` — сокращение от Change Directory. 160 | 161 | #### Переход в определённый каталог: 162 | **Bash/Zsh** 163 | ```shell 164 | $ cd 165 | ``` 166 | **CMD** 167 | ```shell 168 | > cd 169 | ``` 170 | **PowerShell** 171 | ```shell 172 | > cd 173 | ``` 174 | `path` может быть как абсолютынм, так и относительным путём. 175 | 176 | #### Перейти на каталог выше: 177 | **Bash/Zsh** 178 | ```shell 179 | $ cd .. 180 | ``` 181 | **CMD** 182 | ```shell 183 | > cd .. 184 | ``` 185 | **PowerShell** 186 | ```shell 187 | > cd .. 188 | ``` 189 | 190 | #### Перейти в подкаталог `src`: 191 | **Bash/Zsh** 192 | ```shell 193 | $ cd src 194 | ``` 195 | **CMD** 196 | ```shell 197 | > cd src 198 | ``` 199 | **PowerShell** 200 | ```shell 201 | > cd src 202 | ``` 203 | 204 | Если перед путём нет слэша — он трактуется как относительный (относительно текущего каталога). 205 | 206 | ### Листинг каталога 207 | 208 | `ls` — сокращение от List. 209 | 210 | #### Отображение листинга (содержимого каталога): 211 | **Bash/Zsh** 212 | ```shell 213 | $ ls 214 | ``` 215 | **CMD** 216 | ```shell 217 | > dir 218 | ``` 219 | **PowerShell** 220 | ```shell 221 | > ls 222 | > dir 223 | ``` 224 | 225 | По умолчанию, `ls` не отображает файлы, начинающиеся с `.`, например, `.gitignore`. Для отображения таких файлов нужно использовать флаг `-a`: 226 | ```shell 227 | $ ls -a 228 | ``` 229 | 230 | ### Создание файлов 231 | 232 | Для создания файлов используются специальные программы (например, для создания текстовых файлов — текстовые редакторы). 233 | 234 | ### Создание каталогов 235 | 236 | `mkdir` — сокращения от Make Directory. 237 | 238 | Позволяет создавать каталоги (создаст каталог `tmp` в текущем каталоге): 239 | ```shell 240 | $ mkdir tmp 241 | ``` 242 | 243 | В оболочках CMD и PowerShell описанный варианты команды `mkdir` работают аналогичным образом. 244 | 245 | ### Перемещение файлов и каталогов 246 | 247 | `mv` — сокращение от Move. 248 | 249 | #### Перемещение (переименование) файлов и каталогов: 250 | **Bash/Zsh** 251 | ```shell 252 | $ mv tmp temp 253 | ``` 254 | **CMD** 255 | ```shell 256 | > move tmp temp 257 | ``` 258 | **PowerShell** 259 | ```shell 260 | > mv tmp temp 261 | > move tmp temp 262 | ``` 263 | 264 | ### Удаление файлов и каталогов 265 | 266 | `rm` — сокращение от Remove. 267 | 268 | #### Удаление файла: 269 | **Bash/Zsh** 270 | ```shell 271 | $ rm README.txt 272 | ``` 273 | **CMD** 274 | ```shell 275 | > del README.txt 276 | ``` 277 | **PowerShell** 278 | ```shell 279 | > rm README.txt 280 | > del README.txt 281 | ``` 282 | 283 | #### Удаление непустого каталога: 284 | **Bash/Zsh** 285 | ```shell 286 | $ rm -rf temp 287 | ``` 288 | Для удаление непустого каталога необходимо указать флаги: 289 | * `-r` — удалять рекурсивно 290 | * `-f` — не спрашивать подтверждения 291 | 292 | **CMD** 293 | ```shell 294 | > rd /S /Q temp 295 | ``` 296 | Для удаление непустого каталога необходимо указать флаги: 297 | * `/S` — удалять рекурсивно все файлы и подкаталоги 298 | * `/Q` — не спрашивать подтверждения 299 | 300 | **PowerShell** 301 | ```shell 302 | > rm -recurse -force temp 303 | > rd -recurse -force temp 304 | ``` 305 | Для удаление непустого каталога необходимо указать флаги: 306 | * `-recurse` — удалять рекурсивно все файлы и подкаталоги 307 | * `-force` — включая скрытые и доступные только для чтения 308 | 309 | --------------------------------------------------------------------------------