BSDPORTAL.RU
http://bsdportal.ru/

Вопросы по безопасности от новичка :)
http://bsdportal.ru/viewtopic.php?f=23&t=18346
Страница 1 из 1

Автор:  november [ Чт 24 июл, 2008 9:36 am ]
Заголовок сообщения:  Вопросы по безопасности от новичка :)

Помогите разобраться с безопасностью. Я хочу получит ответ на простые вопросы: каким образом может произойти взлом системы, какие программы можно "взломать", как происходит "взлом". Читая разные руководства и рекомендации я сталкиваюсь с протеворечивыми мнениями. То "если вы все делается строго по руководству и используете фаервол то 99% ваш сервер защищен" или обратно "сажайте все программы в клетку или все получат доступ рута к вашему серверу". Я окончательно запутался и теперь не могу понять что безопасно а что нет. Есл у меня на сервере запущены почтовый сервер и POP3 сервер их можно "взломать"? Можно ли "взломав" эти программы получить доступ к руту компьютера?

Автор:  Dimonuch [ Чт 24 июл, 2008 10:21 am ]
Заголовок сообщения: 

Цитата:
каким образом может произойти взлом системы

тысяча и одним способом. Описывать все - получится энциклопедия вроде Британики :) Поверь, полного перечня ты не найдешь, ибо каждый день появляется что-то новое - новые дырки, новые программы (с дырками) и т.д.

Цитата:
какие программы можно "взломать"

в теории - любые. Безопасной на 100% является только незапущенная программа :)

Цитата:
как происходит "взлом"

опять же, это целый трактат. Часто по-разному. Используя уязвимости и дырки, неправильную "идеологию" или недостаточную проверку и т.д.

Цитата:
"если вы все делается строго по руководству и используете фаервол то 99% ваш сервер защищен"

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

Цитата:
"сажайте все программы в клетку или все получат доступ рута к вашему серверу"

абсолютно все программы в клетку не засунешь :) Здоровая параноя это хорошо, нездоровая - плохо.
Клетка позволяет серьезно минимизировать последствия взлома. Но ее содержимое все-равно может постарадать.

Цитата:
Я окончательно запутался и теперь не могу понять что безопасно а что нет.

ничего безопасного не существует. Запомни это как мантру. Безопасен только выключенный компьютер.

Цитата:
Есл у меня на сервере запущены почтовый сервер и POP3 сервер их можно "взломать"? Можно ли "взломав" эти программы получить доступ к руту компьютера?

можно, можно
откуда кто-то это знает? Подумай головой, кто здесь может знает какой именно "POP3 сервер" у тебя запущен? Может самый дырявый из существующих, и при этом от имени root'а запущен. Мы же не гадалки. Ищи списки уязвимостей конкретно твоих программ.
А по-умолчанию считай что да, взломать можно и твоя задача - минимизация последствий.

З.Ы. кнопки "сделать все безопасно" тебе никто не предложит. Если предложат - плюнь таким людям в лицо, тебя дурят. Спасти могут только знания. А не бегание по форумам с вопросами "А у меня POP3 сервер".

Автор:  november [ Чт 24 июл, 2008 10:55 am ]
Заголовок сообщения: 

Я конечно понимаю что описать все нюансы безопасности получиться "энциклопедия Британик". Но я хотел бы разобраться так сказать в основах. Может быть рассмотреть конкретный пример? Вот у меня имеется сервер apache. Проверяем процессы

Код:
#ps -axu | grep httpd
root     1523  9,2  3,8 12948  9652  ??  Ss   14:30     0:00,21 /usr/local/sbin/httpd
www      1531  1,0  3,8 12984  9680  ??  S    14:30     0:00,00 /usr/local/sbin/httpd
www      1527  0,0  3,8 12984  9680  ??  S    14:30     0:00,00 /usr/local/sbin/httpd
www      1528  0,0  3,8 12984  9680  ??  S    14:30     0:00,00 /usr/local/sbin/httpd
www      1529  0,0  3,8 12984  9680  ??  S    14:30     0:00,00 /usr/local/sbin/httpd
www      1530  0,0  3,8 12984  9680  ??  S    14:30     0:00,00 /usr/local/sbin/httpd
root     1533  0,0  0,4  1548   988  p0  R+   14:30     0:00,02 grep httpd


В итоге видим что один процесс apache запущен от имени root все остальные от имени www эта ситуация безопасна с точки зрения безопасности сервера apache? Как получилось так что один процесс запущен от имени рута а все остальные от www?

Автор:  Dimonuch [ Чт 24 июл, 2008 11:05 am ]
Заголовок сообщения: 

твоя проблема в отсутствии знаний. В данном случае о работе Апача. Это (отсутствие знаний) тоже является уязвимостью :)
Цитата:
В итоге видим что один процесс apache запущен от имени root все остальные от имени www эта ситуация безопасна с точки зрения безопасности сервера apache?

