Страница 1 из 1

безопасность паролей

Добавлено: 2008-07-08 0:36:42
ProFTP
есть таблица акканутов! многие программы зашифровывают пароли по разному, proftp и постфик!
есть веб интрфейс который записывает в таблицу данные из формы, формирует все в ней, дальше запускаеться скрипт который смотрит изменния или новые аккануты и заносит данные в программы, как сделать нормально чтобы пароли не узнали??

если proftp будет передавать локально пароли mysql серверу из локалхоста, его можно узнать?

аккаунты пользователей хэширую md5
md5 говорят, можно разшифровать, я нашел в гугле много вариантов...

достаточно вот такого при запросе, чтобы инъекции не было в mysql!

Код: Выделить всё

    $sth->execute("$sd"); 
скорее всего нужно чтобы не ломанули mysql, ну и пароли тоже... есть смысл mysql сервер или клиент поставить в jail? или поставить клиент только? :fool:

еще появилась идея смотреть в сторону openldap, но времени займет много...

как тут сделать чтобы свинарник не изобретать??

Re: безопасность паролей

Добавлено: 2008-07-08 1:13:45
ProFTP
еще хотел спросить, как деньги передвать и хранить очень безопасно, никто не видел может статью?

Re: безопасность паролей

Добавлено: 2008-07-08 5:01:35
zg
если работа с деньгами, то https обязательно, никакого http!

Re: безопасность паролей

Добавлено: 2008-07-08 5:14:24
paradox_
ескейп mysql запросов нужно делать
что бы вам иньекцию не сделали = ))

Re: безопасность паролей

Добавлено: 2008-07-08 5:18:27
zg
ProFTP писал(а):скорее всего нужно чтобы не ломанули mysql, ну и пароли тоже... есть смысл mysql сервер или клиент поставить в jail? или поставить клиент только? :fool:
нет, поскольку она и так должна висеть на локалхосте, это своего рода тоже jail.

Для того, чтобы не ломанули mysql достаточно грамотно составлять запросы и экранировать, экранировать и экранировать...
ProFTP писал(а): $sth->execute("$sd");
во-первых, это будет работать только с prepare, во-вторых удручают кавычки, это говорит о недостаточном уровне понимания перла, в третьих без знания технологий инъекций и приёмов взлома безопасный проект не написать. Помимо инъекций есть ещё XSS с подменой формы логирования.
ProFTP писал(а): как сделать нормально чтобы пароли не узнали?
исключить инъекции в sql, html, perl. Не знаю почему, но любители перла, почему-то обыно нелюбители следить за переменными, особенно при выводе в html, это ошибка за которую можно поплатиться. Если опыта мало и сервис закрытый, то сажай за апачевскую авторизацию, это исключит нежелательных лиц со стороны вебмодры на 99%, далее уже можешь свою админку пихать. И вести лог ошибок с указанием времени и адреса клиента, взлом всегда отчётливо видно по таким логам.

Re: безопасность паролей

Добавлено: 2008-07-08 22:35:16
ProFTP
мне еще сказали что лучше сгенерировать пароль сиволами [a-zA-Z0-9] в 10 строк, и в хэш 24 бит или 32бит, тогда не расшифруют, хотя в гугле поискал и там форумчане расшифровывали/переберали хэши в которых сложные пароли 5-7 символов!!

тут главное чтобы в базу не зашли, а пароль можно и не шифровать (условно)! Хэш все равно наверное любой разшируют, даже если запустить на 32 процессорном компютере засшифровщик md5 inside

http://forum.xakep.ru/m_1024319/tm.htm
http://passcracking.ru/index.php

Код: Выделить всё

use PerlIO::via::MD5;
 PerlIO::via::MD5->method( 'hexdigest' ); # default, return 32 hex digits
 PerlIO::via::MD5->method( 'digest' );    # return 16-byte binary value
 PerlIO::via::MD5->method( 'b64digest' ); # return 22-byte base64 (MIME) value
 open( my $in,'<:via(MD5)','file' )
  or die "Can't open file for digesting: $!\n";
 my $digest = <$in>;

Код: Выделить всё

 $method = PerlIO::via::MD5->method;  # obtain current setting
 PerlIO::via::MD5->method( $method ); # set new digest method

тут лучше всего openldap, но я уже почти закончил для mysql :cry: :cry: прейдеться потом переделывать, а то уже писать надоело :drinks:

Re: безопасность паролей

Добавлено: 2008-07-08 22:37:37
Alex Keda
ProFTP писал(а):сложные пароли 5-7 символов!!
давно они сложными стали?

Re: безопасность паролей

Добавлено: 2008-07-08 22:38:18
ProFTP
всмысле?

Re: безопасность паролей

Добавлено: 2008-07-08 22:39:36
ProFTP

Код: Выделить всё

#!/usr/local/bin/perl
                            
    use Digest::MD5::Reverse;
    print "Data is ".reverse_md5("7fa8282ad93047a4d6fe6111c93b308asdf")."\n"; #хэш я изменил, поставьте свой
    # Data is foo
вот так можно разшифровать! парjль допустим: iii0000

если на много усложненныйто, срадобает тайм-аут в скрипте.... вообще-то расшифровать можно все равно наверное :"":