├── .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 | 
40 |
41 | После чего выбрать "Открыть в бесплатной Интернет-версии":
42 |
43 | 
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 | 
34 |
35 |
36 | Для счастливых обладателей Mac
37 |
38 | Если вам повезло и вы пользователь Mac, то для вас готового hashcat в указанном архиве на официальном сайте нет, поэтому вам будет необходимо установить [Homebrew](https://brew.sh). Для этого небоходимо перейти по адресу https://brew.sh выполнить указанную на главной странице команду в терминале:
39 |
40 | 
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 | 
158 |
159 | ### Установка
160 |
161 | #### Windows
162 |
163 | Для пользователей Windows необходимо скачать файл, соответствующий вашей версии ОС и запустить установку:
164 |
165 | 
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 | 
183 |
184 | Выберите Защита и безопасность, нажмите на иконку замка (1) и установите переключатель (2) как на скриншоте:
185 |
186 | 
187 |
188 | Первым необходимо установить OSXFUSE. Затем VeraCrypt.
189 |
190 | ##### Шаг 1: Кликните два раза на иконку установки:
191 |
192 | 
193 |
194 | ##### Шаг 2: Нажмите Продолжить:
195 |
196 | 
197 |
198 | ##### Шаг 3: Пройдите по шагам установщика с помощью кнопки Продолжить до пункта Тип установки:
199 |
200 | 
201 |
202 | ##### Шаг 4. Убедитесь, что в пункте Тип установки у вас установлены флажки как на скриншоте и продолжите установку:
203 |
204 | 
205 |
206 | ##### Шаг 5. При блокировке системного расширения нажмите кнопку Открыть настройки безопасности:
207 |
208 | 
209 |
210 | ##### Шаг 6: Нажмите на иконку замка (1), после чего на кнопку Разрешить (2):
211 |
212 | 
213 |
214 | ##### Шаг 7: Дождитесь завершения установки и перезагрузите компьютер:
215 |
216 | 
217 |
218 | ##### Шаг 8: Запустите на установку VeraCrypt
219 |
220 | 
221 |
222 | ##### Шаг 9: Пройдите по шагам мастера установки, оставляя выбранными все значения по умолчанию:
223 |
224 | 
225 |
226 |
227 |
228 | ### Инструкция
229 |
230 | #### Windows
231 |
232 |
233 | Описание работы с VeraCrypt
234 |
235 | ##### Шаг 1. Запустите исполняемый файл VeraCrypt-x64:
236 |
237 | 
238 |
239 | ##### Шаг 2. Нажмите на кнопку Create Volume:
240 |
241 | 
242 |
243 | ##### Шаг 3. Оставьте выбранной опцию Create an encrypted file container (1) и нажмите Next (2):
244 |
245 | 
246 |
247 | **Важно**: убедитесь, что вы выбрали именно эту опцию, а не другие (поскольку вы можете зашифровать целый раздел своего диска или системный диск).
248 |
249 | ##### Шаг 4. Оставьте выбранной опцию Standard VeraCrypt volume (1) и нажмите Next (2):
250 |
251 | 
252 |
253 | ##### Шаг 5. Нажмите Select File для создания файла-контейнера
254 |
255 | 
256 |
257 | ##### Шаг 6. Выберите файл-контейнер
258 |
259 | 
260 |
261 | Мы выбрали каталог C:\projects, а затем вручную в поле имя файла ввели имя container.
262 |
263 | **Важно**: не выбирайте существующие файлы с данными! VeraCrypt перетрёт данные (не зашифрует, а именно перетрёт).
264 |
265 | ##### Шаг 7. Нажмите Next
266 |
267 | 
268 |
269 | ##### Шаг 8. Оставьте опции по умолчанию: AES (1) и SHA-512 (2) и нажмите кнопку Next (3):
270 |
271 | 
272 |
273 | ##### Шаг 9. Установите размер контейнера равным 5 MB (1) и нажмите на кнопку Next (2):
274 |
275 | 
276 |
277 | ##### Шаг 10. Введите пароль (1) и его подтверждение (2) и нажмите на кнопку Next (3):
278 |
279 | 
280 |
281 | Используйте сложный пароль: как минимум 20 символов (не забудьте его сохранить).
282 |
283 | Обратите внимание: VeraCrypt предупредит вас при попытке использовать простой пароль:
284 |
285 | 
286 |
287 | ##### Шаг 11. Перемещайте указатель мыши внутри окна пока индикатор Randomness (1) не станет зелёным, после чего нажмите на кнопку Format (2):
288 |
289 | 
290 |
291 | ##### Шаг 12. Завершите создание контейнера, нажав на кнопку Ok:
292 |
293 | 
294 |
295 | ##### Шаг 13. Вернитесь в основное окно программы, выберите незанятую букву диска (1), например, V:, выберите файл-контейнера (2) и нажмите на кнопку Mount (3):
296 |
297 | 
298 |
299 | ##### Шаг 14. Введите пароль (1) для контейнера (надеемся вы его не забыли) нажмите на кнопку ОК (2):
300 |
301 | 
302 |
303 | ##### Шаг 15. Убедитесь, что диск примонтировался
304 |
305 | 
306 |
307 | ##### Шаг 16. Создайте на диске текстовый файл, содержащий вашу фамилию:
308 |
309 | 
310 |
311 | ##### Шаг 17. Размонтируйте диск с помощью кнопки Dismount:
312 |
313 | 
314 |
315 | ##### Шаг 18. Повторите процедуру монтирования, чтобы убедиться, что сохранённые вами данные читаются
316 |
317 |
318 |
319 | #### Linux
320 |
321 | Для Linux процедура полностью аналогична за исключением ряда отличий.
322 |
323 |
324 | Описание отличий по работе с VeraCrypt
325 |
326 | В основном окне у вас будут показываться не диски, а Slot'ы:
327 |
328 | 
329 |
330 | А каталог, в которой примонтируется контейнер будет отображаться в столбце Mount Directory:
331 |
332 | 
333 |
334 |
335 |
336 | #### Mac
337 |
338 | Для Mac процедура полностью аналогична за исключением ряда отличий.
339 |
340 |
341 | Описание отличий по работе с VeraCrypt
342 |
343 | В основном окне у вас будут показываться не диски, а Slot'ы:
344 |
345 | 
346 |
347 | А каталог, в которой примонтируется контейнер будет отображаться в столбце Mount Directory:
348 |
349 | 
350 |
351 |
352 |
353 | ### Результаты
354 |
355 | Отправьте контейнер и пароль к нему в ЛК пользователя:
356 |
357 | 
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 | 
43 |
44 | ##### Шаг 1. После чего запустите его на установку и нажмите на кнопку Далее:
45 |
46 | 
47 |
48 | ##### Шаг 2. Оставьте значение по умолчанию (Install from Internet) и нажмите на кнопку Далее:
49 |
50 | 
51 |
52 | ##### Шаг 3. Оставьте значения по умолчанию и нажмите на кнопку Далее:
53 |
54 | 
55 |
56 | ##### Шаг 4. Оставьте значения по умолчанию и нажмите на кнопку Далее:
57 |
58 | 
59 |
60 | ##### Шаг 5. Оставьте значения по умолчанию и нажмите на кнопку Далее:
61 |
62 | 
63 |
64 | ##### Шаг 6. Выберите любой сервер из списка и нажмите на кнопку Далее:
65 |
66 | 
67 |
68 | ##### Шаг 7. Оставьте значения по умолчанию и нажмите на кнопку Далее:
69 |
70 | 
71 |
72 | ##### Шаг 8. Оставьте значения по умолчанию и нажмите на кнопку Готово:
73 |
74 | 
75 |
76 | ##### Шаг 9. Откройте Cygwin Terminal через иконку на Рабочем Столе:
77 |
78 | 
79 |
80 | ##### Шаг 10. Введите команду `openssl version` (можете продолжать работу):
81 |
82 | 
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 | 
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 | 
207 |
208 | ##### Шаг 1. После чего запустите его на установку и нажмите на кнопку Далее:
209 |
210 | 
211 |
212 | ##### Шаг 2. Оставьте значение по умолчанию (Install from Internet) и нажмите на кнопку Далее:
213 |
214 | 
215 |
216 | ##### Шаг 3. Оставьте значения по умолчанию и нажмите на кнопку Далее (выберите тот же каталог, что и в ДЗ к предыдущей лекции):
217 |
218 | 
219 |
220 | ##### Шаг 4. Оставьте значения по умолчанию и нажмите на кнопку Далее (выберите тот же каталог, что и в ДЗ к предыдущей лекции):
221 |
222 | 
223 |
224 | ##### Шаг 5. Оставьте значения по умолчанию и нажмите на кнопку Далее:
225 |
226 | 
227 |
228 | ##### Шаг 6. Выберите любой сервер из списка и нажмите на кнопку Далее:
229 |
230 | 
231 |
232 | ##### Шаг 7. Для View выберите Full (1), в поле поиска введите gnupg2 (2) и в столбце New выберите самую последнюю версию вместо значения Skip (3) и нажмите на кнопку Далее:
233 |
234 | 
235 |
236 | ##### Шаг 8. Подтвердите изменения, нажав на кнопку Далее:
237 |
238 | 
239 |
240 | ##### Шаг 9. Откройте Cygwin Terminal через иконку на Рабочем Столе:
241 |
242 | 
243 |
244 | ##### Шаг 10. Введите команду `gpg2 --version` (можете продолжать работу):
245 |
246 | 
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 | 
313 |
314 | После чего вас попросят ввести passphrase для защиты ключа.
315 |
316 | #### Шаг 2. Просмотр ключей
317 |
318 | ```shell script
319 | gpg --list-keys
320 | # либо в коротком формате:
321 | gpg -k
322 | ```
323 |
324 | Удостоверьтесь, что то, что вы сгенерировали на предыдущем шаге, есть в списке:
325 |
326 | 
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 | 
347 |
348 | #### Шаг 4. Проверка подписи (ложное сообщение)
349 |
350 | Создайте текстовый файл `modified.txt` и измените в нём дату на вчерашнюю.
351 |
352 | Удостоверьтесь, что проверка подписи теперь не проходит:
353 |
354 | ```shell script
355 | gpg --verify message.sig modified.txt
356 | ```
357 |
358 | 
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 | 
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 | 
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 | 
33 |
34 | Возможность эта предоставляется бесплатно, но необходимо будет заполнить ряд сведений о себе (персональных данных):
35 | 
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 | 
48 |
49 | 
50 |
51 |
52 | ### Mac
53 |
54 | В Mac всё немного сложнее, необходимо настроить отображение этого пункта меню в Finder.
55 |
56 | Для этого необходимо перейти в `Системные настройки`, затем пункт меню `Клавиатура`, в разделе `Службы` выбрать раздел `Файлы и папки` и поставить флажок напротив `Новый терминал по адресу папки`:
57 |
58 | 
59 |
60 | 
61 |
62 |
63 | После чего при клике правой кнопкой мыши на каталоге появится необходимый пункт меню:
64 |
65 | 
66 |
67 | ### Windows (Git Bash)
68 |
69 | В Windows всё достаточно просто, кликаете правой кнопкой мыши на каталоге и выбираете `Git Bash Here`:
70 |
71 | 
72 |
73 | ### Windows (CMD/PowerShell)
74 |
75 | Если нужно открыть CMD/PowerShell, то при нажатой клавшие `Shift` кликаете правой кнопкой мыши на каталоге и выбираете `Оpen command window here` или `Open PowerShell window here` (в русскоязычной версии они должны называться `Открыть окно команд здесь` и `Открыть окно PowerShell здесь` соответственно):
76 |
77 | 
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 |
--------------------------------------------------------------------------------