Lupo Alberto: ...а я не такой настойчивый. До завтра.
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Red Hat Linux, Fedora, CentOS → Dovecot - втупил ли я
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Lupo Alberto: ...а я не такой настойчивый. До завтра.
что в этой девушке тебе не понравилось?
Всё понравилось, но всему своё место и время — у меня рядом ребёнок бегает, да и жене приходится объяснять, что я посещаю именно технический ресурс.
К черту парольную защиту и шифрацию,
В русском языке нет слова шифрация. Есть слова шифрование, расшифровывание и зашифровывание. Вы, наверное, его с кастрацией спутали?
Подводя черту под вышесказанным:
1. AlfaStriker решил свою проблему самостоятельно, а так же поделился своими личными предпочтениями)))
2. drBatty гипотетически "поделился" с нами своим root паролем.
3. Cruiser78 и drBatty пришли к некоему консенсусу в части обсуждаемого вопроса.
4. Настроенная у меня SASL авторизация мягко говоря неэффективна.
Возникает ряд вопросов: (применительно к связке сервер - клиенты в одной локальной сети + возможность клиентам забирать(проверять) свою почту извне а также и отсылать извне через имеющейся сервер)
1. Что необходимо для более менее безопасной организации описанной связки (как я понял TLS(шифрование трафика) так же не гарант)
2. Подпись сообщений
3. Использование соли
Буду при много благодарен за разъяснения
Всё понравилось, но всему своё место и время — у меня рядом ребёнок бегает, да и жене приходится объяснять, что я посещаю именно технический ресурс.
у мну тоже бегает. да и жена не против. Это же картинка 
Соль не может и не должна быть постоянной. Соль должна быть исключительно случайным значением. Тогда она сыграет свою рояль. Иное - иллюзия.
ну... как не странно, соль хоть и случайная величина, но она таки постоянная. Уж извините, но таковы факты.
Мы сознательно переходим от проблемы надежной аутентификации на сервере (каких либо приложений) к проблеме защиты почтовых сообщений?
прочитайте Subject данной темы. Мы ваще-то начинали с почты. И переход к какой-то левой аутентификации === переход к сиськам.
Совершенно нет. Неправильно. Нет там, в этой схеме никаких криптографических (за исключением вычисления хэша, который не слишком криптография, так как нет там секрета) алгоритмов, никаких сертификатов (я понимаю этот термин исключительно в рамках ассиметричной криптографии, в рамках ЭЦП и всего, что на этой базе построено). Соль этого алгоритма - в передаче клиенту _случайной_ соли, случайного значения, синхронного вычисления клиентом (хеша пароля, хеша конкатенации случайной соли и хэша пароля) и сервером (хеша конкатенации случайной соли и хэша пароля, хранящегося на сервере) и равнения на сервере того, что вычислил клиент с тем, что вычислил сервер. При этом ни пароли, ни их хэши по сети не передаются, передаются только случайные (каждый раз новые) значения. Кстати, это алгоритм аутентификации в сетях NovellNetware.
случайный пароль во первых передаётся при соединении по SSL/TLS, во вторых он НЕ называется "солью". Не нужно переносить существующий термин на другие вещи. Это как называть вертолётом пиво.
Сиси vs попа
Что рулит?
э... одно без другого не рулит 
2. drBatty гипотетически "поделился" с нами своим root паролем.
вы таки в своём уме?
У мну есть утилита mkpassword, которая генерит случайный пароль. С вами поделиться?
3. Cruiser78 и drBatty пришли к некоему консенсусу в части обсуждаемого вопроса.
неа
1. Что необходимо для более менее безопасной организации описанной связки (как я понял TLS(шифрование трафика) так же не гарант)
2. Подпись сообщений
3. Использование соли
А что вы понимаете под понятием "безопасное"? Какие существуют риски и опасности в вашей сети?
С этого надо начинать, а не с некой "соли".
та не, мы с неё и начали.
Та не, тема изначально посвящена парольной защите почтового сервера. И совершенно не касалась защиты почтовых сообщений. Я и писал про аспекты именно парольной защиты. И мое резюме такое - что вход на сервер по плайн-паролю, что по какому-то дайджесту от этого пароля - всё одинаково небезопасно при угрозе прослушивания нарушителем трафика. Если эта угороза для нас незначима, то можно применять любой из методов.
Это первое.
Второе: Не следует разрешать своим юзерам использовать сторонние почтовые сервисы непосредственно с их рабочего места. Если есть нужда им с такими сервисами работать, то следует на нашем почтаре настроить fetchmail и забирать оттуда почту, так как на нашем сервере настроена антивирусная защита. .
Та не, тема изначально посвящена парольной защите почтового сервера. И совершенно не касалась защиты почтовых сообщений. Я и писал про аспекты именно парольной защиты. И мое резюме такое - что вход на сервер по плайн-паролю, что по какому-то дайджесту от этого пароля - всё одинаково небезопасно при угрозе прослушивания нарушителем трафика. Если эта угороза для нас незначима, то можно применять любой из методов.
не совсем так. Защита по паролю и по дайджесту пароля уязвима от атак, связанных с подменой сервера. Например от атаки человек посередине
От такой атаки помогает SSL/TLS соединение, если сервер и клиент имеют сертификаты, которые подписаны какой-то третьей стороной, которой доверяют как сервер, так и клиент.
Второе: Не следует разрешать своим юзерам использовать сторонние почтовые сервисы непосредственно с их рабочего места.
ну в этом случае также есть смысл использовать TLS, причём сертификат можно подписать самостоятельно. Очевидно, что клиентов с таким сертификатом на чужие сервера попросту не пустят. Правда практически любой клиент УЖЕ имеет в своём составе многие сертификаты, которые позволяют ему соединяться с gmail, yandex mail, mail.ru и прочими почтовыми сервисами.
Если есть нужда им с такими сервисами работать, то следует на нашем почтаре настроить fetchmail и забирать оттуда почту, так как на нашем сервере настроена антивирусная защита. .
на вашем - возможно
а на нашем никаких антивирусов не было, нет, и не будет.
а на нашем никаких антивирусов не было, нет, и не будет.
Интересны аргументы в пользу такого выбора.
вы таки в своём уме?
У мну есть утилита mkpassword, которая генерит случайный пароль. С вами поделиться?
Стоило в конце фразы добавить смайл дабы дать понять что это шутка
По поводу mkpassword - был бы не против и полный инструктаж по использованию
А что вы понимаете под понятием "безопасное"? Какие существуют риски и опасности в вашей сети?
С этого надо начинать, а не с некой "соли".
Меня больше всего смущает использование клиентами почты организации в нее стен - наверное самый острый момент.
Ну а соль - заинтересовался ее применением после вашего диспута.
Интересны аргументы в пользу такого выбора.
не нужен.
зачем термоядерный реактор в велосипеде?
По поводу mkpassword - был бы не против и полный инструктаж по использованию
#!/bin/sh
# \
exec expect -- "$0" ${1+"$@"}
# mkpasswd - make a password, if username given, set it.
# Author: Don Libes, NIST
# defaults
set length 9
set minnum 2
set minlower 2
set minupper 2
set minspecial 1
set verbose 0
set distribute 0
if {[file executable /bin/nispasswd]} {
set defaultprog /bin/nispasswd
} elseif {[file executable /bin/yppasswd]} {
set defaultprog /bin/yppasswd
} elseif {[file executable /bin/passwd]} {
set defaultprog /bin/passwd
} else {
set defaultprog passwd
}
set prog $defaultprog
while {[llength $argv]>0} {
set flag [lindex $argv 0]
switch -- $flag \
"-l" {
set length [lindex $argv 1]
set argv [lrange $argv 2 end]
} "-d" {
set minnum [lindex $argv 1]
set argv [lrange $argv 2 end]
} "-c" {
set minlower [lindex $argv 1]
set argv [lrange $argv 2 end]
} "-C" {
set minupper [lindex $argv 1]
set argv [lrange $argv 2 end]
} "-s" {
set minspecial [lindex $argv 1]
set argv [lrange $argv 2 end]
} "-v" {
set verbose 1
set argv [lrange $argv 1 end]
} "-p" {
set prog [lindex $argv 1]
set argv [lrange $argv 2 end]
} "-2" {
set distribute 1
set argv [lrange $argv 1 end]
} default {
set user [lindex $argv 0]
set argv [lrange $argv 1 end]
break
}
}
if {[llength $argv]} {
puts "usage: mkpasswd \[args] \[user]"
puts " where arguments are:"
puts " -l # (length of password, default = $length)"
puts " -d # (min # of digits, default = $minnum)"
puts " -c # (min # of lowercase chars, default = $minlower)"
puts " -C # (min # of uppercase chars, default = $minupper)"
puts " -s # (min # of special chars, default = $minspecial)"
puts " -v (verbose, show passwd interaction)"
puts " -p prog (program to set password, default = $defaultprog)"
exit 1
}
if {$minnum + $minlower + $minupper + $minspecial > $length} {
puts "impossible to generate $length-character password\
with $minnum numbers, $minlower lowercase letters,\
$minupper uppercase letters and\
$minspecial special characters."
exit 1
}
# if there is any underspecification, use additional lowercase letters
set minlower [expr {$length - ($minnum + $minupper + $minspecial)}]
set lpass "" ;# password chars typed by left hand
set rpass "" ;# password chars typed by right hand
# insert char into password at a random position, thereby spreading
# the different kinds of characters throughout the password
proc insert {pvar char} {
upvar $pvar p
set p [linsert $p [rand [expr {(1+[llength $p])}]] $char]
}
proc rand {m} {
expr {int($m*rand())}
}
# choose left or right starting hand
set initially_left [set isleft [rand 2]]
# given a size, distribute between left and right hands
# taking into account where we left off
proc psplit {max lvar rvar} {
upvar $lvar left $rvar right
global isleft
if {$isleft} {
set right [expr $max/2]
set left [expr $max-$right]
set isleft [expr !($max%2)]
} else {
set left [expr $max/2]
set right [expr $max-$left]
set isleft [expr $max%2]
}
}
if {$distribute} {
set lkeys {q w e r t a s d f g z x c v b}
set rkeys {y u i o p h j k l n m}
set lnums {1 2 3 4 5 6}
set rnums {7 8 9 0}
set lspec {! @ # \$ %}
set rspec {^ & * ( ) - = _ + [ ] "{" "}" \\ | ; : ' \" < > , . ? /}
} else {
set lkeys {a b c d e f g h i j k l m n o p q r s t u v w x y z}
set rkeys {a b c d e f g h i j k l m n o p q r s t u v w x y z}
set lnums {0 1 2 3 4 5 6 7 8 9}
set rnums {0 1 2 3 4 5 6 7 8 9}
set lspec {! @ # \$ % ~ ^ & * ( ) - = _ + [ ] "{" "}" \\ | ; : ' \" < > , . ? /}
set rspec {! @ # \$ % ~ ^ & * ( ) - = _ + [ ] "{" "}" \\ | ; : ' \" < > , . ? /}
}
set lkeys_length [llength $lkeys]
set rkeys_length [llength $rkeys]
set lnums_length [llength $lnums]
set rnums_length [llength $rnums]
set lspec_length [llength $lspec]
set rspec_length [llength $rspec]
psplit $minnum left right
for {set i 0} {$i<$left} {incr i} {
insert lpass [lindex $lnums [rand $lnums_length]]
}
for {set i 0} {$i<$right} {incr i} {
insert rpass [lindex $rnums [rand $rnums_length]]
}
psplit $minlower left right
for {set i 0} {$i<$left} {incr i} {
insert lpass [lindex $lkeys [rand $lkeys_length]]
}
for {set i 0} {$i<$right} {incr i} {
insert rpass [lindex $rkeys [rand $rkeys_length]]
}
psplit $minupper left right
for {set i 0} {$i<$left} {incr i} {
insert lpass [string toupper [lindex $lkeys [rand $lkeys_length]]]
}
for {set i 0} {$i<$right} {incr i} {
insert rpass [string toupper [lindex $rkeys [rand $rkeys_length]]]
}
psplit $minspecial left right
for {set i 0} {$i<$left} {incr i} {
insert lpass [lindex $lspec [rand $lspec_length]]
}
for {set i 0} {$i<$right} {incr i} {
insert rpass [lindex $rspec [rand $rspec_length]]
}
# merge results together
foreach l $lpass r $rpass {
if {$initially_left} {
append password $l $r
} else {
append password $r $l
}
}
if {[info exists user]} {
if {!$verbose} {
log_user 0
}
spawn $prog $user
expect {
"assword*:" {
# some systems say "Password (again):"
send "$password\r"
exp_continue
}
}
# if user isn't watching, check status
if {!$verbose} {
if {[lindex [wait] 3]} {
puts -nonewline "$expect_out(buffer)"
exit 1
}
}
if {$verbose} {
puts -nonewline "password for $user is "
}
}
puts "$password"
Меня больше всего смущает использование клиентами почты организации в нее стен - наверное самый острый момент.
запретите.
запретите.
Для страждущих организовать пересылку на внешние источники ?
Так, а как этим скриптом пользоваться ? Точнее принцип работы интересен (Смайл чайника)
Для страждущих организовать пересылку на внешние источники ?
ну это зависит от вашей фантазии.
Так, а как этим скриптом пользоваться ? Точнее принцип работы интересен (Смайл чайника)
принцип? генерируется N случайных символов, в соответствии с общепринятыми рекомендациями. Для работы программы нужен expect
http://ru.wikipedia.org/wiki/Expect
Это на самом деле демка, показывающая возможности expect'а.
Это на самом деле демка, показывающая возможности expect'а.
Я и подумал, зачем так сложно? Можно же и проще, в одну строку...
Я и подумал, зачем так сложно? Можно же и проще, в одну строку...
можно конечно. Вот только для любого хакера (и даже простого админа) необходим expect, а mkpasswd идёт с ним в комплекте.
и да, "простой" скрипт на bash будет не такой уж и простой, на самом-то деле...
принцип? генерируется N случайных символов, в соответствии с общепринятыми рекомендациями. Для работы программы нужен expect
http://ru.wikipedia.org/wiki/Expect
Это на самом деле демка, показывающая возможности expect'а.
Просто генератор паролей получается ?
>Просто генератор паролей получается ?
да. А вы что хотели?
да. А вы что хотели?
да нет, все нормально. Спасибо большое
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Red Hat Linux, Fedora, CentOS → Dovecot - втупил ли я
Форум работает на PunBB, при поддержке Informer Technologies, Inc