нет, эта ситуация не безопасна с точки зрения безопасности Апача. Безопасно будет, если ты выключишь Апач. Я уже выше писал об этом. Все остальное - небезопасно.

Цитата:
Как получилось так что один процесс запущен от имени рута а все остальные от www?

такая вот "идеология" его работы. Запускается один управляющий процесс от рута, а остальные, рабочие, порождаются от непривилегированного пользователя. Клиенты работают с последними. При этом прав у того же пользователя www явно меньше чем у рута, и в случае чего - бед будет меньше.
Только если тебе нагадят в какой-нибудь php-скрипт, запустят его (пусть от имени www), залезут в БД и грохнут там все - имхо тебе будет не так важно, что пользователь был не рут. Или сольют БД с почтовыми адресами клиентов или их паролями.

Автор:  november [ Чт 24 июл, 2008 11:32 am ]
Заголовок сообщения: 

Вот это уже "ближе к телу" как говориться. Спасибо за помощь. Для меня многое стало ясно.

Автор:  Dimonuch [ Чт 24 июл, 2008 11:48 am ]
Заголовок сообщения: 

твоя задача даже не в том, чтобы на 100% закрыть все уязвимости и лазейки, а потом спать спокойно. Это имхо нереально. Моих знаний, к примеру, на такое не хватит :)
Да, закрывать дырки надо. И, естественно, о них надо знать (читать, находить, узнавать).

Задача еще и в том, чтобы минимизировать возможное влияние от взлома (т.е. возможности атакующего) и последствия. Из примера с Апачем выше:

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

А то знаю я один хостинг ... там ВСЕ процессы работают из-под одного пользователя www :D Учитывая теоритическую возможность шариться по диску (по чужим файлам) и найденные недавно "дырки" в этой области, получается стремно хранить пароли от БДшных юзеров в php-скриптах ...

Все описанное выше сильно зависит от конкретной ситуации, на самом деле. Если у тебя Апач тупо раздает статику, то опасен тебе только сам Апач. А он вроде бы уже неплохо вылизан, и шансов залететь не так много.

Автор:  november [ Чт 24 июл, 2008 12:30 pm ]
Заголовок сообщения: 

Ну у мну PHP прикручен как модуль помоему это значит что все скрипты которые выполняет апач исполняются от пользователя www? С паролями в бд не много сложнее у меня там в бд храняться учетные записи для почтового сервера. Почтовый сервер лезит в БД и извлекает оттуда пароли. Мне ни укак не удалось сделать что бы пароли были зашифрованные, если они шивруются например md5 то сервер POP3 потом не может их извлечь :(

Автор:  Dimonuch [ Чт 24 июл, 2008 1:10 pm ]
Заголовок сообщения: 

Цитата:
Ну у мну PHP прикручен как модуль помоему это значит что все скрипты которые выполняет апач исполняются от пользователя www?

да, ты прав. ПХП в твоем случае является как бы частью Апача, неотделимой уже. Это дает некоторые плюсы, но и проблемы появляются. Компромисное решение придется принимать тебе, исходя из конкретной ситуации.

Цитата:
С паролями в бд не много сложнее у меня там в бд храняться учетные записи для почтового сервера.

Ну я говорил о БД для сайтов. Просто как пример. Форум там или еще что. Если у тебя ситуация другая - значит и грабли могут быть другие :)
В любом случае - у почтового сервера должен быть свой пользователь БД и своя БД, в которую (без реальной необходимости) ни у кого другого доступа быть не должно.

Цитата:
Почтовый сервер лезит в БД и извлекает оттуда пароли. Мне ни укак не удалось сделать что бы пароли были зашифрованные, если они шивруются например md5 то сервер POP3 потом не может их извлечь

из md5 пароли никто не сможет извлечь :) Это необратимое шифрование. Весь вопрос в том, как сервер туда лезет и как проверяет пароли. Это уже от конкретной программы зависит. Нужно хотя бы минимизировать возможности доступа к базе с почтовыми аккаунтами.

Автор:  november [ Чт 24 июл, 2008 1:41 pm ]
Заголовок сообщения: 

Спасибо тебе за неоценимую помощь :)

Автор:  vadblm [ Чт 24 июл, 2008 4:22 pm ]
Заголовок сообщения: 

Dimonuch писал(а):
из md5 пароли никто не сможет извлечь :) Это необратимое шифрование.


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

Автор:  Dimonuch [ Чт 24 июл, 2008 4:26 pm ]
Заголовок сообщения: 

Цитата:
тем не менее, брутефорс никто не отменял и он активно используется.

ну ты вырвал мою фразу из контекста и потому она несколько потеряла первоначальный смысл :wink:
брутфорс никто не отменял, но иногда столько не живут.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/