
2011 рдХреЗ рдЕрдВрдд рдореЗрдВ, dkim-milter рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕
рдиреЗ рдЗрд╕рдХреЗ рд╕рдорд░реНрдерди рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЛ
рд░реЛрдХ рджрд┐рдпрд╛ ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, OpenDKIM dkim-milter
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдИрдореЗрд▓ рдореЗрдВ
DKIM рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬреЛрдбрд╝рдирд╛ рдЙрддрдирд╛ рд╣реА рдЖрд╕рд╛рди рд╣реИред
tl; dr: рдЖрдЬрдХрд▓, DKIM рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рдмрд┐рдирд╛рдПрдХ рдбреАрдХреЗрдЖрдИрдПрдо рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реИ рдЬреЛ рдкреНрд░реЗрд╖рдХ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджреЗрд╢ рд╣реЗрдбрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╕рд░реНрд╡рд░ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдХрд╛ рдкреНрд░реЗрд╖рдХ рд╕рдВрджреЗрд╢ рд╣реЗрдбрд░ рдореЗрдВ рд╕реЗ рдлрд╝реАрд▓реНрдб рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрд╛ рд╕рд░реНрд╡рд░ рдЗрд╕ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рд░реНрд╡рд░ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ: рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рд╕реНрдкреИрдо рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рднреЗрдЬреЗрдВ, рдЗрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рднреЗрдЬреЗрдВ рдпрд╛ рд░рд┐рд╕реЗрдкреНрд╢рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдордирд╛ рдХрд░ рджреЗрдВред DKIM рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдФрд░ рд╕реНрд╡рдпрдВ рд╕рднреА рдкреНрд░рдореБрдЦ рдИрдореЗрд▓ рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ Yandex рдФрд░ Mail.ru рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рдЦреБрд▓реЗ рддреМрд░ рдкрд░ DKIM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрддреНрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред Postfix рдФрд░ OpenDKIM рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ
рдкреЛрд╕реНрдЯрдлрд╝рд┐рдХреНрд╕ рд╕реНрд╡рдпрдВ рдФрд░
OpenDKIM рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
aptitude install opendkim opendkim-tools
рдЕрдм рд╣рдореЗрдВ рдЙрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдкрддреНрд░реЛрдВ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА
рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдорд┐рд▓реЗрдЧреА, рдбреЛрдореЗрди рдХреЗ рдмрд┐рдирд╛ рд╕рд░реНрд╡рд░ рдХреЗ рдирд╛рдо рдХреЗ рдмрд░рд╛рдмрд░, рддрд╛рдХрд┐ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рди рдХрд░реЗрдВ:
mkdir /etc/opendkim/ opendkim-genkey -D /etc/opendkim/ -d $(hostname -d) -s $(hostname)
рдпрджрд┐ рдпрд╣
mail.example.com
рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рдХреНрд░рдорд╢рдГ рдЧреБрдкреНрдд рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде
/etc/opendkim/mail.private
рдФрд░
/etc/opendkim/mail.txt
ред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА
рдХреЛ рдЖрдкрдХреЗ рдбреЛрдореЗрди
рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд TXT рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрд┐рд╕ рдлрд╛рдЗрд▓ рдореЗрдВ OpenDKIM рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд░реАрдб рдПрдХреНрд╕реЗрд╕ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЙрд╕реА рд╕рдореВрд╣ рдореЗрдВ рдкреЛрд╕реНрдЯрдлрд╝рд┐рдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡рд╣ рдЕрдкрдиреЗ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ OpenDKIM рдбреЗрдорди рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЕрдХреНрд╖рд░реЛрдВ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХреЗ:
chgrp opendkim /etc/opendkim/* chmod g+r /etc/opendkim/* gpasswd -a postfix opendkim
рдЪрд╛рдмрд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд╣рд╛рдВ рдХрд░реЗрдВ?
/etc/opendkim.conf
рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ, рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝реЗрдВ:
tee -a /etc/opendkim.conf <<EOF Canonicalization relaxed/relaxed SyslogSuccess yes KeyTable file:/etc/opendkim/keytable SigningTable file:/etc/opendkim/signingtable X-Header yes
рд╕рднреА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рд╕реНрддреГрдд
рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рджрд╕реНрддрд╛рд╡реЗрдЬ рджреЗрдЦреЗрдВред
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛?
рд╣рдо "
::///
" рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдлрд╝рд╛рдЗрд▓
/etc/opendkim/keytable
рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдиреЗ рдКрдкрд░ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХреБрдВрдЬреА рдмрдирд╛рдИ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ FQDN рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдВрдЬреА рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
echo $(hostname -f | sed s/\\./._domainkey./) $(hostname -d):$(hostname):$(ls /etc/opendkim/*.private) | tee -a /etc/opendkim/keytable
mail.example.com
, рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдпрд╣ рд░реЗрдЦрд╛ рд╣реЛрдЧреА:
mail._domainkey.example.com example.com:mail:/etc/opendkim/mail.private
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдХреБрдВрдЬреА рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ - рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЕрдзрд┐рдХред
рдХрд┐рд╕рдХреЗ рдореЗрд▓ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдирд╛ рд╣реИ?
рдЕрдм рд╣рдо OpenDKIM рдХреЛ рд╕рдордЭрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдбреЛрдореЗрди рдореЗрд▓ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде
/etc/opendkim/signingtable
рдХреЛ "
-
" рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдХрд░рдирд╛ рд╣реИ:
echo $(hostname -d) $(hostname -f | sed s/\\./._domainkey./) | tee -a /etc/opendkim/signingtable
рд╣реЛрд╕реНрдЯ
mail.example.com
, рдлрд╝рд╛рдЗрд▓
example.com mail._domainkey.example.com
рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рд╕рднреА рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдореЗрд▓ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдбреЛрдореЗрди рдХреЗ рдмрдЬрд╛рдп
*
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
ExternalIgnoreList
рдФрд░
InternalHosts
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╕ рдПрдХ рдирдИ рд▓рд╛рдЗрди рдкрд░ рдореЗрдЬрдмрд╛рдиреЛрдВ рдФрд░ / рдпрд╛ рдЖрдИрдкреА рдкрддреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдкрддреНрд░реЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдпрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рд░реНрд╡рд░ рдореЗрд▓ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдкреЛрд╕реНрдЯрдлрд╝рд┐рдХреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдЕрдВрдд рдореЗрдВ, рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рд╕реЗ рд╕рднреА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ:
postconf -e milter_default_action=accept postconf -e milter_protocol=2 postconf -e smtpd_milters=unix:/var/run/opendkim/opendkim.sock postconf -e non_smtpd_milters=unix:/var/run/opendkim/opendkim.sock
рдЕрдЧрд░ рдЪрд┐рд░реЛрдЯ рдореЗрдВ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ ...
рдпрджрд┐ рдЖрдк рдЪреЗрд░реЛрдЯ рдХреЗ рдмрд┐рдирд╛ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдиреНрдпрдерд╛, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХреЛ OpenDKIM рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдПрдХ рд╕реЙрдХреЗрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдЕрдзрд┐рдХрд╛рд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП:
echo 'SOCKET="local:/var/spool/postfix/var/run/opendkim/opendkim.sock"' | tee -a /etc/default/opendkim mkdir -p /var/spool/postfix/var/run/opendkim chown opendkim:opendkim /var/spool/postfix/var/run/opendkim
рд╣реЛ рдЧрдпрд╛!
рд╣рдо рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ Postfix рдФрд░ OpenDKIM рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛рдВрдбреЗрдХреНрд╕ рдХреЛ
рдХрд╣реАрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг
рдкрддреНрд░ рднреЗрдЬрддреЗ рд╣реИрдВ, рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рдлрд▓ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрддреЗ рд╣реИрдВ:
TXT рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ рдХрд┐ рдпрд╣ рдЬрдЧрд╣ рдореЗрдВ рд╣реИ:
dig txt mail._domainkey.example.com
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЖрдк
check-auth@verifier.port25.com
рдПрдХ рдИрдореЗрд▓ рднреЗрдЬреЗрдВред
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рдмрд┐рдирд╛ рдЗрдирдХрд╛рд░ рдкрддреНрд░
рдпрджрд┐ рд╕рддреНрдпрд╛рдкрди рд╕рдлрд▓ рд░рд╣рд╛, рддреЛ рдЖрдкрдХреЗ рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдкрддреНрд░реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдЕрдиреНрдп рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рдмрд┐рдирд╛,
рдПрдбреАрдПрд╕рдкреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рдирд╛:
_adsp._domainkey IN TXT "dkim=all"
рдЕрдВрдд
рдЕрдВрдд рддрдХ рдкрдврд╝реЗрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
OpenDKIM рдХреЛ рдПрдХ рдбреЛрдореЗрди рдФрд░ рдПрдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЗ рд╕рд╛рде
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдмрд╣реБрдд рдХрдо рдирд┐рд░реНрджреЗрд╢ ред