diff --git a/docs/en/modules/arch/pages/architecture/security/secure-design-principles.adoc b/docs/en/modules/arch/pages/architecture/security/secure-design-principles.adoc index bed2dd9674..84dd4d1a46 100644 --- a/docs/en/modules/arch/pages/architecture/security/secure-design-principles.adoc +++ b/docs/en/modules/arch/pages/architecture/security/secure-design-principles.adoc @@ -1,3 +1,125 @@ = Secure design principles +include::platform:ROOT:partial$templates/document-attributes/arch-set-en.adoc[] -CAUTION: The page is under development. +include::platform:ROOT:partial$admonitions/language-en.adoc[] + +== Minimise attack surface area: + +//Цей принцип передбачає зменшення площини атак, тобто зниження кількості можливих місць, через які можливий злом системи або додатка. Це досягається шляхом обмеження функцій, служб і привілеїв до необхідного мінімуму, щоб знизити ризики зовнішніх атак та зломів. +This principle involves reducing the attack surface, i.e. reducing the number of possible entry points for system or application breaches. This is achieved by limiting the functions, services, and privileges to the minimum necessary to reduce the risks of external attacks and breaches. +//// +- [ ] Перевірити, чи тільки необхідні служби та порти відкриті на серверах. +- [ ] Вимкнути або деактивувати зайві або непотрібні функції та сервіси. +- [ ] Перевірити та обмежити доступ до даних та функцій тільки для авторизованих користувачів. +//// +- [ ] Verify that only necessary services and ports are open on the servers. +- [ ] Turn off or deactivate unnecessary or unused functions and services. +- [ ] Review and limit access to data and functions only to authorized users. + +== Establish secure defaults: + +//Цей принцип передбачає встановлення безпечних налаштувань та параметрів за замовчуванням для системи або додатка. Це допомагає уникнути небезпечних або слабких налаштувань, які можуть стати вразливістьми, які використовуються зловмисниками. +This principle involves setting secure default settings and parameters for the system or application. This helps to avoid dangerous or weak settings that can become vulnerabilities and be exploited by attackers. +//// +- [ ] Перевірити, що всі налаштування за замовчуванням є безпечними та не створюють потенційних ризиків. +- [ ] Відключити або заборонити всі ненадійні функції або послуги за замовчуванням. +- [ ] Застосувати сильні паролі та налаштування шифрування за замовчуванням. +//// + +- [ ] Verify that all default settings are secure and do not create potential risks. +- [ ] Disable or prohibit all unreliable default functions or services. +- [ ] Apply strong passwords and default encryption settings. + +== The principle of Least privilege: + +//Цей принцип передбачає те, що кожен користувач або компонент системи повинен мати доступ лише до необхідних ресурсів та прав. Забезпечення лише обмеженого доступу, необхідного для виконання своїх обов'язків, допомагає зменшити ризик несанкціонованого доступу і розповсюдження даних. +This principle involves ensuring that each user or system component has access only to the necessary resources and rights. Providing only limited access that is necessary to perform one's duties helps to reduce the risk of unauthorized access and data leakage. +//// +- [ ] Перевірити та обмежити привілеї користувачів та компонент системи тільки до тих даних та операцій, які вони повинні мати доступ. +- [ ] Визначити рівні доступу для різних користувачів та груп користувачів з урахуванням їхніх обов'язків та ролей. +- [ ] Обмеження прав доступу повинно бути реалізовано на основі потреби, а не за замовчуванням. +//// +- [ ] Review and limit user and system component privileges only to the data and operations that they must have access to. +- [ ] Define access levels for different users and user groups according to their duties and roles. +- [ ] Access rights should be limited based on need, not by default. + +== The principle of Defence in depth: + +//Цей принцип передбачає застосування кількох шарів захисту на різних рівнях інформаційної системи. Шляхом використання різноманітних контролів та заходів безпеки, які доповнюють один одного, забезпечується більший рівень безпеки та опіки над інформацією. +This principle involves applying multiple layers of protection at different levels of the information system. By using various security controls and measures that complement each other, a higher level of security and protection of information is ensured. +//// +- [ ] Встановити брандмауери та фільтри, щоб контролювати вхідний та вихідний трафік. +- [ ] Використовувати механізми шифрування для захисту даних під час передачі та зберігання. +- [ ] Застосувати системи виявлення та захисту від вторгнень (IDS/IPS) для реагування на вразливості та атаки. +//// +- [ ] Install firewalls and filters to control inbound and outbound traffic. +- [ ] Use encryption mechanisms to protect data during transmission and storage. +- [ ] Apply intrusion detection and protection systems (IDS/IPS) to respond to vulnerabilities and attacks. + +== Fail securely: + +//Цей принцип передбачає правильну обробку помилок та непередбачених ситуацій в програмному забезпеченні. При виникненні помилок або відмов система повинна бути спроектована таким чином, щоб забезпечити безпечне відновлення та відновлення роботи без витоку інформації. +This principle involves proper handling of errors and unexpected situations in software. In the event of errors or system failure, the system should be designed to ensure safe recovery and resumption of operation without leaking information. +//// +- [ ] Забезпечити правильну обробку та відображення помилок на клієнтській стороні без розкриття конфіденційної інформації. +- [ ] Записувати деталі помилок у логи на сервері для подальшого аналізу та виправлення. +- [ ] Встановити механізми виявлення та автоматичного відновлення системи після непередбачених помилок. +//// +- [ ] Ensure proper handling and display of errors on the client side without disclosing confidential information. +- [ ] Record error details in logs on the server for further analysis and correction. +- [ ] Install mechanisms for detecting and automatically restoring the system after unexpected errors. + +== Don’t trust services: + +//Цей принцип вказує на те, що додатки і системи не повинні довіряти зовнішнім сервісам і джерелам даних без перевірки. Потрібно передбачати механізми перевірки достовірності інформації, що надходить від зовнішніх джерел. +This principle indicates that applications and systems should not trust external services and data sources without verification. Mechanisms for verifying the authenticity of information from external sources must be provided. +//// +- [ ] Перевірити дані, що надходять від зовнішніх сервісів, на валідність та правильність. +- [ ] Застосувати механізми перевірки достовірності та автентифікації до кожного зовнішнього сервісу. +//// +- [ ] Verify the validity and correctness of external service data. +- [ ] Apply mechanisms for verifying the authenticity and authentication of each external service. + +== Separation of duties: + +//Цей принцип передбачає розподіл повноважень між різними особами чи ролями в організації. Це допомагає уникнути конфлікту інтересів та недобросовісних дій, забезпечуючи контроль і збалансованість в доступі до ресурсів. +This principle involves distributing authority among different individuals or roles in an organization. This helps to avoid conflicts of interest and malicious actions, providing control and balance in access to resources. +//// +- [ ] Визначити різні ролі та обов'язки в системі та забезпечити, щоб кожна роль виконувала лише свої функції. +- [ ] Обмежити можливість одночасного виконання конфліктуючих обов'язків однією особою або роллю. +//// +- [ ] Define different roles and responsibilities in the system and ensure that each role only performs its functions. +- [ ] Limit the possibility of one person or role executing conflicting responsibilities simultaneously. + +== Avoid security by obscurity: + +//Цей принцип застерігає від залежності безпеки системи або додатка від того, що деталі їхньої реалізації є прихованими або неявними. Замість цього, потрібно покладатися на відкриті та встановлені методи захисту. +This principle warns against depending on the security of a system or application based on implementation details that are hidden or implicit. Instead, we should rely on established and open methods of protection. +//// +- [ ] Застосовувати стандартні та відкриті криптографічні алгоритми та протоколи. +- [ ] Не приховувати деталі реалізації системи або механізмів безпеки від команди розробників та тестувальників. +//// +- [ ] Apply standard and open cryptographic algorithms and protocols. +- [ ] Do not hide implementation details of the system or security mechanisms from the development and testing team. + +== Keep security simple: + +//Цей принцип підкреслює важливість простоти та зрозумілості механізмів безпеки. Складні системи та рішення часто призводять до помилок і вразливостей, тому краще використовувати прості та ефективні методи. +This principle emphasizes the importance of simplicity and clarity of security mechanisms. Complex systems and solutions often lead to errors and vulnerabilities, so it is better to use simple and effective methods. +//// +- [ ] Використовувати прості та зрозумілі методи захисту та шифрування. +- [ ] Не дублювати складні та заплутані механізми безпеки, які можуть стати джерелом помилок. +//// +- [ ] Use simple and clear security protection and encryption methods. +- [ ] Avoid duplicating complex and convoluted security mechanisms that could be a source of errors. + +== Audit and Monitoring: + +//Запровадження механізмів аудиту та моніторингу, які дозволяють виявляти і реагувати на події безпеки, включаючи незвичайні активності та спроби злому. +Implementing audit and monitoring mechanisms that allow for detection and response to security events, including unusual activities and hacking attempts. +//// +- [ ] Запровадження механізмів аудиту та моніторингу для виявлення та реагування на події безпеки. +- [ ] Виявлення незвичайних активностей та спроб злому. +//// +- [ ] Implementation of audit and monitoring mechanisms to detect and respond to security events. +- [ ] Detection of unusual activities and hacking attempts. \ No newline at end of file diff --git a/docs/ua/modules/arch/pages/architecture/security/secure-design-principles.adoc b/docs/ua/modules/arch/pages/architecture/security/secure-design-principles.adoc index 53f706890d..6a234373c4 100644 --- a/docs/ua/modules/arch/pages/architecture/security/secure-design-principles.adoc +++ b/docs/ua/modules/arch/pages/architecture/security/secure-design-principles.adoc @@ -1,4 +1,7 @@ = Принципи Безпечного Дизайну +include::platform:ROOT:partial$templates/document-attributes/arch-set-ua.adoc[] + +include::platform:ROOT:partial$admonitions/language-ua.adoc[] == Мінімізація площини атак (Minimise attack surface area):