Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lectures.docx
Скачиваний:
57
Добавлен:
10.12.2018
Размер:
1.24 Mб
Скачать

Спеціальні питання проектування

  • Аутентифікація

  • Авторизація

  • Кешування

  • Мережева взаємодія

  • Управління конфігурацією

  • Управління виключеннями

  • Протоколювання

  • Управління станом

Аутентифікація

Проектування ефективної стратегії аутентифікації має велике значення з точ- ки зору забезпечення безпеки і надійності застосування, інакше, воно буде уразливим для атак з підробкою пакетів, атак перебором по словнику, пере- хопленням сеансів і інших типів атак.

  • Визначте межі довіри і проводьте аутентифікацію користувачів і ви- кликів на межах довіри. Може знадобитися аутентифицировать виклики, як клієнта, так і сервера(взаємна аутентифікація).

  • Забезпечте використання надійних паролів або парольних фраз.

  • За наявності безлічі систем у рамках застосування, або якщо користу- вачі повинні мати можливість доступу до багатьох застосувань, викорис- товуючи одні і ті ж облікові дані, застосовуйте стратегію єдиної реєстра- ції.

  • Паролі не повинні передаватися і зберігатися у відкритому виді. Бере- жіть хеш пароля.

Авторизація

Авторизації захищає від розголошування відомостей, ушкодження або підро- бки даних і несанкціонованого отримання прав.

  • Визначте межі довіри і проводьте авторизацію користувачів і викликів на межах довіри.

  • Захистіть ресурси, проводячи авторизацію зухвалої сторони на підставі її посвідчення, груп або ролей. Забезпечте мінімальне дроблення, по мож- ливості обмежуючи кількість використовуваних ролей.

  • При авторизації на підставі ролей усі користувачі розподіляються по групах(ролям), що дозволяє задавати права доступу для ролі, а не для ко- жного користувача окремо. Це спрощує управління, оскільки адміністра- торові доводиться працювати лише з невеликим набором ролей, а не з усіма користувачами системи.

Кешування

Кешування може поліпшити продуктивність і час відгуку додатку. Поперед- нє асинхронне завантаження в кеш часто використовуваних даних або засто- сування пакетної обробки допоможуть уникнути затримок на стороні клієнта. При проектуванні стратегії кешування керуйтеся наступними рекомендація- ми:

  • Виберіть відповідне розміщення для кеша.

  • При роботі з кешем в пам'яті застосовуйте кешування даних в готовому до використання виді. Наприклад, кэшируйте не просто необроблені ці ба- зи даних, а використайте спеціалізовані об'єкти необхідні застосуванню.

  • Не кешуйте дані, що часто змінюються, і незашифровані конфіденційні дані.

  • Не покладайтеся на кешовані дані, вони можуть бути видалені. Реалі- зуйте механізм обробки збоїв кеша, можливо, шляхом повторного заван- таження елементу з джерела.

  • У разі використання безлічі потоків для забезпечення несуперечності даних переконаєтеся, що будь-який доступ до кеша являється потокобезо- пасным.

Мережева взаємодія

При проектуванні стратегії зв'язку керуйтеся наступними рекомендаціями:

  • Використайте взаємодію за допомогою обміну повідомленнями при перетині фізичних меж або меж процесу; і взаємодія об'єктів усередині процесу(при перетині тільки логічних меж).

  • Якщо порядок отримання повідомлень не має значення, і повідомлення не залежать один від одного, використайте асинхронну взаємодію. Це до- поможе уникнути блокування обробки або потоків UI.

  • Використайте механізм Message Queuing, що забезпечує розміщення повідомлень у чергу для їх відкладеної доставки у разі збою системи або розриву підключення. Message Queuing може здійснювати транзакційну доставку повідомлень і підтримує гарантовану одноразову доставку.

  • Вибирайте відповідний транспортний протокол, такий як HTTP для зв'язку через Інтернет і TCP для зв'язку по внутрішній мережі. Продумай- те відповідні схеми обміну повідомленнями, то, чи будете ви використати взаємодію зі встановленням підключення або без встановлення підклю- чення, підтримку гарантій надійності(такі як угоди на рівні сервісу) і ме- ханізм аутентифікації.

  • Забезпечте захист повідомлень і конфіденційних даних при передачі, використовуючи шифрування, цифрові сертифікати і функції безпеки ка- налів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]