My name is Vasyl Khrystiuk‎ > ‎process‎ > ‎main‎ > ‎

1. Intro - о чем вообще речь

Структура цикла:
  1. Intro - о чем вообще речь
  2. Risks in web-apps
  3. Java app security - что ява предлагает из коробки для защиты приложений
  4. j2ee webapp security - что ява предлагает из коробки для защиты веб приложений
  5. Auth and auth flow, remember me, access managers models(role-based, unix fs ownership based, vote-based)
  6. custom auth framework
  7. spring security and friends

О чем вообще речь - безопасность


Для того, чтоб понять, что такие безопасность, пожалуй обратимся к википедии:
Безопа́сность — многозначное понятие, характеризующее в первую очередь защищённость и низкий уровень риска для человека, общества или любых других субъектов, объектов или их систем.

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

    Но прежде чем перейти к такой специализированной теме, хотелось бы напомнить некоторые базовые принцыпи безопасности.  Первый, и пожалуй один из самых важных из принцыпов называется "эффект слабого звена": 
общая степень защищенности системы определяется уровнем безопасности, который обеспечивает самый слабый узел защиты

    Компьютерные системы существуют уже больше 50 лет. Средства защиты этих систем развивались вместе с самими системами, и на сегодня мы имеем очень большую как теоретическую базу, так и набор готовых решений для защиты компьютерных систем и информации. Все эти средства можно грубо поделить на две категории: техничесские и административные. Почему административные? Самым слабым звеном компьютерных систем внезапно, как было, так и остается человек. Его привычки. Поведение. Лень. Халатность. Это - самое слабое звено. Это настолько актуально, что я даже размещу смешную картинку об этом(или даже две):
http://xkcd.com/538/   totally not a virus trust me i'm a dolphin

    
    Есть целая наука о том, как использовать это звено - "Социальная Инженерия", или ,сокращено, "СИ".
    Так как человек является частью компьютерных систем(создателем/администратором/пользователем), их безопасность зависит в том числе от как действий человека так и от его безопасности. 
    Так же нужно понимать о физической безопасности. Можно как угодно защищать сервер файрволами, но нельзя исключать, что ночью никто не залезет в помещение с флешкой и нагло не скопирует все данные. Могут даже украсть сервер(были прецеденты, не могу найти).

    Но не все так плохо. Например корпорации знают об этих рисках. Корпорации проводят тренинги персонала. Существуют административные методы влияния на людей. На курсах компьютерной безопасности в университетах об административных методах обеспечения безопасности говорят не меньше чем о техничесских(знаю из личного опыта). Об этом существуем много хороших книг, и я рекомендую прочитать хотя бы одну из них. Можно открыть много интерестного как о себе, так и о людях вокруг. (На крайний случай можно прочеть статью на википедии: информационная безопасность)

    На этом мое вступление заканчивается и дальше я буду говорить об вполне конкретной теме: обеспечение безопасности при создании веб-приложений на Java.








Comments