MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Шифроване на база данни:защо и къде трябва да имате криптиране на данни

Криптирането на базата данни осигурява подобрена сигурност за вашите данни в покой и при пренос. Много организации започнаха да гледат сериозно на криптирането на данни с последните случаи на нарушаване на сигурността. В повечето случаи сървърите на бази данни са често срещана цел за нападателите, защото притежават най-ценния актив за повечето организации. След като натрапник получи достъп до ценни данни от вашия сървър, има вероятност да открадне данните от него. След това те използват данните за откуп, експлоатация на данни или други финансови печалби от организацията, която са атакували.

В този блог обсъждаме защо криптирането на база данни е важно и как криптирането на данни играе важна роля за защитата на вашата база данни.

Защо имам нужда от криптиране на база данни?

Криптирането на базата данни е процес за преобразуване на данни в базата данни в „шифрован текст“ (нечетлив текст)  с помощта на алгоритъм. Трябва да използвате ключ, генериран от алгоритъма, за да декриптирате текста. Процесът на криптиране на базата данни е силно препоръчителен, особено за фирми, занимаващи се с финанси, здравеопазване или електронна търговия. Напоследък кибератаки, кражба на данни или пробиви на данни се разпространиха; поради това има нарастваща загриженост относно личните данни. Хората са много наясно с поверителността на данните, сигурността и искат техните данни да бъдат защитени и използвани само когато е необходимо. Следват някои добри предимства от наличието на криптиране на база данни:

Избягвайте атаки срещу сигурността

Атаките за сигурност са неизбежни,  но с по-добра сигурност и методи за криптиране на данни, натрапниците може да не анализират или декриптират, за да разберат допълнително данните при пробив на данни. Да предположим, че атака или подслушване на човек в средата (MITM) се случва по време на архивиране или прехвърляне между сървъри. Ако това е некриптиран трансфер на данни, това определено е изгодно за нападателите; не е ситуация, която искате да имате във вашата среда!

Ако имате криптирана база данни, нападателят трябва да намери начини да декриптира криптираните данни. Докъде биха могли да стигнат зависи от сложността на шифрите и алгоритмите, приложени за генериране на криптирани данни. Освен това нападателите ще направят всичко възможно за достъп до ключовете за криптиране, което ще ги накара да отворят трезора или да декриптират криптираните данни, подобно на добива на злато; в крайна сметка данните са новото злато в наши дни. За да избегнете този вид опити за нарушаване на данни, важно е да защитите инфраструктурата по всички начини, включително ограничаване на достъпа до сървъри, където е възможно.

Спазване на разпоредбите за сигурност

Когато се занимавате с разпоредби за сигурност, като PCI-DSS, криптирането е едно от най-важните изисквания. Това е задължително изискване. Например, всички данни на картодържателите трябва да бъдат или криптирани с помощта на приети от индустрията алгоритми (напр. AES-256, RSA 2048), съкратени, токенизирани или хеширани (одобрени хеш алгоритми, посочени в FIPS 180-4:SHA-1, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 и SHA-512/256). Въпреки че това не е единственото нещо, което трябва да бъде покрито за наличието на криптирани данни, PCI-DSS също изисква покритието за използване на процес за управление на ключ за криптиране PCI-DSS.

Защита на чувствителни данни

Управлението на ключовете за криптиране е идеално за защита на чувствителни данни с централизирано управление на ключове и прости API за криптиране на данни. Примери за това управление на ключове са използването на Hashicorp Vault (с отворен код) или ако използвате публичен облак (затворен код), най-често управлението на ключове със затворен код са Amazon Web Service (AWS) Key Management Service (KMS), Google Cloud KMS, Microsoft Azure Key Vault.

Какво е криптиране на данни?

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

Криптирането на данни е процес на кодиране на данните. Това е основно двупосочна функция, което означава, че криптираните данни трябва да бъдат декриптирани с валиден ключ за криптиране. Криптирането е една такава техника на криптографията. Шифроването е начин за скриване на информация чрез промяната й така, че да изглежда като произволни данни - методите за криптиране могат да направят вашите данни (например съобщения) поверителни, но в същото време са необходими други техники и стратегии за осигуряване на целостта и автентичността на съобщение. Шифроването е по-скоро математическа операция.

При криптирането на база данни има два основни типа, когато става въпрос за криптиране на данните. Тези типове криптиране са данни в състояние на покой и данни в пренос. Да видим какво означават.

Криптиране на данни в покой

Данните, съхранявани в система, са известни като данни в покой. Криптирането на тези данни се състои в използване на алгоритъм за преобразуване на текст или код, така че да бъдат нечетливи. Трябва да имате ключ за криптиране, за да декодирате криптираните данни.

Криптирането на цяла база данни трябва да се извършва с повишено внимание, тъй като може да доведе до сериозно въздействие върху производителността. Следователно е разумно да се криптират само отделни полета или таблици. Криптирането на данни в покой защитава данните от физическа кражба на твърди дискове или неоторизиран достъп до съхранение на файлове. Това криптиране също е в съответствие с разпоредбите за сигурност на данните, особено ако във файловата система се съхраняват финансови или здравни данни.

Шифроване за данни в покой:Къде се прилага?

Това обхваща данни в покой, като например данните на вашата база данни, съхранявани на определено място. Например, местата за съхранение на вашата PostgreSQL data_directory, MySQL/MariaDB data_dir или dbPath на MongoDB. Общият процес за предоставяне на криптиране е използването на прозрачно криптиране на данни (TDE). Концепцията основно е криптиране на всичко, което е постоянно.

Освен това, архивирането на бази данни е много податливо на кражба на данни и неоторизиран достъп. Те се съхраняват физически в енергонезависимо хранилище. Докато тези настройки се държат изложени за четене чрез неоторизиран достъп или кражба на данни, криптирането на данните помага да се избегне нежелан достъп. Разбира се, той също идва с осигуряване на вашите ключове за криптиране някъде скрити и не съхранявани на същия сървър. При шифроване на данните на базата ви данни, съхранявани като двоични файлове, и вашите архивни копия, независимо дали са логически или двоични архиви, имайте предвид, че шифрованите данни влияят на производителността и увеличават размера на файла.

Шифроване на данни при транспортиране

Данните, прехвърлени или преместени между транзакции, са известни като данни в транзит. Данните, които се движат между сървъра и клиента, докато разглеждате уеб страници, са добър пример за този вид данни. Тъй като той винаги е в движение, той трябва да бъде криптиран, за да се избегне кражба или промяна на данните, преди да достигне местоназначението си.

Идеалната ситуация за защита на пренасяните данни е данните да бъдат криптирани, преди да се преместят, и декриптирани, след като достигнат крайната дестинация.

Шифроване за данни по време на пренос:Къде се прилага?

Както е посочено по-горе, това се отнася до комуникационния канал между клиента на базата данни и сървъра на базата данни. Помислете за сървъра на приложения и сървъра на базата данни каналите, които са били компрометирани и нападателят или натрапникът подслушва или извършва MITM атака. Нападателят може да слуша и улавя данните, които се изпращат по несигурен канал. Това може да се избегне, ако данните, изпратени по кабела от комуникационния канал на клиента на базата данни и сървъра на базата данни, са криптирани чрез TLS/SSL криптиране.

Справянето с криптирането на база данни също има много предизвикателства за преодоляване. Въпреки че има предимства, има случаи, че това е недостатък. Нека да разгледаме какви са тези.

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

Ето списъци с често срещани и реални случаи, които търсят криптиране на данни като предимство.

  • Осигурява сигурност за всичките ви данни по всяко време

  • Защитава поверителността и чувствителната информация по всяко време

  • Защитава данните ви на различни устройства

  • Осигурете спазването на държавните регулаторни изисквания

  • Това ви дава предимство като конкурентно предимство

  • Наличието на основна технология за криптиране за защита на данните може да повиши доверието

  • Шифрираните данни поддържат целостта

Недостатъци на криптирането на данни

Криптирането на данни не означава успех в бизнеса. Това не ви дава предимство като нарастваща, иновативна и напреднала технология, без да знаете нейните предизвикателства и най-добри практики за прилагане и справяне с това. Вярно е за поговорката, че „Всичко, което блести, не е злато“. Има някои недостатъци, ако имате криптиране на данни, когато не разбирате основната му цел.

Наказания за криптиране на данни и производителност

Криптирането включва сложни и сложни математически операции за прикриване на значението на данните. В зависимост от това какви типове шифри или алгоритми изберете или за хеширане, или за дешифриране на данните. Сложните и по-високите битове са, че ако вашата база данни е проектирана да обработва тонове заявки, тогава тя ще забие ресурсите ви, особено процесора. Настройването на криптиране на данни като TLS за вашия транспорт или използване на RSA 2048 бита може да бъде твърде много, ако финансовите ви възможности не са наблюдавали този тип последствия. Това е ресурсоемко и добавя допълнителен натиск върху процесора на системата. Въпреки че съвременните изчислителни системи са мощни и са достъпни, особено за публични облачни предложения, могат да бъдат приемливи. Първо подгответе някаква оценка и определете какъв вид въздействие върху производителността ще има криптирането в контекста, в който ще го използвате. Също така е важно да се разбере, че производителността на различните решения за криптиране е различна. Което означава, че необходимостта от скорост и сигурност трябва да бъдат внимателно балансирани една спрямо друга.

Загуба на ключовете за криптиране на данни

Става обичайно да съхранявате ключовете за криптиране в защитен хранилище, както бе споменато по-рано, като Hashicorp Vault, AWS KMS и други. Един основен проблем при наличието на криптиране е, че ако някой загуби ключа за декриптиране, това би означавало големи проблеми. Можете да разберете, че това е почти същото като да имате парола, но се третира като глобален ключ за декриптиране на всички криптирани данни. Не, освен ако нямате различни ключове за криптиране за всеки аспект на вашата база данни, тогава това може да означава много пароли, които трябва да се запомнят и трябва да се пазят сигурно.

Криптирането на данни оказва влияние върху времето за възстановяване

Ако вашите данни в състояние на покой, като например резервни копия, са криптирани, в случай на тотална катастрофа възстановяването с вашето собствено архивно копие може да удвои или утрои времето или дори много повече в зависимост от това как сте задали типа на алгоритъм или шифри. Това добавя натиск всеки път, когато имате нужда вашият клъстер и приложение да работят навреме, но не може поради дешифрирането или декриптирането на данните отнема твърде много време и системни ресурси.

Ограничена защита срещу ниво на приложение или вътрешни атаки

Разбира се, това е разбираемо от същността на наличието на криптиране. Но това не означава, че вече не трябва да криптирате, само защото не прилага защита на нивото на приложението. Разбира се, това е друг слой на сигурност, който трябва да се приложи в слоя на приложението. Определено, ако някой получи достъп до вашата база данни потребител/парола, особено с административен достъп, тогава криптирането не помага тук. Нападателят може да извлече данни, като изпълни серия от SQL заявки, които разбира се са четими от човека, освен ако няма определено ниво на логика на приложението, което криптира истинското значение на вашите данни. От друга страна, това просто добавя допълнителна работа и сложност на цялостната свързана технология, която използвате. Ако имате голям екип, който е определен за всеки от тези слоеве, тогава това е голямо предимство, тъй като управлението на сложността може да бъде посветено само на всяка роля, върху която би трябвало да се съсредоточат.

Сътрудничество и доверие с партньори, които притежават ключовете за криптиране на данни

Определено е добре да разгледате тук. Ами ако партньорът, който знае ключовете и къде са били съхранени, или паролата на вашия хранилище е напуснала? Много е важно да посочите физическия достъп на сървъра, където се съхраняват ключовете и паролите. Определянето на ролята и ограничаването на достъпа до тези ключове и пароли е много важно. Също така помага, ако имате дълга и сложна комбинация от пароли, така че ще бъде трудно да се запомни, но в същото време ще бъде лесно извлечена, когато е необходимо. Въпреки че това звучи иронично, една тайна трябва да остане свещена.

Трябва ли да се интересувам от криптирането на данни?

Криптирането на данни е желателно и често задължително, както беше споменато, в зависимост от схематичния процес и дизайна на вашето приложение и нивото на бизнес, с което сте ангажирани.

Трябва ли да се интересувате от криптиране на данни? Определено да. Появява се и с лична зависимост и бизнес цел. Въпреки това, при наличието на чувствителни данни, особено когато вече сте изградили своя собствена личност и финансов капацитет във вашата организация и компания, всички данни са много на по-високо ниво на чувствителност. Не искате някой да открадне вашите данни и да знае всички стратегически и бизнес неща, свързани с растежа на вашата компания. Данните в този случай трябва да бъдат защитени; по този начин криптирането е съществен аспект от защитата на вашата база данни и самите данни.

Заключение

Тъй като чувствителни данни винаги съществуват дори в личния ни ежедневен живот, обемът на чувствителни и ценни данни се увеличава паралелно в една организация. Важно е да се разбере, че не всички данни изискват криптиране. Определено някои данни се споделят глобално или често се пренасочват; този тип данни не е необходимо да бъдат криптирани. Обърнете внимание на предимствата и недостатъците на използването на криптиране във вашата база данни. Определянето къде ще се прилага и как да го приложите ви помага да постигнете сигурна среда без никакво въздействие върху производителността.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 лесни стъпки, за да започнете с MariaDB и Tableau

  2. Сравняване на Amazon RDS Recovery Point-in-Time с ClusterControl

  3. Най-често срещани проблеми с MHA и как да ги поправите

  4. Как работи NOT RLIKE в MariaDB

  5. Как работи ROUND() в MariaDB