á€áá±á¬ááºážáá«ážááẠáá±ááºáá®áá±ážááºáá¬áá¬ááᯠáááºááá¯á·áááºáá±á¬ááºááá¯á¶á¡ááŒá±á¬ááºážááŒá
áºáááºá
Postfix + Dovecot á SPF + DKIM + rDNS á IPv6 ááŒáá·áº
TSL áá¯ááºááŸááºá
áá
áºááŒáá·áºá ááá¯ááááºážáá»á¬ážá
áœá¬á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŒáá·áº - á
á
áºááŸááºáá±á¬ SSL áááºááŸááºááŒáá·áº á¡ááá¯ááºážá
Antispam áá¬ááœááºáá±ážááŸáá·áº á¡ááŒá¬ážáá±ážááºáá¬áá¬áá»á¬ážá០ááŒáá·áºáá¬ážáá±á¬ antispam á¡ááá·áºáááºááŸááºáá»ááºááŒáá·áºá
áá¯ááºááá¯ááºážááá¯ááºáᬠá¡ááºáá¬áá±á·á
áºáá»á¬ážá
áœá¬ááᯠáá¶á·ááá¯ážáá±ážáááºá
OpenVPN ááŒáá·áºá IPv4 ááŸáááá·áºáá»áááºáááºááŒá®áž IPv6 ááá¯áá±á¬ááºáá¶á·áá±ážáááºá
áááºááẠá€áááºážááá¬á¡á¬ážáá¯á¶ážááᯠááá±á·áá¬áá»ááºáá±á¬áºáááºáž ááá¯ááá¯á·áá±á¬áá¬áá¬ááᯠá áá áºááá·áºááœááºážááá¯áá«áá á€áá±á¬ááºážáá«ážááẠááá·áºá¡ááœááºááŒá áºáááºá
áá±á¬ááºážáá«ážááẠá¡á
á
á¡áá¬áᬠá¡áá±ážá
áááºááŸááºážááŒááẠáááŒáá¯ážá
á¬ážáá«á ááŸááºážáááºážáá»ááºááẠá
á¶á¡ááŒá
áºáááºááŸááºáá¬ážááŒááºážááá¯ááºáá±á¬ ááá¯á·ááá¯áẠá
á¬ážáá¯á¶ážáá°áá¡ááŒááºá០á¡áá±ážááŒá®ážáá«áááºá
áá±ážááºáá¬áá¬áá
áºáᯠáááºáá±á¬ááºááẠá
á±á·áá±á¬áºááŸá¯ááẠáá»áœááºá¯ááºá áá¬áááŸááºááŒá¬ á¡áááºáááºáá
áºáá¯ááŒá
áºáááºá áá«á ááá¯ááºáá²áááºááá¯á·áááºááá±ááá·áº áá¬ááŸáááºáž ááá¯ááºáá«áá°ážá áááºážá¡ááŒáá¯ááºáá¯á¶ážá¡ááŸááºáá¶ááááºá áá¬ážá¡áá
áºáá
áºá
á®ážááᯠá¡áááºáááºáááºáá¬ááẠááá¯áá±á¬ááºážáá«áááºá
IPv6 ááᯠá áá áºááá·áºááœááºážááẠááŸá¯á¶á·áá±á¬áºááŸá¯ ááŸá áºáá¯ááŸááááºá á¡áá¯ááºáá®áá»áœááºážáá»ááºáá°áá áºáŠážááẠááŸááºáááºáááºá¡ááœáẠáááºážááá¬á¡áá áºáá»á¬ážááᯠá¡áááºáááŒááºáá±á·áá¬ááẠááá¯á¡ááºáááºá áááºáá¬ááŒááºáá±á¬ááºááŸá¯ááᯠááá¯ááºáá»ááºáá¬ááŸá¬ áá»áá¯ážááœá¶á áœá¬ áá«áááºáá°áá®áá»ááºáá«áááºá
OpenVPN á
ááœáá·áºáááºááŸááºááŒááºážá¡ááœáẠá
á±á·áá±á¬áºááŸá¯ááẠááŒááºááœááºážá
ááºááœáẠIPv6 á¡áá¯ááºáá¯ááºáá±á¬ááºáááºáá¬ááŒá
áºáááºá
áá¯ááºááá¯ááºážááá¯ááºáá¬á¡ááºáá¬áá±á·á
áºáá»á¬ážá
áœá¬ááᯠáááºáá±á¬ááºááŒááºážá¡ááœáẠá
á±á·áá±á¬áºááŸá¯ááŸá¬ áá»áœááºá¯ááºááá¬áá¬ááœáẠâááŸá±ážááœá±ážáá±á¬áºáááºáž á¡ááá·áºá¡áááºáááŸáâ ááŸáá·áº á¡ááŒá¬áž âááŒááºáá±á¬áºáááºáž á¡áá±á¬ááºááœááºáá²á·â á¡ááºáá¬áá±á·á
áºáá
áºáá¯ááŸááááºá
Bind áááºáááºáá»á¬ážááᯠáááºááŸááºááŒááºážá¡ááœáẠá á±á·áá±á¬áºááŸá¯ááŸá¬ áá»áœááºá¯ááºá ISP ááẠááááºáááŒáááºááŒá áºáá±áá±á¬ DNS áá¬áá¬ááᯠáá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áºááŒá áºááŒá®áž google áááºáááºáž áá áºáá«áá áºáá¶ááœáẠáá»ááºááœááºááœá¬ážááŒááºážááŒá áºáá«áááºá ááá¯ááºáá±ážááá¯ááºáá¬á¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáááºááŒáááºáá±á¬ DNS áá¬áá¬ááᯠááá¯áá»ááºáá«áááºá
áá±á¬ááºážáá«ážáá áºáá¯ááºáá±ážááẠááœááºážá¡á¬áž - ááœááºáá²á·ááá·áº 10 áááá·áºá áá°ááŒááºážáá áºá á±á¬ááºáá±ážáá²á·ááŒá®áž ááŸá áºááŒáááºááŒáá·áºáá°ážáááºá á á¬áá±ážáá°á áá¯á¶ááŸááºááá¯á¡ááºáá±áááºáá±á¬áẠá¡ááŒá¬ážáá°ááœá±áááºáž ááá¯á¡ááºááá·áº ááŒá áºááá¯ááºááŒá± ááŒáá·áºáá¬ážáá«áááºá
áá±ážááºáá¬áá¬á¡ááœáẠuniversal solution áááŸááá«á áá«áá±ááá·áº "áá«ááá¯áá¯ááºáá«á á¡á¬ážáá¯á¶ážá¡áááºááŒá±áá²á·á¡áá«á á¡ááá¯áá á¹á ááºážááœá±ááá¯áá¯ááºáá áºáá«á"
áá¯áá¹ááá® tech.ru ááœáẠColocation server áá áºáá¯ááŸááááºá OVHá Hetznerá AWS ááá¯á·ááŸáá·áº ááŸáá¯ááºážááŸááºááá¯ááºáááºá á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠtech.ru ááŸáá·áº áá°ážáá±á«ááºážáá±á¬ááºááœááºááŸá¯ááẠááá¯ááá¯áááá±á¬ááºáááºááŒá áºáááºá
Debian 9 ááᯠáá¬áá¬ááœáẠááá·áºááœááºážáá¬ážáááºá
áá¬áá¬ááœáẠ`eno2` ááŸáá·áº `eno1` á¡ááºáá¬áá±á·á Ạ2 áá¯ááŸááááºá ááááá áºáá¯ááẠá¡ááá·áºá¡áááºáááŸáá áá¯áááááẠááŒááºáááºá
`eno3` á¡ááºáá¬áá±á·á áºááœáẠáááºááŒáááºáá±á¬ IP ááááºá ᬠ0 áá¯á XX.XX.XX.X1 ááŸáá·áº XX.XX.XX.X2 ááŸáá·áº XX.XX.XX.X1 ááŸáá·áº `eno5` á¡ááºáá¬áá±á·á áºááœáẠXX.XX.XX.X2 ááŸáááẠ.
áááŸáááá¯ááºáá±á¬ XXXX:XXXX:XXXX:XXXX::/64 `eno6` á¡ááºáá¬áá±á·á áºááœáẠáááºááŸááºáá±ážáá¬ážáá±á¬ IPv1 ááááºá á¬áá»á¬ážáá±á«ááºážááŒá®áž áááºážá០XXXX:XXXX:XXXX:XXXX:1:2:/96 ááᯠáá»áœááºá¯ááºáá±á¬ááºážááá¯áá»ááºá¡á `eno2` ááá¯á· áá¬áááºáá±ážá¡ááºáá²á·áááºá
`domain3.com`á `domain1.com`á `domain2.com` ááá¯ááááºáž á áᯠááŸááá«áááºá `domain3.com` ááŸáá·áº `domain1.com` á¡ááœáẠSSL áááºááŸááºáá áºáᯠááŸááá«áááºá
áá»áœááºá¯ááºááœáẠáá»áœááºá¯ááºáá
á¬ááá¯ááºáá¯á¶ážááᯠááá·áºááºáá»áááºááá¯áá±á¬ Google á¡áá±á¬áá·áºáá
áºáá¯ááŸááááºá[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]`(áá±ážááºáááºáá¶ááŒááºážááŸáá·áº gmail áá»ááºááŸá¬ááŒááºá០ááá¯ááºááá¯ááºá
á¬ááá¯á·ááŒááºáž)á
á
á¬ááá¯ááºáá¯á¶ážááŸáááááºá[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]`áá»áœááºá¯ááºá gmail ááœáẠáá»áœááºá¯ááºááŒáá·áºááá¯áá±á¬ á¡á®ážáá±ážááºáááá¹áá°á ááŒá®ážáá±á¬á· ááá¯ááºá
á¬áž áá
áºáá¯áᯠááá¯á·ááá¯ááºáᬠááŸá¬ážáá«áááºá[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]`áááºá¡ááºáá¬áá±á·á
áºááŸáááá·áºá
á á¬ááá¯ááºáá¯á¶ážááŸáááááºá[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]Ivanov ááẠáááºážá iPhone á០á¡áá¯á¶ážááŒá¯ááá·áºá
áá±ážááá¯á·áá¬ážáá±á¬ á¡á®ážáá±ážááºáá»á¬ážááẠáá±ááºáá® ááá·áºáá»ááºá
ááẠááá¯á¡ááºáá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááá¯ááºáá¬ááá«áááºá
á¡áá»á¬ážáá°ááŸá¬ ááœááºáááºáá»á¬ážááœáẠáá±ážáá¬ážááá·áº áá¯ááºááŸááºááŒááºáž á¡ááá·áºá¡ááŒáá·áºáá¯á¶áž ááŸáááá«áááºá
á
á¬ááá¯á·ááŒááºážááŸáá·áº áááºáá¶ááŒááºážááŸá
áºáá»áá¯ážá
áá¯á¶ážá¡ááœáẠIPv6 áá¶á·ááá¯ážááŸá¯ ááŸáááá·áºáááºá
á¡á®ážáá±ážááºááœá±ááᯠáááºáá±á¬á·á០áá»ááºáá
áºááá·áº SpamAssassin ááŸáááá·áºáá«áááºá ááŒá®ážáá±á¬á· IMAP âSpamâ ááá¯ááºááœá²ááá¯á· áá¯ááºáááºáá¬ááẠááá¯á·ááá¯áẠáá»á±á¬áºááœá¬ážááẠááá¯á·ááá¯áẠáá±ážááá¯á·áááºááŒá
áºáááºá
SpamAssassin á¡ááá¯á¡áá»á±á¬áẠáááºáá°ááŸá¯ááᯠá
á®á
ááºáááºááŸááºáá¬ážááááº- áá»áœááºá¯ááºááẠá
á¬áá
áºá
á±á¬ááºááᯠSpam ááá¯ááºááœá²ááá¯á· ááœáŸá±á·áá«á áááºážá០áááºáá°áááºááŒá
áºáááºá Spam ááá¯áá«á០á
á¬áá
áºá
á±á¬ááºááᯠááœáŸá±á·áá«áá áááºážá០áááºáá°áá«áááºá SpamAssassin áá±á·áá»áá·áºááŸá¯áááááºáá»á¬ážááẠá
á¬ááᯠSpam ááá¯ááºááœá²ááœáẠá¡áá¯á¶ážáááºááŒááºážááŸááááŸá ááœáŸááºážááá¯ážááŸá¯ááŸáááá·áºáááºá
PHP scripts áá»á¬ážááẠáá±ážáá¬ážáá±á¬ server áá±á«áºááŸá áááºááá·áºááá¯ááááºážáááá¯ááºá
á¬áž mail áá±ážááá¯á·ááá¯ááºááá«áááºá
IPv6 áááŸááá±á¬ client ááœáẠIPv6 ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á
áœááºážáááºááŸáá·áºá¡áá° openvpn áááºáá±á¬ááºááŸá¯áá
áºáᯠááŸáááá·áºáááºá
áŠážá
áœá¬ IPv6 á¡áá«á¡ááẠinterfaces ááŸáá·áº routing ááᯠconfigure áá¯ááºáááºááá¯á¡ááºáá«áááºá
ááá¯á·áá±á¬áẠIPv4 ááŸáá
áºááá·áº áá»áááºáááºáᬠáá¯á¶ážá
áœá²áá°á¡á¬áž static-real IPv6 ááááºá
á¬ááᯠáá±ážáá±á¬ááºááá·áº OpenVPN ááᯠáááºáááºááŸááºááẠááá¯á¡ááºáááºááŒá
áºáááºá á€áááá¯ááºážááá·áºááẠáá¬áá¬áá±á«áºááŸá IPv6 áááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºááŒá®áž á¡ááºáá¬áááºáá±á«áºááŸá áááºááá·áº IPv6 á¡áááºážá¡ááŒá
áºáá»á¬ážááá¯áááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááºááŒá
áºáááºá
ááá¯á·áá±á¬áẠá
á¬áá»á¬ážáá±ážááá¯á·ááẠPostfix + SPF + DKIM + rDNS ááŸáá·áº á¡ááŒá¬ážá¡áá¬ážáá° á¡áá¬áááºáá»á¬ážááᯠáá±ážááá¯á·ááẠááá¯á¡ááºáá«áááºá
ááá¯á·áá±á¬áẠDovecot ááᯠconfigure ááŒá®áž Multidomain ááᯠconfigure áá¯ááºááẠááá¯á¡ááºáá«áááºá
ááá¯á·áá±á¬áẠSpamAssassin ááᯠconfigure áá¯ááºááŒá®áž áá±á·áá»áá·áºááŸá¯ááᯠconfigure áá¯ááºááẠááá¯á¡ááºáá«áááºá
áá±á¬ááºáá¯á¶ážááœáẠBind ááᯠinstall áá¯ááºáá«á
============= Multi-interfaces =============
á¡ááºáá¬áá±á·á áºáá»á¬ážááᯠconfigure áá¯ááºáááºá áááºááẠáááºážááᯠâ/etc/network/interfacesâ ááœáẠáá±ážáááºááá¯á¡ááºáááºá
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eno1
iface eno1 inet static
address XX.XX.XX.X0/24
gateway XX.XX.XX.1
dns-nameservers 127.0.0.1 213.248.1.6
post-up ip route add XX.XX.XX.0/24 dev eno1 src XX.XX.XX.X0 table eno1t
post-up ip route add default via XX.XX.XX.1 table eno1t
post-up ip rule add table eno1t from XX.XX.XX.X0
post-up ip rule add table eno1t to XX.XX.XX.X0
auto eno1:1
iface eno1:1 inet static
address XX.XX.XX.X1
netmask 255.255.255.0
post-up ip rule add table eno1t from XX.XX.XX.X1
post-up ip rule add table eno1t to XX.XX.XX.X1
post-up ip route add 10.8.0.0/24 dev tun0 src XX.XX.XX.X1 table eno1t
post-down ip route del 10.8.0.0/24 dev tun0 src XX.XX.XX.X1 table eno1t
auto eno1:2
iface eno1:2 inet static
address XX.XX.XX.X2
netmask 255.255.255.0
post-up ip rule add table eno1t from XX.XX.XX.X2
post-up ip rule add table eno1t to XX.XX.XX.X2
iface eno1 inet6 static
address XXXX:XXXX:XXXX:XXXX:1:1::/64
gateway XXXX:XXXX:XXXX:XXXX::1
up ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:1:1:1/64 dev $IFACE
up ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:1:1:2/64 dev $IFACE
down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:1:1:1/64 dev $IFACE
down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:1:1:2/64 dev $IFACE
# The secondary network interface
allow-hotplug eno2
iface eno2 inet static
address XX.XX.XX.X5
netmask 255.255.255.0
post-up ip route add XX.XX.XX.0/24 dev eno2 src XX.XX.XX.X5 table eno2t
post-up ip route add default via XX.XX.XX.1 table eno2t
post-up ip rule add table eno2t from XX.XX.XX.X5
post-up ip rule add table eno2t to XX.XX.XX.X5
post-up ip route add 10.8.0.0/24 dev tun0 src XX.XX.XX.X5 table eno2t
post-down ip route del 10.8.0.0/24 dev tun0 src XX.XX.XX.X5 table eno2t
iface eno2 inet6 static
address XXXX:XXXX:XXXX:XXXX:1:2::/96
up ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:2:1:1/64 dev $IFACE
up ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:2:1:2/64 dev $IFACE
down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:2:1:1/64 dev $IFACE
down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:2:1:2/64 dev $IFACE
# OpenVPN network
iface tun0 inet6 static
address XXXX:XXXX:XXXX:XXXX:1:3::/80
á€áááºáááºáá»á¬ážááᯠtech.ru ááŸá áááºááá·áºáá¬áá¬ááœááºáááᯠ(áá¶á·ááá¯ážááŸá¯á¡áááºážáááºááŒáá·áº ááŸáááŸáá¯ááºážáá±á¬ááºááœááºááá¯ááºáááº) ááŸáá·áº áááºážááẠáá»ááºáá»ááºážáá¯ááºáá±á¬ááºááá·áºááá·áºá¡ááá¯ááºáž áá¯ááºáá±á¬ááºááá¯ááºáááºááŒá áºáááºá
Hetzner, OVH á¡ááœáẠáááºáá°áá±á¬á¡áá¬áá»á¬ážááᯠáááºáááºááŒááºáž á¡ááœá±á·á¡ááŒá¯á¶ááŸááá«áá áááºážááŸá¬ ááœá²ááŒá¬ážáá«áááºá ááá¯áááºáááºá
eno1 ááẠnetwork card #1 (ááŸá±ážááœá±ážáá±á¬áºáááºáž á¡ááá·áºá¡áááºáááŸá) áá¡áááºááŒá
áºáááºá
eno2 ááẠááœááºáááºáááºáá¶áá«áẠ2 (ááŒááºáá±á¬áºáááºáž á¡áá±á¬ááºááœááºááŒáá·áº)á
tun0 ááẠOpenVPN á០virtual network card á á¡áááºááŒá
áºáááºá
XX.XX.XX.X0 - eno4 ááœáẠIPv1 #1
XX.XX.XX.X1 - eno4 ááœáẠIPv2 #1
XX.XX.XX.X2 - eno4 ááœáẠIPv3 #1
XX.XX.XX.X5 - eno4 ááœáẠIPv1 #2
XX.XX.XX.1 - IPv4 áá¶áá«ážáá±á«ááºá
XXXX:XXXX:XXXX:XXXX::/64 - áá¬áá¬áá
áºáá¯áá¯á¶ážá¡ááœáẠIPv6á
XXXX:XXXX:XXXX:XXXX:1:2::/96 - eno6 á¡ááœáẠIPv2á ááŒááºáá០á¡ááŒá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááẠeno1 ááá¯á· áá±á¬ááºááœá¬ážáá«áááºá
XXXX:XXXX:XXXX:XXXX::1 â IPv6 áá¶áá«ážáá±á«áẠ(áááºážááẠááœá²ááŒá¬ážá
áœá¬ áá¯ááºáá±á¬ááºááá¯ááºáááºááᯠáááááŒá¯ááá·áºáááºá IPv6 ááá¯ááºááᯠáááºááŸááºáá«)á
dns-nameservers - 127.0.0.1 ááá¯ááœáŸááºááŒááẠ(bind ááá¯á
ááºááœááºážááœááºááá·áºááœááºážáá¬ážáá±á¬ááŒá±á¬áá·áº) ááŸáá·áº 213.248.1.6 (áááºážááẠtech.ru ááŸááŒá
áºáááº)á
"table eno1t" ááŸáá·áº "table eno2t" - á€áááºážááŒá±á¬ááºáž-á ááºážáááºážáá»á¬ážá á¡áááá¹áá«ááºááŸá¬ eno1 ááŸáááá·áºáááºáá±á¬ááºáá±á¬áááºážááŒá±á¬ááºážááẠáááºážááá¯ááŒááºááœá¬ážáááºááŒá áºááŒá®áž eno2 ááŸáááá·áºáááºáá±á¬ááºáá±á¬áááºážááŒá±á¬ááºážááẠáááºážááá¯ááŒááºááœá¬ážáááºááŒá áºáááºá áá¬áá¬á០á¡á ááŒá¯áá±á¬ áá»áááºáááºááŸá¯áá»á¬ážáááºáááºáž eno1 ááŸáááá·áº ááœá¬ážáááºááŒá áºáááºá
ip route add default via XX.XX.XX.1 table eno1t
á€á¡áááá·áºááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠâtable eno1tâ áᯠá¡ááŸááºá¡áá¬ážááŒá¯áá¬ážááá·áº áááºááá·áºá ááºážáá»ááºážá¡á±á¬ááºááœáẠáá»áá±á¬ááºáá±á¬ áá¬ážááááºááá¯ááºáá±á¬ á¡ááœá¬ážá¡áá¬áá»á¬ážááᯠeno1 á¡ááºáá¬áá±á·á áºááá¯á· áá±ážááá¯á·ááẠáááºááŸááºáá±ážáá«áááºá
ip route add XX.XX.XX.0/24 dev eno1 src XX.XX.XX.X0 table eno1t
á€á¡áááá·áºááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá¬áá¬á០á¡á ááŒá¯áá±á¬ áááºááá·áºá¡ááœá¬ážá¡áá¬ááá¯áááᯠeno1 á¡ááºáá¬áá±á·á áºááá¯á· ááœáŸááºááŒá¬ážááá·áºáááºáᯠáá»áœááºá¯ááºááá¯á· áááºááŸááºáá«áááºá
ip rule add table eno1t from XX.XX.XX.X0
ip rule add table eno1t to XX.XX.XX.X0
á€á¡áááá·áºááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá¬ááºá¡ááœá¬ážá¡áá¬ááᯠá¡ááŸááºá¡áá¬ážááŒá¯ááẠá ááºážáááºážáá»á¬ážááᯠáááºááŸááºáá²á·áááºá
auto eno1:2
iface eno1:2 inet static
address XX.XX.XX.X2
netmask 255.255.255.0
post-up ip rule add table eno1t from XX.XX.XX.X2
post-up ip rule add table eno1t to XX.XX.XX.X2
á€ááááºááá¯á·ááŒááºážááẠeno4 á¡ááºáá¬áá±á·á áºá¡ááœáẠáá¯ááá IPv1 ááᯠáááºááŸááºáááºá
ip route add 10.8.0.0/24 dev tun0 src XX.XX.XX.X1 table eno1t
á€á¡áááá·áºááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠOpenVPN áá±á¬ááºáááºáá»á¬ážá០XX.XX.XX.X4 ááŸááœá²á áá±áááœááºáž IPv0 ááá¯á· áááºážááŒá±á¬ááºážááᯠáááºááŸááºáá±ážáá«áááºá
ဠcommand ááẠIPv4 á¡á¬ážáá¯á¶ážá¡ááœáẠá¡áááºááŒá±á¬áá·áº áá¯á¶áá±á¬ááºáááºááᯠáá»áœááºá¯áẠáá¬ážááááºáá±ážáá«á
iface eno1 inet6 static
address XXXX:XXXX:XXXX:XXXX:1:1::/64
gateway XXXX:XXXX:XXXX:XXXX::1
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡ááºáá¬áá±á·á áºááá¯ááºááá¯ááºá¡ááœáẠááááºá á¬ááᯠáááºááŸááºáá±ážáá«áááºá áá¬áá¬á áááºážááᯠ"á¡ááœááº" ááááºá á¬á¡ááŒá Ạá¡áá¯á¶ážááŒá¯áááºááŒá áºáááºá áááºááá·áºáááºážááŸáá·áºáá»áŸ áááºáá¶á¡áá¯á¶ážááŒá¯áááºááá¯ááºáá«á
":1:1::" á¡áááºááŒá±á¬áá·áº á€áá»áŸááŸá¯ááºááœá±ážáá±áááááºážá ááá¯á·ááŒá±á¬áá·áº OpenVPN ááẠáááºážá¡ááœááºáᬠááŸááºáááºá áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá áá®á¡ááŒá±á¬ááºážááᯠáá±á¬ááºááŸááŒá±á¬áá«á
gateway áá¡ááŒá±á¬ááºážá¡áá¬ááŸáá·áº áááºáááºá - áááºážáááºáááºááá¯á·á¡áá¯ááºáá¯ááºáááºá á¡áááºááŒá±áááºá ááá¯á·áá±á¬áº ááŸááºáááºáá±á¬áááºážáááºážááŸá¬ áá¬áá¬áá»áááºáááºáá¬ážááá·áº switch á IPv6 ááᯠá€áá±áá¬ááœáẠááœáŸááºááŒáááºááŒá áºáááºá
ááá¯á·áá±á¬áºáááºáž á¡ááŒá±á¬ááºážáá áºáá¯áá¯ááŒá±á¬áá·áº IPv6 á¡áá¯ááºááá¯ááºáá±á¬á·áá«á áá«á tech.ru ááŒá¿áá¬áá áºáá»áá¯ážááŒá áºááá¯ááºáá«áááºá
ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:1:1:1/64 dev $IFACE
áááºážááẠá¡ááºáá¬áá±á·á áºááá¯á· IPv6 ááááºá á¬ááᯠáá±á«ááºážááá·áºáá±áááºá ááááºá á¬áá áºáᬠááá¯á¡ááºáá«á á€ááá¯ááºááœáẠá á¬ááŒá±á¬ááºážáá áºáá¬ááᯠááá¯ááá¯áááºá
iface eno1 inet6 static
address XXXX:XXXX:XXXX:XXXX:1:1::/64
...
iface eno2 inet6 static
address XXXX:XXXX:XXXX:XXXX:1:2::/96
...
iface tun0 inet6 static
address XXXX:XXXX:XXXX:XXXX:1:3::/80
ááŸááºážááŸááºážáááºážáááºážááá á±ááẠá¡ááºáá¬áá±á·á áºá¡á¬ážáá¯á¶ážá ááááºá á¬áá»á¬ážááŸáá·áº ááœááºáááºááœá²áá»á¬ážááᯠááŸááºáá¬ážáá¬ážáááºá
eno1 - ááŒá áºááááºá/64"- áá¬ááŒá áºááá¯á·áá²ááá¯áá±á¬á· áá«á áá«ááá¯á·áá²á· ááááºá á¬ááœá± áá¯á¶ážáá¯á¶ážáá²á
tun0 - subnet ááẠeno1 áááºááŒá®ážááááºá ááá¯ááºáá«áá OpenVPN áá±á¬ááºáááºáá»á¬ážá¡ááœáẠIPv6 áá¶áá«ážáá±á«ááºááᯠááŒááºáááºáááºááŸááºááẠáááŒá áºááá¯ááºáá«á
eno2 - subnet ááẠtun0 áááºááŒá®ážááááºá ááá¯ááºáá«áá OpenVPN áá±á¬ááºáááºáá»á¬ážááẠáá±áááœááºáž IPv6 ááááºá á¬áá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºááẠááá¯ááºáá«á
ááŸááºážáááºážáááºá¡ááœááºá áá»áœááºá¯ááºááẠsubnet á¡ááá·áº 16 ááᯠááœá±ážáá»ááºáá²á·áááºá ááá¯á·áá±á¬áº áááºááá¹áááŸááá«á "1" á¡ááá·áºááá¯ááẠááŒá¯áá¯ááºááá¯ááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áº 64+16=80á ááŸáá·áº 80+16=96 ááŒá áºáááºáááá¯ááá¯ááŸááºážáááºážááŒááºáá¬ážááŸá¯á¡ááœááº
XXXX:XXXX:XXXX:XXXX:1:1:YYYY:YYYY áá»á¬ážááẠeno1 áá»ááºááŸá¬ááŒááºáá±á«áºááŸá áá®ážááŒá¬ážááá¯ááºáá»á¬áž ááá¯á·ááá¯áẠáááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáááºááŸááºáá±ážááá·áºááá·áº ááááºá á¬áá»á¬ážááŒá áºáááºá
XXXX:XXXX:XXXX:XXXX:1:2:YYYY:YYYY áá»á¬ážááẠeno2 áá»ááºááŸá¬ááŒááºáá±á«áºááŸá áá®ážááŒá¬ážááá¯ááºáá»á¬áž ááá¯á·ááá¯áẠáááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáááºááŸááºáá±ážááá·áºááá·áº ááááºá á¬áá»á¬ážááŒá áºáááºá
XXXX:XXXX:XXXX:XXXX:1:3:YYYY:YYYY áá»á¬ážááẠOpenVPN áá¯á¶ážá áœá²áá°áá»á¬ážáᶠáá¬áááºáá±ážá¡ááºááá·áºáá±á¬ ááá¯á·ááá¯áẠOpenVPN áááºáá±á¬ááºááŸá¯ááááºá á¬áá»á¬ážá¡ááŒá Ạá¡áá¯á¶ážááŒá¯ááá·áºáá±á¬ ááááºá á¬áá»á¬ážááŒá áºáááºá
ááœááºáááºááᯠááŒááºáááºáááºááŸááºáááºá áá¬áá¬ááᯠááŒááºáááºá
áááºááẠááŒá
áºááá¯ááºáááºá
áá¯ááºáá±á¬ááºááá·áºá¡áá« IPv4 á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáá±á¬ááºáá°ááẠ(áááºážááᯠáá»ááºááŸá¬ááŒááºááœáẠááŒá¯á¶áá¬ážááẠáá±áá»á¬á
á±áá« - ááá¯á·ááá¯ááºáá«á á€á¡áááá·áºááẠáá¬áá¬áá±á«áºááŸá ááœááºáááºááᯠááá¯ážááá¯ážááŸááºážááŸááºáž áá»ááºá
á®ážááœá¬ážáááá·áºáááº)á
/etc/init.d/networking restart
â/etc/iproute2/rt_tablesâ ááá¯ááºáá¡áá¯á¶ážááá¯á· ááá·áºáá«-
100 eno1t
101 eno2t
áááºážáááŸááá²á áááºááẠâ/etc/network/interfacesâ ááá¯ááºááœáẠá
áááºááŒáá¯ááºááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááááá«á
áá¶áá«ááºáá»á¬ážááẠáá°ážááŒá¬ážááŒá®áž 65535 áááºáááºážááá«áááºá
IPv6 á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠááŒááºáááºá áááºááŒááºážáááŸááá² á¡ááœááºááá° ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬áºáááºáž áááºážááá¯ááŒá¯áá¯ááºááẠá¡áááºážáá¯á¶áž command áá¯á¶ážáá¯ááᯠáá±á·áá¬ááẠááá¯á¡ááºáááº-
ip -6 addr ...
ip -6 route ...
ip -6 neigh ...
"/etc/sysctl.conf" áááºáááº
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward = 1
# Do not accept ICMP redirects (prevent MITM attacks)
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# Do not send ICMP redirects (we are not a router)
net.ipv4.conf.all.send_redirects = 0
# For receiving ARP replies
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.default.arp_filter = 0
# For sending ARP
net.ipv4.conf.all.arp_announce = 0
net.ipv4.conf.default.arp_announce = 0
# Enable IPv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
# IPv6 configuration
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.all.accept_ra = 0
# For OpenVPN
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1
# For nginx on boot
net.ipv6.ip_nonlocal_bind = 1
á€á¡áá¬áá»á¬ážááẠáá»áœááºá¯ááºááá¬áá¬á "sysctl" áááºáááºáá»á¬ážááŒá áºáááºá á¡áá±ážááŒá®ážáá¬áá áºáᯠáá±á¬ááºááŒáá«áá á±á
net.ipv4.ip_forward = 1
áááºážáááŸááá²á OpenVPN ááẠáá¯á¶ážáá¡áá¯ááºááá¯ááºáá«á
net.ipv6.ip_nonlocal_bind = 1
á¡ááºáá¬áá±á·á áºááœáá·áºááŒá®ážáááºááŸáá·áº IPv6 (á¥ááᬠnginx) ááᯠá ááºážáááºááŒáá¯ážá á¬ážáá° áááºáá°áááᯠá¡ááŸá¬ážá¡ááœááºážáá áºáᯠáááŸááááºááŒá áºáááºá á€ááááºá á¬ááᯠááááŸáááá¯ááºáá«á
ááá¯ááá¯á·áá±á¬ á¡ááŒá±á¡áá±áá»áá¯ážááᯠááŸá±á¬ááºááŸá¬ážáááºá ááá¯ááá¯á·áá±á¬ áááºááŸááºáá»ááºáá»á¬áž ááŒá¯áá¯ááºáá¬ážáááºá
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1
ဠIPv6 áááºáááºáá»á¬ážááá«áá²á OpenVPN áááá¯ááºážááá·áºá០á¡ááœá¬ážá¡áá¬áá»á¬ážááẠááá¹áá¬ááá¯á· áááœááºááá¯ááºáá«á
á¡ááŒá¬ážáááºáááºáá»á¬ážááẠááááºááá¯ááºáá« ááá¯á·ááá¯áẠáááºážááá¯á·á¡ááœáẠáá¬á¡ááœááºááŒá
áºáááºááᯠáá»áœááºá¯áẠáááŸááºáááá«á
áá«áá±ááá·áº á¡ááŒá±á¡áá±á¡ááá±á¬á· "á¡áááºá¡ááá¯ááºážáá«áá²"
áá¬áá¬ááᯠááŒááºáááºá áááºááŒááºážáááŸááá² á€ááá¯ááºáááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠáá±á¬ááºáá°áááºá¡ááœááºá áááºááẠá¡áááá·áºááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáááº-
sysctl -p
"ááá¬áž" á
ááºážáá»ááºážáá»á¬ážá¡ááŒá±á¬ááºáž áá±á¬ááºáááºá¡áá±ážá
áááºá¡áá»ááºáá»á¬áž
============= OpenVPN =============
OpenVPN IPv4 ááẠiptables ááá«áá² á¡áá¯ááºááá¯ááºáá«á
áá»áœááºá¯ááºá iptable áá»á¬ážááẠVPN á¡ááœáẠá€áá²á·ááá¯á·ááŒá áºáááº-
iptables -A INPUT -p udp -s YY.YY.YY.YY --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -o eno1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j SNAT --to-source XX.XX.XX.X0
##iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j DROP
iptables -A FORWARD -p udp --dport 1194 -j DROP
YY.YY.YY.YY ááẠá
ááºááœááºážá
ááºá áááºááŒáááºáá±á¬ IPv4 ááááºá
á¬ááŒá
áºáááºá
10.8.0.0/24 - IPv4 openvpn ááœááºáááºá openvpn áá¯á¶ážá
áœá²áá°áá»á¬ážá¡ááœáẠIPv4 ááááºá
á¬áá»á¬ážá
á
ááºážáá»á¥áºážá
ááºážáááºážáá»á¬áž áá®ááœááºááẠá¡áá±ážááŒá®ážáá«áááºá
iptables -A INPUT -p udp -s YY.YY.YY.YY --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -o eno1 -j ACCEPT
...
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j DROP
iptables -A FORWARD -p udp --dport 1194 -j DROP
áááºážááẠáá»áœááºá¯ááºá static IP á០OpenVPN ááá¯áᬠáá¯á¶ážááá¯ááºá á±ááẠááá·áºáááºáá»ááºááŒá áºáá«áááºá
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j SNAT --to-source XX.XX.XX.X0
-- ОлО --
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j MASQUERADE
OpenVPN áá±á¬ááºáááºáá»á¬ážááŸáá·áºá¡ááºáá¬áááºááŒá¬ážááŸá IPv4 áááºáááºáá»á¬ážááᯠáá±ážááá¯á·áááºá áááºááẠá€á¡áááá·áºá á¬áá»á¬ážáá²á០áá áºáá¯ááᯠááŸááºáá¯á¶áááºááẠááá¯á¡ááºáááºá
ááá°áá®áá±á¬ááá
á¹á
áá»á¬ážá¡ááœááºá ááœá±ážáá»ááºá
áá¬áá»á¬ážáá²ááŸáá
áºáá¯ááẠáááá·áºáá»á±á¬áºáá«á
á¡áááá·áºááŸá
áºáá¯áá¯á¶ážááẠáá»áœááºá¯ááºááá
á¹á
á¡ááœáẠááá·áºáá»á±á¬áºáá«áááºá
á
á¬ááœááºá
á¬áááºážááá¯áááºááŒá®ážáá±á¬ááºá CPU áááºážáá«ážáá±á¬ááŒá±á¬áá·áº áááááœá±ážáá»ááºááŸá¯ááᯠááœá±ážáá»ááºáá²á·áááºá
ááŒááºáááºá áááºááŒá®ážáá±á¬áẠiptables áááºáááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá±á¬ááºáá°áááºá¡ááœááºá áááºážááá¯á·ááᯠáá áºáá±áá¬áá¬ááœáẠááááºážáááºážááẠááá¯á¡ááºáááºá
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
ááá¯áá²á·ááá¯á·áá±á¬á¡áááºáá»á¬ážááᯠááá±á¬áºááááœá±ážáá»ááºáá²á·ááŒááºážááá¯ááºáá«á áááºážááá¯á·ááᯠ"iptables-persistent" package ááŒáá·áº á¡áá¯á¶ážááŒá¯áááºá
apt-get install iptables-persistent
áááºá OpenVPN áááºáá±á·áá»áºááᯠááá·áºááœááºážáá±áááº-
apt-get install openvpn easy-rsa
áááºááŸááºáá»á¬ážá¡ááœáẠááá°áá¬áá¯á¶á á¶áá áºáᯠáááºááŸááºááŒáá«á áá¯á· (ááá·áºáááºááá¯ážáá»á¬ážááᯠá¡á á¬ážááá¯ážáá«)á
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
ln -s openssl-1.0.0.cnf openssl.cnf
áááºááŸáẠááá°áá¬áá¯á¶á ᶠáááºáááºáá»á¬ážááᯠáááºážááŒááºááŒáá«á áá¯á·á
mcedit vars
...
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="RU"
export KEY_PROVINCE="Krasnodar"
export KEY_CITY="Dinskaya"
export KEY_ORG="Own"
export KEY_EMAIL="[email protected]"
export KEY_OU="VPN"
# X509 Subject Field
export KEY_NAME="server"
...
áá¬áá¬á¡ááá¡ááŸááºááŒá¯áááºááŸááºáá áºáᯠáááºáá®ážáá«-
cd ~/openvpn-ca
source vars
./clean-all
./build-ca
./build-key-server server
./build-dh
openvpn --genkey --secret keys/ta.key
áá±á¬ááºáá¯á¶áž âclient-name.opvnâ ááá¯ááºáá»á¬ážááᯠáááºáá®ážááá¯ááºááŸá¯ááᯠááŒááºáááºááŒáá«á áá¯á·á
mkdir -p ~/client-configs/files
chmod 700 ~/client-configs/files
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
mcedit ~/client-configs/base.conf
# Client mode
client
# Interface tunnel type
dev tun
# TCP protocol
proto tcp-client
# Address/Port of VPN server
remote XX.XX.XX.X0 1194
# Don't bind to local port/address
nobind
# Don't need to re-read keys and re-create tun at restart
persist-key
persist-tun
# Remote peer must have a signed certificate
remote-cert-tls server
ns-cert-type server
# Enable compression
comp-lzo
# Custom
ns-cert-type server
tls-auth ta.key 1
cipher DES-EDE3-CBC
ááá¯ááºá¡á¬ážáá¯á¶ážááᯠopvn ááá¯ááºáá áºáá¯áá²ááá¯á· áá±á«ááºážá ááºážááá·áº script áá áºáá¯ááᯠááŒááºáááºááŒáá«á áá¯á·á
mcedit ~/client-configs/make_config.sh
chmod 700 ~/client-configs/make_config.sh
#!/bin/bash
# First argument: Client identifier
KEY_DIR=~/openvpn-ca/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf
cat ${BASE_CONFIG}
<(echo -e '<ca>')
${KEY_DIR}/ca.crt
<(echo -e '</ca>n<cert>')
${KEY_DIR}/.crt
<(echo -e '</cert>n<key>')
${KEY_DIR}/.key
<(echo -e '</key>n<tls-auth>')
${KEY_DIR}/ta.key
<(echo -e '</tls-auth>')
> ${OUTPUT_DIR}/.ovpn
ááááá¯á¶áž OpenVPN áá¯á¶ážá áœá²áá°ááᯠáááºáá®ážáá±áááº-
cd ~/openvpn-ca
source vars
./build-key client-name
cd ~/client-configs
./make_config.sh client-name
ááá¯áẠâ~/client-configs/files/client-name.ovpnâ ááᯠáááá¯ááºážááá·áºá á ááºáá á¹á ááºážááá¯á· áá±ážááá¯á·áááºá
iOS áá¯á¶ážá
áœá²áá°áá»á¬ážá¡ááœáẠá¡á±á¬ááºáá«áááºážáááºážáá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá
"tls-auth" áááºá á¡ááŒá±á¬ááºážá¡áá¬ááẠááŸááºáá»ááºáá»á¬áž ááá«áá² ááŒá
áºááááºá
ááá¯á·á¡ááŒáẠâtls-authâ áááºááŸá±á·ááœáẠâáá±á¬á·áááºážááœáŸáẠ1â ááᯠáá»ááºááŒááºážááá·áºáá«á
OpenVPN áá¬áᬠconfig ááᯠconfigure áá¯ááºááŒáá«á áá¯á·á
cd ~/openvpn-ca/keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | tee /etc/openvpn/server.conf
mcedit /etc/openvpn/server.conf
# Listen port
port 1194
# Protocol
proto tcp-server
# IP tunnel
dev tun0
tun-ipv6
push tun-ipv6
# Master certificate
ca ca.crt
# Server certificate
cert server.crt
# Server private key
key server.key
# Diffie-Hellman parameters
dh dh2048.pem
# Allow clients to communicate with each other
client-to-client
# Client config dir
client-config-dir /etc/openvpn/ccd
# Run client-specific script on connection and disconnection
script-security 2
client-connect "/usr/bin/sudo -u root /etc/openvpn/server-clientconnect.sh"
client-disconnect "/usr/bin/sudo -u root /etc/openvpn/server-clientdisconnect.sh"
# Server mode and client subnets
server 10.8.0.0 255.255.255.0
server-ipv6 XXXX:XXXX:XXXX:XXXX:1:3::/80
topology subnet
# IPv6 routes
push "route-ipv6 XXXX:XXXX:XXXX:XXXX::/64"
push "route-ipv6 2000::/3"
# DNS (for Windows)
# These are OpenDNS
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
# Configure all clients to redirect their default network gateway through the VPN
push "redirect-gateway def1 bypass-dhcp"
push "redirect-gateway ipv6" #For iOS
# Don't need to re-read keys and re-create tun at restart
persist-key
persist-tun
# Ping every 10s. Timeout of 120s.
keepalive 10 120
# Enable compression
comp-lzo
# User and group
user vpn
group vpn
# Log a short status
status openvpn-status.log
# Logging verbosity
##verb 4
# Custom config
tls-auth ta.key 0
cipher DES-EDE3-CBC
áááá¯ááºážááá·áºáá áºáá¯á á®á¡ááœáẠstatic address ááá¯áááºááŸááºáááºá¡ááœáẠáááºážááẠááá¯á¡ááºááẠ(áááá¯á¡ááºáá²á áá«á¡áá¯á¶ážááŒá¯áááº)
# Client config dir
client-config-dir /etc/openvpn/ccd
á¡áááºáá²áá¯á¶ážáá²á· á¡áááá¡áá±ážá áááºáá«á
áá¶ááá±á¬ááºážá
áœá¬ááŒáá·áºá OpenVPN ááẠclient áá»á¬ážá¡ááœáẠIPv6 gateway ááᯠááœááºáááºá
áœá¬ configure áá¯ááºááááºááᯠááááá±ážáá«á
áááºááẠá€á¡áá¬ááᯠáá±á¬ááºáááºáá
áºáŠážá
á®á¡ááœáẠ"ááá¯ááºááá¯ááº" áá±ážááá¯á·ááá«áááºá
# Run client-specific script on connection and disconnection
script-security 2
client-connect "/usr/bin/sudo -u root /etc/openvpn/server-clientconnect.sh"
client-disconnect "/usr/bin/sudo -u root /etc/openvpn/server-clientdisconnect.sh"
ááá¯áẠâ/etc/openvpn/server-clientconnect.shâ:
#!/bin/sh
# Check client variables
if [ -z "$ifconfig_pool_remote_ip" ] || [ -z "$common_name" ]; then
echo "Missing environment variable."
exit 1
fi
# Load server variables
. /etc/openvpn/variables
ipv6=""
# Find out if there is a specific config with fixed IPv6 for this client
if [ -f "/etc/openvpn/ccd/$common_name" ]; then
# Get fixed IPv6 from client config file
ipv6=$(sed -nr 's/^.*ifconfig-ipv6-push[ t]+([0-9a-fA-F:]+).*$/1/p' "/etc/openvpn/ccd/$common_name")
echo $ipv6
fi
# Get IPv6 from IPv4
if [ -z "$ipv6" ]; then
ipp=$(echo "$ifconfig_pool_remote_ip" | cut -d. -f4)
if ! [ "$ipp" -ge 2 -a "$ipp" -le 254 ] 2>/dev/null; then
echo "Invalid IPv4 part."
exit 1
fi
hexipp=$(printf '%x' $ipp)
ipv6="$prefix$hexipp"
fi
# Create proxy rule
/sbin/ip -6 neigh add proxy $ipv6 dev eno1
ááá¯áẠâ/etc/openvpn/server-clientdisconnect.shâ:
#!/bin/sh
# Check client variables
if [ -z "$ifconfig_pool_remote_ip" ] || [ -z "$common_name" ]; then
echo "Missing environment variable."
exit 1
fi
# Load server variables
. /etc/openvpn/variables
ipv6=""
# Find out if there is a specific config with fixed IPv6 for this client
if [ -f "/etc/openvpn/ccd/$common_name" ]; then
# Get fixed IPv6 from client config file
ipv6=$(sed -nr 's/^.*ifconfig-ipv6-push[ t]+([0-9a-fA-F:]+).*$/1/p' "/etc/openvpn/ccd/$common_name")
fi
# Get IPv6 from IPv4
if [ -z "$ipv6" ]; then
ipp=$(echo "$ifconfig_pool_remote_ip" | cut -d. -f4)
if ! [ "$ipp" -ge 2 -a "$ipp" -le 254 ] 2>/dev/null; then
echo "Invalid IPv4 part."
exit 1
fi
hexipp=$(printf '%x' $ipp)
ipv6="$prefix$hexipp"
fi
# Delete proxy rule
/sbin/ip -6 neigh del proxy $ipv6 dev eno1
Script ááŸá áºáá¯áá¯á¶ážááẠâ/etc/openvpn/variablesâ ááá¯ááºááᯠá¡áá¯á¶ážááŒá¯áááº-
# Subnet
prefix=XXXX:XXXX:XXXX:XXXX:2:
# netmask
prefixlen=112
áá¬ááŒá±á¬áá·áºáá®ááá¯áá±ážááá² ááŸááºááááá¯á·áááºáááºá
ááᯠnetmask = 112 ááẠáá°ážáááºážáá±áá¯á¶áááẠ(áááºážááŸá¬ 96 ááŒá
áºááá·áºáááº)á
ááŸá±á·áááºááẠáá°ážáááºážáááºá áááºážááẠtun0 ááœááºáááºááŸáá·áº áááá¯ááºáá®áá«á
áá«áá±ááá·áº áá±á¬ááºážááŒá®á áá«áá¬ážáá²á·áááº
cipher DES-EDE3-CBC
áá«á áá°ááá¯ááºážá¡ááœáẠááá¯ááºáá«áá°ážá
============= Postfix =============
áááºáá¡áá¯ááºááᯠááá·áºááœááºážáá±áááº-
apt-get install postfix
ááá·áºááœááºážááá·áºá¡áá« "á¡ááºáá¬áááºááá¯ááº" ááá¯ááœá±ážáá»ááºáá«á
áá»áœááºá¯ááºá "/etc/postfix/main.cf" ááẠá€áá²á·ááá¯á·ááŒá áºáááº-
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/domain1.com.2018.chained.crt
smtpd_tls_key_file=/etc/ssl/domain1.com.2018.key
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtp_bind_address = XX.XX.XX.X0
smtp_bind_address6 = XXXX:XXXX:XXXX:XXXX:1:1:1:1
smtp_tls_security_level = may
smtp_tls_ciphers = export
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_loglevel = 1
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = domain1.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = domain1.com
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
internal_mail_filter_classes = bounce
# Storage type
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
#reject_invalid_hostname,
#reject_unknown_recipient_domain,
reject_unauth_destination,
reject_rbl_client sbl.spamhaus.org,
check_policy_service unix:private/policyd-spf
smtpd_helo_restrictions =
#reject_invalid_helo_hostname,
#reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
permit
# SPF
policyd-spf_time_limit = 3600
# OpenDKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = unix:var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:var/run/opendkim/opendkim.sock
# IP address per domain
sender_dependent_default_transport_maps = pcre:/etc/postfix/sdd_transport.pcre
ဠconfig áá¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááá¯ááŒáá·áºááŸá¯ááŒáá«á áá¯á·á
smtpd_tls_cert_file=/etc/ssl/domain1.com.2018.chained.crt
smtpd_tls_key_file=/etc/ssl/domain1.com.2018.key
Khabrovsk áá±ááá¯ááºáá°áá»á¬ážáá¡ááá¯á¡áá á€ááá±á¬ááºááœáẠ"ááááºážááŸá¬ážáá»á¬ážááŸáá·áºáááŸááºáááºáá±á¬á¡ááŒá±á¬ááºážá¡áá¬áá»á¬áž" áá«ááŸááááºááá»áœááºá¯ááºáá¡áááºááœá±ážáááºážááŒá±á¬ááºážáá¯ááºáááºážá áááºááŒá®áž 8 ááŸá áºá¡ááŒá¬ááœáẠSSL áá¡áá¯ááºáá¯ááºáá¯á¶ááá¯áá¬ážáááºáá¬áááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááẠSSL ááá¯áááºááá¯á·á¡áá¯á¶ážááŒá¯ááááºááá¯áá±á¬áºááŒááŒááºáž (âáááºáá²á·ááá¯á·á¡áá¯ááºáá¯ááºááááºážâ ááŸáá·áº âáá¬ááŒá±á¬áá·áºá¡áá¯ááºááŒá áºááááºážâ áá°áá±á¬áá±ážááœááºážáá»á¬ážááá¯áááŒá±áá²ááœááºáááºá áœá¬áá±á¬áºááŒáá«áááºá
áá±ááºáá® áá¯ááºááŸááºááŒááºážá á¡ááŒá±áá¶ááŸá¬ áá±á¬á·ááœá²áá áºá á¯á¶ (á¡áá¹ááá¬áá»á¬áž á¡ááœááºááŸááºáá»á¬ážáá±á¬ ááŒáá¯ážááŸá áºáá»á±á¬ááºáž) ááᯠáááºáá®ážááŒááºážááŒá áºáááºá
âáá±á¬á·â áá áºáá¯ááẠáá®ážááá·áºááŒá áºááŒá®áž áá»ááºáá±á¬á·ááŸá¬ âá¡áá»á¬ážááŒááºáá°â ááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áŸáá¯á·ááŸááºáá±á¬á·ááᯠá¡ááœááºááá¯áá áá¯áẠáá»áŸáá¯á·ááŸááºáá¬ážááŒáááºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáá°ááá¯ááºážá¡á¬áž ááŒáá·áºáá±áá«áááºá
á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áºá áááºááẠáá®ážááá·áºáá±á¬á·ááá¯ááºááŸááºáá¬áá»áŸáẠáááºážááá¯á á¬ááŸááºááá¯ááºá á±ááẠá á¬áá¬ážáá áºáááºážááᯠá á¬ááŸááºááá¯ááºáááºá
áá±á¬ááºážááŒá®á á¡á²áá«á áááºážááá¬áá²á· á¡ááŒá±áᶠáá áºáá¯áá¯á¶ážáá«áá¡ááá·áº 1 - https ááá¯ááºáá»á¬ážá
áááºááá¯ááºáá áºáá¯ááᯠáááºááŒáá·áºáá±á¬á¡áá«á ááá±á¬ááºáá¬ááẠáááºáá¬áá¬á០ááá¯ááºááẠhttps ááŒá áºááŒá±á¬ááºáž ááááŸáááŒá®áž á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáá±á¬ááºážááá¯áááºá
áááºáá¬áá¬ááẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáá±ážáááºá browser ááẠhttp-request ááᯠá á¬ááŸááºááŒá®áž áá±ážááá¯á·ááẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠá¡áá¯á¶ážááŒá¯áááºá
http-request áá áºáá¯á á¡ááŒá±á¬ááºážá¡áá¬ááᯠáá®ážááá·áºáá±á¬á·ááŸááá°áá»á¬ážáᬠáááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ áá±á¬ááºážááá¯ááŸá¯ááŒá¯áá¯ááºááá·áº server áá¬áá»áŸááºááŒá áºáááºá
Http-áá±á¬ááºážááá¯áá»ááºááœáẠá¡áááºážáá¯á¶áž URI áá«ááŸááááºá ááá¯á·ááŒá±á¬áá·áº ááá¯ááºáá¶áá áºááá¯ááºáá¶ááẠáááºááá¯ááºáá áºáá¯áá¯á¶ážááá¯á· áááºáá±á¬ááºááœáá·áºááᯠááá·áºáááºááẠááŒáá¯ážá á¬ážáá±áá«áá áááá»áá±á¬ á á¬áá»ááºááŸá¬áá áºáá¯ááá¯á· áááºáá±á¬ááºááẠááŒáá¯ážá á¬ážáá±áá«áá áááºážááẠhttps ááá¯ááºáá»á¬ážá¡ááœáẠáááŒá áºááá¯ááºáá±áá¡ááá·áº 2 - áá¯ááºááŸááºáá¬ážáá±á¬ áá¯á¶á·ááŒááºááŸá¯á
áááºáá¬áá¬ááẠáááºážáá±á«áºááœáẠá¡ááœááºááá° áááºááŸá¯ááá¯ááºááá·áº á¡ááŒá±ááᯠáá±ážáááºá
ááŒá±ááŸááºážáá»ááºááẠá¡ááœááºááá¯ážááŸááºážáá«ááẠ- ááá±á¬ááºáá¬ááẠhttps ááá¯ááºáá áºáá¯á á®á¡ááœáẠáá°áá®áá±á¬áá¯áá¹áááá-á¡áá»á¬ážááŒááºáá°áá±á¬á·ááœá²á¡ááœá²ááᯠá ááºááœááºážááŸáá¯ááºáá±ážáá«áááºá
áááºááá¯ááºá á¡áá»á¬ážáá°ááŸá¬áá±á¬á·á¡ááœáẠáá±á¬ááºážááá¯ááŸá¯ááŸáá·áºá¡áá°á áááºážááẠáááºážá áá±áááœááºáž á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáá±ážááá¯á·áááºá
áááºáá¬áá¬ááẠáááºážááᯠááŸááºááááŒá®áž http-response áá±ážááá¯á·áá±á¬á¡áá«á áá®ážááŒá¬áž client áá áºáá¯á á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŒáá·áº áááºážááᯠá á¬ááŸááºáá±ážáááºá
ááá¯á¡áá«ááœáẠhttp-response ááᯠclient áááá±á¬ááºáá¬ááá¯ááºáá±ážááá¯ááºáá¬áá±á¬á·ááá¯ááºááŸááºááŸáᬠá á¬ááŸááºáá¬ážááá¯ááºááẠ(ááá¯ááá¯áááºááŸá¬ client ááá¯ááºááá¯ááº)áá¡ááá·áº 3 - á¡áá»á¬ážáá°ááŸá¬ áá»ááºáááºáá áºáá¯ááŸáá áºááá·áº áá¯á¶ááŒá¯á¶áá±á¬áá»áááºáááºááŸá¯áá áºáá¯ááᯠáá°áá±á¬ááºááŒááºážá
á¥ááᬠáá¶áá«áẠ2 ááœáẠá¡á¬ážáááºážáá»ááºáá áºáᯠááŸáááẠ- ááá¯áá¬ážáá°áá»á¬áž http-request ááᯠááŒá¬ážááŒááºááŒá®áž á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŸáá·áº áááºáááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬áž áááºážááŒááºááŒááºážá០áááºááá·áºá¡áá¬á០áá¬ážáá®ážáá¬ážááŒááºážáááŸááá«á
ááá¯á·ááŒá±á¬áá·áºá ááŒá¬ážáá¶ááẠáááºááœááºáá±ážáááºážááŒá±á¬ááºážáááŒá±á¬ááºážááá»ááºáž áá±ážááá¯á·ááŒá®áž áááºáá¶áááŸáááá·áº áááºáá±á·áá»áºáá»á¬ážá á¡ááŒá±á¬ááºážá¡áá¬á¡á¬ážáá¯á¶ážááᯠááŸááºážáááºážá áœá¬ááŒááºááá«áááºá
áááºážááá¯ááá¯ááºááœááºááŒá±ááŸááºážááŒááºážááẠá¡ááœááºááá¯ážááŸááºážáá«ááẠ- áááºáá¬áá¬á á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŒáá·áº á á¬ááŸááºáá¬ážáá±á¬ ááá±á¬ááºáá¬á á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáááºáá±á·áá»áºáá±ážááá¯á·áá¯á¶áá¬ááŒá áºáááºá
ááá¯á·áá±á¬áẠáááºáá¬áá¬ááẠâáááºá á¡áá»á¬ážáá¯á¶ážáá±á¬á·ááẠá€áá²á·ááá¯á·ááŒá áºáááºâ áá²á·ááá¯á·áá±á¬ áá¯á¶á·ááŒááºáá»ááºááᯠáŠážá áœá¬ áá±ážááá¯á·ááŒá®áž á€á á¬ááᯠáá°áá®áá±á¬ á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŒáá·áº á á¬ááŸááºáá±ážáááºá
ááá±á¬ááºáá¬ááẠáá¯á¶á·ááŒááºááŸá¯ááᯠááŒáá·áºááŸá¯ááẠ- á¡áááºá âáááºá á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááẠá€áá²á·ááá¯á·ááŒá áºáááºâ áá°áá±á¬ áááºáá±á·áá»áºááᯠáááºáá¶áááŸááá«áá áááºážááẠá€áááºááœááºáá±ážáá»ááºáááºááẠáá¯á¶ááŒá¯á¶ááŒá±á¬ááºáž 100% á¡á¬ááá¶áá»ááºááŒá áºáááºá
áááºáá±á¬áẠá¡áá¹ááá¬ááºáááºážáá²
ááá¯ááá¯á·áá±á¬áá¯á¶ááŒá¯á¶áá±á¬áááºááœááºáá±ážáá»ááºáááºááá¯áááºáá®ážááŒááºážááẠping*2 áá¡ááŒááºááŸá¯ááºážááŒáá·áºááŒá áºáá±á«áºáá«áááºá á¥ááᬠ20ms á
ááá¯ááºááá¯ááºáá°ááẠáá«áá®áá»á¬ážáá²ááŸáá áºáá¯á áá»áŸáá¯á·ááŸááºáá±á¬á·ááᯠááŒáá¯áááºááŸááá¬ážááá«áááºá ááá¯á·ááá¯áẠáá®áá®á áá¹ááá·áºá¡áááºážáááºá¡ááœááºáž ááá¯ááºááá¯ááºáá±á¬á·ááᯠááŸá¬áá«á
áá±ááºáá®áá®ážááá·áºáá±á¬á·áá áºáá¯ááᯠááá¯ážáá°ááŒááºážááẠá á°áá«ááœááºáá»á°áá¬áá áºáá¯á¶ážááœáẠáááºá á¯ááŸá áºáá»á¬ážá áœá¬ ááŒá¬áááºááŒá áºáááºáá¡ááá·áº # 4 - á¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá»á¬ážáá¡áá»á¬ážááŒááºáá°áá±áá¬áá±á·á á
ááŸááºážáá±áááºááŸá¬á á€áá¬ááºáááºážáá áºáá¯áá¯á¶ážááœáẠááá¯ááºááá¯ááºáá°ááẠclient ááŸáá·áº server á¡ááŒá¬áž áááºááœááºáá±ážáááºážááŒá±á¬ááºážáá±á«áºááœáẠááá¯ááºááẠá¡ááœáá·áºá¡áá±ážáá áºáá¯ááŸááááºá
áá¯á¶ážá áœá²áá°ááẠáá¬áá¬á¡ááŒá Ạáááºáá±á¬ááºááá¯ááºááŒá®áž áá¬áá¬ááẠáá¯á¶ážá áœá²áá°á¡ááŒá Ạáááºáá±á¬ááºááá¯ááºáááºá áááºážááŒá±á¬ááºážááŸá áºáá¯á áá¯á¶ážááœáẠáá±á¬á·áá áºá á¯á¶ááᯠá¡áá¯áá°áá«á
ááá¯á·áá±á¬áẠááá¯ááºááá¯ááºáá°ááẠá¡ááœá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááᯠááŒááºááŒá®áž áá¬ááºá¡ááœá¬ážá¡áá¬ááᯠâáááºážááŒááºâ ááá¯ááºáááºááŒá áºáááºá
á¥ááá¬á ááœá±ááá¯á·áááá·áºááááºá ᬠááá¯á·ááá¯áẠá¡áœááºááá¯ááºážáááºáá¯ááºáááºážá០á áá¬ážááŸááºááᯠáááá¹áá°áá°ážáá« ááá¯á·ááá¯áẠâááá·áºááœááºááá¯ááºáá±á¬â á¡ááŒá±á¬ááºážá¡áá¬ááᯠááááºááá¯á·áá«á
ááá¯áá²á·ááá¯á·áá±á¬ ááá¯ááºááá¯ááºáá°áá»á¬ážááᯠááá¯ááºáá»ááºáááºá¡ááœáẠáááºážááá¯á·ááẠhttps ááá¯ááºáá áºáá¯á á®á¡ááœáẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá»á¬ážááŒáá·áº á¡áá»á¬ážáá°ááŸá¬ áá±áá¬áá±á·á áºáá áºáá¯ááᯠáá¯ááºáá±ážáá«áááºá
ááá±á¬ááºáá¬áá áºáá¯á á®ááẠááá¯áá²á·ááá¯á·áá±á¬ áá±áá¬áá±á·á Ạááá ááá·áºááŸáááŒá±á¬ááºáž âááâ áááºá áááºážááẠááá±á¬ááºáá¬ááá¯ááºážááœáẠááŒáá¯áááºááá·áºááœááºážáá¬ážáááºá
âá¡ááááá¬â ááᯠáááºááŸááºáá áºáá¯á á®á០á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŒáá·áº áá¶á·ááá¯ážáá¬ážáááºá ááá¯ááá¯áááºááŸá¬á áááºááŸááºáá¬ážáá±á¬ á¡ááá¡ááŸááºááŒá¯áááºááŸáẠá¡á¬áá¬ááá¯ááºáá áºáŠážá á®ááŸáá·áº áá»áááºáááºááŸá¯ááᯠá¡áá¯á¡áá±á¬ááºáá¯ááºááááá«áááá¯ááœáẠhttps á¡ááœáẠSSL ááá¯á¡áá¯á¶ážááŒá¯áááºážááᯠááá¯ážááŸááºážá áœá¬áá¬ážáááºáá¬áá«áááºá
ááá·áºáŠážááŸá±á¬ááºááᯠá¡áá¯á¶ážááŒá¯áá«áá á¡áá°ážáááºáá±á¬ááºááŸá¯áá»á¬ážááẠá€ááœá²á·á ááºážáá¯á¶ááŸá áá áºá á¯á¶áá áºáá¯ááᯠáááºááá¯á· hack ááá¯ááºáááºááᯠááŸááºážááŸááºážáááºážáááºáž áááá¬áá«áááá·áºáááºá áá«áá±ááá·áº á¡á²áá«á áá°ááá¯á·á¡ááœáẠááŒá®ážáá¬ážáá²á· ááŒáá¯ážá á¬ážá¡á¬ážáá¯ááºááŸá¯ááᯠáá¯á¶ážááŸá¯á¶ážá á±áááá·áºáááºá
NSA ááá¯á·ááá¯áẠCIA áááºáá±ážáááºáá±á¬á¡ááœá²á·á¡á ááºážáá»á¬áž - VIP áá»á¬ážá¡ááœááºáááºááŸáááŒá®ážáá¬ážáá¬ááœááºááŸá¯á¡ááá·áºááᯠhack áááºáááŒá áºááá¯ááºáá«ássh áá»áááºáááºááŸá¯áá»á¬ážá¡ááŒá±á¬ááºážáááºáž ááá·áºáá«áááºá ááá¯áá±áá¬ááœáẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá»á¬ážáááŸááá±á¬ááŒá±á¬áá·áº áááºáá¬áá¯ááºááá¯ááºááááºážá ááŒá¿áá¬ááᯠáááºážáááºážááŸá áºáá»áá¯ážááŒáá·áº ááŒá±ááŸááºážáááºá
ááœá±ážáá»ááºá áᬠssh-by-password-
ááááá»áááºáááºááŸá¯á¡ááœááºážá ssh client ááẠáá»áœááºá¯ááºááá¯á·ááœáẠssh áá¬áá¬á០á¡áá»á¬ážáá°ááŸá¬áá±á¬á·á¡áá áºáá áºáá¯ááŸáááŒá±á¬ááºáž ááááá±ážááá·áºáááºá
áá±á¬ááºáááºáá»áááºáááºááŸá¯áá»á¬ážá¡ááœááºážá ááááá±ážáá»áẠ"ssh áá¬áá¬á០á¡áá»á¬ážáá°ááŸá¬áá±á¬á·á¡áá áº" áá±á«áºáá¬áá«áá áááºážááá¯á·ááẠááá·áºá¡á¬áž ááá¯ážáá°ááẠááŒáá¯ážá á¬ážáá±áááºáᯠááá¯ááá¯áá«áááºá
ááá¯á·ááá¯áẠáááºáááááá¯á¶ážáá»áááºáááºááŸá¯ááœáẠááá¯ážáá°áá¶áá²á·ááá±á¬áºáááºáž ááá¯ááœáẠááŒá¬ážáá¶áá»á¬ážááá«áá² áá¬áá¬ááŸáá·áº áááºááœááºáá«á
á¡ááŸááºááááºáá±á¬á·á ááŒáá¯ážáá²á·áááºááœááºááŒááºážáá¡áá»ááºááᯠá¡ááœááºááá°á ââáá»ááºááŒááºá áœá¬ááŸáá·áº á¡á¬ážá áá¯ááºáá¯ááºáá±á¬áºááŒááá¯ááºáá±á¬ááŒá±á¬áá·áºá á€ááá¯ááºááá¯ááºááŸá¯ááᯠáá®ážááŒá¬áž client áá áºáá¯á¡ááœááºáᬠá¡áá°ážááá á¹á áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá«áááºáááœá±ážáá»ááºá áᬠssh-by-key-
áá»áœááºá¯ááºááá¯á·ááẠflash drive ááá¯áá°á áááºážáá±á«áºááœáẠssh áá¬áá¬á¡ááœáẠáá®ážááá·áºáá±á¬á·ááá¯áá±ážáá« (áááºážá¡ááœáẠáá±á«áá¬ááá»á¬ážááŸáá·áº á¡áá±ážááŒá®ážáá±á¬ ááœá²ááœá²áá»ááºáá»á¬ážáá»á¬ážá áœá¬ááŸááááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááẠááá¬áá±ážááá¯ááºáá¬áááá¯ááááºááᯠáá±ážáá±áááºá á¡áá¯á¶ážááŒá¯áááºá¡ááœáẠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááá¯ááºáá«)á
áá»áœááºá¯ááºááá¯á·ááẠssh áááá¯ááºážááá·áºááŸáááá·áº á ááºááœáẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáá¬ážáá²á·áᬠáááºážááᯠáá»áŸáá¯á·ááŸááºáá¬ážáá²á·áááºá
áá»áœááºá¯ááºááá¯á·ááẠflash drive ááá¯áá¬áá¬ááá¯á·áá°áá±á¬ááºáá¬ááŒá®ážáááºážááá¯ááá·áºáá«á áá®ážááá·áºáá±á¬á·ááá¯áá°ážáá°ááŒá®áž flash drive ááá¯áá®ážááŸáá¯á·ááŒá®ážááŒá¬áá»á¬ážááá¯áá±áá²ááá¯á·ááŒáá·áºááŒá²áá« (ááá¯á·ááá¯ááºá¡áááºážáá¯á¶ážáááºážááá¯áá¯áááŒáá·áºáá±á¬áºáááºáá±ážáááº) á
áá«áá«áá² - áá®ááá¯áá¯ááºáá±á¬ááºááŸá¯áá áºáá¯ááŒá®ážááẠáá®ááᯠssh áá»áááºáááºááŸá¯ááᯠhack ááá¯á· áááŒá áºááá¯ááºáá«áá°ážá áá¯ááºáá«áááºá 10 ááŸá áºá¡ááœááºážááŸá¬ á á°áá«ááœááºááŒá°áá¬ááŸá¬ áááºážááŒá±á¬ááºážááœá±ááᯠááŒáá·áºááŸá¯ááá¯ááºáá«áááá·áºááẠ- áá«áá±ááá·áº áá«á ááœá²ááŒá¬ážáá²á·áá¬ááºáááºážáá«áááŒááºáá¡ááŒá±á¬ááºážá¡áá¬á¡ááœáẠáá±á¬ááºážáááºáá«áááºá
áá«ááᯠáá®á¡áá¯áá®ááᯠááááœá¬ážááŒá®á SSL áááºááŸááºáááºáá®ážááŒááºážá á á®ážáááºážááŸá¯á¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá«áááºá
âopenssl genrsaâ ááᯠá¡áá¯á¶ážááŒá¯á á¡áá»á¬ážáá°ááŸá¬áá±á¬á·á¡ááœáẠáá®ážááá·áºáá±á¬á·ááŸáá·áº âááœááºáááºáá»á¬ážâ ááᯠáááºáá®ážáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠá¡ááá¯ážááŸááºážáá¯á¶ážáááºááŸááºá¡ááœáẠ$9 ááá·áºáá±ážáá»á±ááá·áº ááŒááºááá¯áá¹ááá®áá
áºáá¯áá¶ááá¯á· "ááœááºáááºáá»á¬áž" ááᯠáá±ážááá¯á·áá«áááºá
áá¬áá®á¡áááºážáááºááŒá¬ááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á "á¡áá»á¬ážááŒááºáá°" áá±á¬á·ááŸáá·áº á€áááááá«áá®áá¯áá¹ááá®á០á¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá»á¬ážá áœá¬ááᯠáááºáá¶áááŸááá«áááºá
áá»áœááºá¯ááºá á¡áá»á¬ážáá°ááŸá¬áá±á¬á·á¡á¬áž ááŸááºáá¯á¶áááºááŒááºážá¡ááœáẠááŒááºááá¯áá¹ááá®áá áºáá¯á០á¡áááºááŒá±á¬áá·áº áá±ážáá±á¬ááºáááááºážáá°ááẠáá®ážááŒá¬ážáá±ážááœááºážááŒá áºáááºá á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á· ááá·áºááœááºážá ááºážá á¬ážáááºááá¯ááºáá«á
ááᯠááá¹áááºážá á¬á á¡áááá¹áá«ááºááŸá¬ áááºáá²á·ááá¯á·ááŒá áºáááºááᯠáááá¬áááºááŸá¬ážáá«áááºá
smtpd_tls_key_file=/etc/ssl/domain1.com.2018.key
â/etc/sslâ ááá¯áá«ááœáẠssl ááŒá¿áá¬áá»á¬ážá¡ááœáẠááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶áž áá«ááŸááááºá
domain1.com â ááá¯ááááºážá¡áááºá
2018 ááẠáá±á¬á·áá»ááºáááºáá®ážááŸá¯áááŸá
áºááŒá
áºáááºá
âáá±á¬á·â - ááá¯ááºááẠáá®ážááá·áºáá±á¬á·áᯠáááºááŸááºááŒááºážá
ááŒá®ážáá±á¬á· áá®ááá¯ááºáá²á·á¡áááá¹áá«ááº
smtpd_tls_cert_file=/etc/ssl/domain1.com.2018.chained.crt
domain1.com â ááá¯ááááºážá¡áááºá
2018 ááẠáá±á¬á·áá»ááºáááºáá®ážááŸá¯áááŸá
áºááŒá
áºáááºá
chained - á¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá»á¬áž ááœááºážáááºáá
áºáá¯ááŸáááŒá±á¬ááºáž áááºááŸááºááŒááºáž (áááá¡áá»ááºááŸá¬ áá»áœááºá¯ááºááá¯á·á á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŒá
áºááŒá®áž áá»ááºá¡áá¬áá»á¬ážááẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá¯ááºáá±ážáá±á¬ áá¯áá¹ááá®á០ááœááºáá¬áááº)á
crt - á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ áááºááŸáẠ(áááºážááá¬ááá¯ááºáᬠááŸááºážáááºážáá»ááºáá»á¬ážááŸáá·áº á¡áá»á¬ážáá°ááŸá¬áá±á¬á·) ááŸáááŒá±á¬ááºáž áááºááŸááºááŒááºážá
smtp_bind_address = XX.XX.XX.X0
smtp_bind_address6 = XXXX:XXXX:XXXX:XXXX:1:1:1:1
á€áááºáááºááᯠá€ááá á¹á ááœááºá¡áá¯á¶ážáááŒá¯áá±á¬áºáááºáž ááá°áá¬á¡ááŒá Ạáá±ážáá¬ážáá¬ážáááºá
á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº á€ááá·áºáááºáá»ááºáá»á¬ážááŸá á¡ááŸá¬ážáá áºáá¯ááẠááá·áºáá¬áá¬á០(ááá·áºááá¹áááá«áá²) á áááºážááá¯á·ááŒááºážáá®ááá¯á· áŠážáááºááœá¬ážá á±áááá·áºáááºá
ááŒá®ážááẠá¡ááŒá áºáááŸááá°ážááá¯áá¬ááᯠáá°ááá¯ááºážááᯠáááºáá±ááŒáá«á
recipient_delimiter = +
áá°áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬áž áááááá¯ááºáá±á¬áºáááºáž áááºážááẠá¡á®ážáá±ážááºáá»á¬ážááᯠá¡ááá·áºáááºááŸááºááŒááºážá¡ááœáẠá á¶áá¬ááºáá±á¬ááºááŒá áºááŒá®áž áááºážááᯠáá±ááºáá®áá±ážááºáá¬áá¬á¡áá»á¬ážá á¯á០áá¶á·ááá¯ážáá±ážáá¬ážáááºá
á¥ááá¬- á á¬ááá¯ááºáá¯á¶ážááŸááááºá[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]"ááá¯á·á ááºážáá«"[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]âáá¬ááœá± ááœááºáá¬áá² ááŒáá·áºá ááºážá
inet_protocols = ipv4
á€á¡áá¬ááẠááŸá¯ááºááœá±ážáá±áá±áááºá
áá«áá±ááá·áº áá®á¡ááá¯ááºážáá±á¬á· ááá¯ááºáá«áá°ážá ááá¯ááááºážá¡áá áºáá áºáá¯á á®ááẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº IPv4 áá¬ááŒá áºááŒá®ážá áá áºáá¯á á®á¡ááœáẠIPv6 ááᯠáá®ážááŒá¬ážá á®ááœáá·áºáá¬ážáááºá
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡áááºáá±ážááºá¡á¬ážáá¯á¶ážááᯠdovecot ááá¯á·ááœá¬ážáááºáᯠáá»áœááºá¯ááºááá¯á· áááºááŸááºáá«áááºá
ááá¯ááááºážá á
á¬ááá¯ááºáá¯á¶ážá á¡áááºááœá²áá»á¬ážá¡ááœáẠá
ááºážáá»ááºážáá»á¬áž - áá±áá¬áá±á·á
áºááœáẠááŒáá·áºááŸá¯áá«á
/etc/postfix/mysql-virtual-mailbox-domains.cf
user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_domains WHERE name='%s'
/etc/postfix/mysql-virtual-mailbox-maps.cf
user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_users WHERE email='%s'
/etc/postfix/mysql-virtual-alias-maps.cf
user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT destination FROM virtual_aliases WHERE source='%s'
# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
dovecot ááŒáá·áº ááœáá·áºááŒá¯áá»ááºáááŒá®ážááŸáᬠáá±ážááºááᯠáááºáá¶áá±ážááá¯á·ááŒááºážá¡ááœáẠáááºáá¶ááá¯ááºáááºááᯠááᯠpostfix á០áááá«áááºá
á€áá±áá¬ááœáẠáá¬ááŒá±á¬áá·áº áááºáá°áá»áááºááᯠáá»áœááºá¯áẠá¡ááŸááºáááẠáá¬ážááááºáá«á áá»áœááºá¯ááºááá¯á·ááẠâvirtual_transportâ ááœáẠááá¯á¡ááºááá·áºá¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºááŸááºááŒá®ážááŒá áºáááºá
ááá¯á·áá±á¬áº postfix á áá áºááẠá¡ááœááºáá±á¬ááºážáá±ááŒá®ááŒá áºááẠ- áááºážááẠááŸá±ážááááºáá០áá±á¬ááºááŒááºáá¯ááºááœá¬ážááŒááºážááŒá áºááá¯ááºáááºá
smtpd_recipient_restrictions =
...
smtpd_helo_restrictions =
...
smtpd_client_restrictions =
...
áááºážááᯠáá±ážááºáá¬áá¬áá áºáá¯á á®á¡ááœáẠááœá²ááŒá¬ážá áœá¬ á á®á ááºáááºááŸááºááá¯ááºáááºá
áá»áœááºá¯ááºáááá¹áááœáẠáá±ážááºáá¬áᬠá áᯠááŸáááŒá®áž ááá°áá®áá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯ááá¯á¡ááºáá»ááºáá»á¬ážááŒá±á¬áá·áº á€áááºáááºáá»á¬ážááẠá¡ááœááºááœá²ááŒá¬ážáá«áááºá
áááºážááᯠááá¯áá áá¯áẠá á®á ááºáááºááŸááºááẠááá¯á¡ááºááẠ- ááá¯ááºáá«á spam áá»á¬áž ááá·áºáᶠáááºáá¬ááẠááá¯á·ááá¯áẠááá¯ááá¯ážááẠ- spam áá»á¬ážááẠááá·áºáá¶á០ááœááºáá¬áááºááŒá áºáááºá
# SPF
policyd-spf_time_limit = 3600
á¡áááºá á¬áá»á¬ážá SPF ááá¯á á áºáá±ážááŒááºážááŸáá·áºáááºá ááºáá±á¬ plugin á¡áá»áá¯á·á¡ááœáẠá áá áºááá·áºááœááºážááŒááºážá
# OpenDKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = unix:var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:var/run/opendkim/opendkim.sock
áááºáááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠá¡ááœááºá¡á®ážáá±ážááºáá»á¬ážá¡á¬ážáá¯á¶ážááŸáá·áºá¡áá° DKIM áááºááŸááºááᯠáá±ážáá±á¬ááºááááºááŒá áºáá«áááºá
# IP address per domain
sender_dependent_default_transport_maps = pcre:/etc/postfix/sdd_transport.pcre
á€áááºááŸá¬ PHP scripts áá»á¬ážá០á á¬áá»á¬ážáá±ážááá¯á·áá±á¬á¡áá«ááœáẠletter routing á¡ááœáẠá¡áááá¡áá±ážá áááºá¡áá»ááºááŒá áºáá«áááºá
ááá¯áẠâ/etc/postfix/sdd_transport.pcreâ:
/^[email protected]$/ domain1:
/^[email protected]$/ domain2:
/^[email protected]$/ domain3:
/@domain1.com$/ domain1:
/@domain2.com$/ domain2:
/@domain3.com$/ domain3:
áááºáááºááœáẠáá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááŒá áºáááºá áá¬áááºááœáẠá á¬áá¯á¶ážááᯠá¡ááŸááºá¡áá¬ážááŒá¯áá¬ážáá±á¬ á¡ááœáŸááºážáá áºáá¯ááŸááááºá
áá¶ááááºááŸáá·áºá¡áá® Postfix - áááá»áá±á¬á á¬áá¯á¶ážá¡ááœáẠáá±á¬ááºáááºááœá²á·á ááºážáá¯á¶ááá¯ááºážá¡áááºážáááºááᯠááá·áºááœááºážá ááºážá á¬ážáá«áááºááá®ážááŒá¬ážá á¬áá áºá á±á¬ááºá¡ááœáẠpostfix á¡ááá¡áá»áááºáá²á·ááá¯á·ááŒááºáááºááŒááºáááºáááºááᯠâmaster.cfâ ááœáẠááœáŸááºááŒáááºááŒá áºáááºá
ááá¯ááºáž áá á á á ááá¯á·ááẠá¡áááááŒá áºáááºá á á¬ááá¯á·áá±áá²á· áááºááá¯ááááºážááá¯ááºá á¬áž áá®áá¶ááááºááᯠááá·áºáá¬ážáá¬áá²á
ááá¯á·áá±á¬áº áá¯ááºá¡áá±á¬ááºážááŸá PHP scripts áá»á¬ážááœáẠ"from" á¡ááœááºááᯠá¡ááŒá²ááœáŸááºááŒáááºááá¯ááºáá«á ááá¯á¡áá« á¡áá¯á¶ážááŒá¯áá°á¡áááºááẠáááºáááºááŒááºážááá¯á· áá±á¬ááºáá«áááºááá±á¬ááºážáá«ážááẠáá»ááºááŒáá·áºááŒá®ážááŒá áºááẠ- nginx+fpm ááá¯á ááœáá·áºáááºááŸááºááŒááºážááŒáá·áº á¡á¬áá¯á¶áááŒá±á¬ááºážáá»ááºáá«á
á¡ááá¯áá»á¯ááºá¡á¬ážááŒáá·áºá ááá¯ááºáá áºáá¯á á®á¡ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáááºážáááá¯ááºááá¯áẠlinux-á¡áá¯á¶ážááŒá¯áá°ááá¯ááºááŸááºááᯠáááºááŸááºáá±ážáááºá áááºá fpm-pool ááŸáá·áºáá»á±á¬áºáá®á áœá¬á
Fpm-pool ááẠáááºááá·áº php áá¬ážááŸááºážááá¯áááᯠá¡áá¯á¶ážááŒá¯ááẠ(áá°áá®áá±á¬áá¬áá¬ááœáẠphp áá¬ážááŸááºážá¡áá»áá¯ážáá»áá¯ážááŸáá·áº á¡áááºáá®ážáá¬ážáá»ááºážááá¯ááºáá»á¬ážá¡ááœáẠááŒá¿áá¬áááŸááá² ááá°áá®áá±á¬ php.ini ááá¯áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááº)á
ááá¯á·ááŒá±á¬áá·áºá áá®ážááŒá¬áž linux-user âwww-domain2â ááœáẠáááºááá¯áẠdomain2.com ááŸááááºá á€ááá¯ááºááœáẠá¡ááœááºá០ááááºááŸááºáá² á¡á®ážáá±ážááºáá»á¬áž áá±ážááá¯á·ááẠáá¯ááºáá áºáᯠááŸááááºá
ááá¯á·ááŒá±á¬áá·áºá á€ááá á¹á ááœááºáááºá á á¬áá¯á¶ážáá»á¬ážááá¯ááŸááºáááºá áœá¬áá±ážááá¯á·áááºááŒá áºááŒá®áž spam ááœááºáááºáá±á¬á·ááŸá¡áá¯á¶ážáááºáááºááá¯ááºáá«á
áá»áœááºá¯ááºá "/etc/postfix/master.cf" ááẠá€áá²á·ááá¯á·ááŒá áºáááº-
...
smtp inet n - y - - smtpd
-o content_filter=spamassassin
...
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
...
policyd-spf unix - n n - 0 spawn
user=policyd-spf argv=/usr/bin/policyd-spf
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
...
domain1 unix - - n - - smtp
-o smtp_bind_address=XX.XX.XX.X1
-o smtp_helo_name=domain1.com
-o inet_protocols=all
-o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:1:1:1
-o syslog_name=postfix-domain1
domain2 unix - - n - - smtp
-o smtp_bind_address=XX.XX.XX.X5
-o smtp_helo_name=domain2.com
-o inet_protocols=all
-o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:2:1:1
-o syslog_name=postfix-domain2
domain3 unix - - n - - smtp
-o smtp_bind_address=XX.XX.XX.X2
-o smtp_helo_name=domain3
-o inet_protocols=all
-o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:1:5:1
-o syslog_name=postfix-domain3
ááá¯ááºááᯠá¡ááŒáá·áºá¡á
á¯á¶ ááá±ážáá¬ážáá« - áááºážááẠá¡ááœááºááŒá®ážáá¬ážáá±ááŒá®ááŒá
áºáááºá
ááŒá±á¬ááºážáá²áá²á·áá¬ááœá±ááá¯áá² ááŸááºáá¬ážáá²á·ááááºá
smtp inet n - y - - smtpd
-o content_filter=spamassassin
...
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
áááºážááá¯á·ááẠspamassasin ááŸáá·áºáááºá ááºáá±á¬áááºáááºáá»á¬ážááŒá áºáááºá áá±á¬ááºááá¯ááºážááœáẠáá±á¬ááºáááºá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááŒá áºáááºá
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
áá»áœááºá¯ááºááá¯á·ááẠááá·áºá¡á¬áž port 587 ááŸáá
áºááá·áº áá±ážááºáá¬áá¬ááá¯á· áá»áááºáááºááẠááœáá·áºááŒá¯áá¬ážáá«áááºá
áá®ááá¯áá¯ááºááá¯á·, áááºáááºáá±á¬ááºááá«áááºá
policyd-spf unix - n n - 0 spawn
user=policyd-spf argv=/usr/bin/policyd-spf
SPF á á áºáá±ážááŸá¯ááᯠááœáá·áºáá«á
apt-get install postfix-policyd-spf-python
á¡áááºáá« SPF á á áºáá±ážááŸá¯áá»á¬ážá¡ááœáẠáááºáá±á·áá»áºááᯠááá·áºááœááºážááŒáá«á áá¯á·á
domain1 unix - - n - - smtp
-o smtp_bind_address=XX.XX.XX.X1
-o smtp_helo_name=domain1.com
-o inet_protocols=all
-o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:1:1:1
-o syslog_name=postfix-domain1
ááŒá®ážáá±á¬á· áá«á á áááºáááºá á¬ážá áá¬á¡áá±á¬ááºážáá¯á¶ážáá²á áááºážááẠáá®ážááŒá¬áž IPv4/IPv6 ááááºá á¬áá áºáá¯á០áá®ážááŒá¬ážááá¯ááááºážáá áºáá¯á¡ááœáẠá á¬áá»á¬ážáá±ážááá¯á·ááá¯ááºááá·áº á áœááºážáááºááŒá áºáááºá
á€áááºááᯠrDNS áá¡áá»áá¯ážá¡ááœááºáá¯ááºáá±á¬ááºáááºá rDNS ááẠIP ááááºá á¬ááŒáá·áº string áá áºáá¯ááᯠáááºáá¶áááŸáááá·áº áá¯ááºáááºážá ááºááŒá áºáááºá
áá±ážááºá¡ááœááºá helo ááẠá¡á®ážáá±ážááºááá¯á·ááá¯ááºáá±á¬ ááááºá á¬á rDNS ááŸáá·áº á¡ááá¡áá»ááá¯ááºáá®ááŒá±á¬ááºáž á¡áááºááŒá¯ááẠá€á¡ááºá¹áá«áááºááᯠá¡áá¯á¶ážááŒá¯áá«áááºáhelo ááẠá á¬ááá¯áá±ážááá¯á·áá°ááá¯ááºá á¬áž á¡á®ážáá±ážááºááá¯ááááºážááŸáá·áº áááá¯ááºáá®áá«áá spam á¡ááŸááºáá»á¬ážááᯠáá»á®ážááŒáŸáá·áºáááºááŒá áºáááºá
Helo ááẠrDNS ááŸáá·áº áááá¯ááºáá®áá« - á áááºážá¡ááŸááºáá»á¬ážá áœá¬ááᯠáá»á®ážááŒáŸáá·áºáááºá
ááá¯á·ááŒá±á¬áá·áºá ááá¯ááááºážáá áºáá¯á á®ááœáẠáááºážáááá¯ááºááá¯áẠIP ááááºá á¬ááŸáááááºá
OVH á¡ááœáẠ- ááœááºááá¯ážááºááœáẠrDNS ááᯠáááºááŸááºááá¯ááºáááºá
tech.ru á¡ááœáẠ- ááŒá¿áá¬ááᯠáá¶á·ááá¯ážááŸá¯ááŒáá·áº ááŒá±ááŸááºážáááºá
AWS á¡ááœááºá ááŒá¿áá¬ááᯠáá¶á·ááá¯ážááŸá¯ááŒáá·áº ááŒá±ááŸááºážáááºá
âinet_protocolsâ ááŸáá·áº âsmtp_bind_address6â - áá»áœááºá¯ááºááá¯á·ááẠIPv6 áá¶á·ááá¯ážááŸá¯ááᯠááœáá·áºáá¬ážáááºá
IPv6 á¡ááœáẠáááºááẠrDNS ááá¯áááºáž á á¬áááºážááœááºážááẠááá¯á¡ááºáááºá
âsyslog_nameâ - áááºážááẠááŸááºáááºážáá»á¬ážááᯠáááºááŸá¯áááœááºáá°á á±áááºá¡ááœáẠááŒá áºáááºá
áááºááŸááºáá»á¬ážáááºáá«á
============= Dovecot =============
apt-get install dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql dovecot-antispam
mysql ááᯠá áá áºááá·áºááœááºážááŒááºážá áááºáá±á·áá»áºáá»á¬ážááᯠááá¯ááºááá¯ááºááá·áºááœááºážááŒááºážá
ááá¯áẠ"/etc/dovecot/conf.d/10-auth.conf"
disable_plaintext_auth = yes
auth_mechanisms = plain login
ááœáá·áºááŒá¯áá»ááºááẠáá¯ááºááŸááºáá¬ážááŒááºážáá¬ááŒá áºáááºá
ááá¯áẠâ/etc/dovecot/conf.d/10-mail.confâ
mail_location = maildir:/var/mail/vhosts/%d/%n
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá á¬áá¯á¶ážáá»á¬ážá¡ááœáẠááá¯ááŸá±á¬ááºááŸá¯áááºáá±áá¬ááᯠááœáŸááºááŒáá«áááºá
áááºážááá¯á·ááᯠááá¯ááºáá»á¬ážááœáẠááááºážáááºážááŒá®áž ááá¯ááááºážááŒáá·áº á¡á¯ááºá á¯ááœá²á·á á±ááá¯áá«áááºá
ááá¯áẠ"/etc/dovecot/conf.d/10-master.conf"
service imap-login {
inet_listener imap {
port = 0
}
inet_listener imaps {
address = XX.XX.XX.X1, XX.XX.XX.X2, XX.XX.XX.X5, [XXXX:XXXX:XXXX:XXXX:1:1:1:1], [XXXX:XXXX:XXXX:XXXX:1:2:1:1], [XXXX:XXXX:XXXX:XXXX:1:1:5:1]
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
port = 0
}
inet_listener pop3s {
address = XX.XX.XX.X1, XX.XX.XX.X2, XX.XX.XX.X5, [XXXX:XXXX:XXXX:XXXX:1:1:1:1], [XXXX:XXXX:XXXX:XXXX:1:2:1:1], [XXXX:XXXX:XXXX:XXXX:1:1:5:1]
port = 995
ssl = yes
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
service imap {
}
service pop3 {
}
service auth {
unix_listener auth-userdb {
mode = 0600
user = vmail
}
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
user = dovecot
}
service auth-worker {
user = vmail
}
service dict {
unix_listener dict {
}
}
á€áááºááŸá¬ áááºá dovecot ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááá¯ááºááŒá
áºáááºá
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ááŒá¯á¶ááŸá¯áááŸááá±á¬áá»áááºáááºááŸá¯áá»á¬ážááᯠááááºáá¬ážáááºá
ááŸáá·áº áá¯á¶ááŒá¯á¶áá±á¬áá»áááºáááºááŸá¯áá»á¬ážááᯠááœáá·áºáá«á
ááá¯áẠ"/etc/dovecot/conf.d/10-ssl.conf"
ssl = required
ssl_cert = </etc/nginx/ssl/domain1.com.2018.chained.crt
ssl_key = </etc/nginx/ssl/domain1.com.2018.key
local XX.XX.XX.X5 {
ssl_cert = </etc/nginx/ssl/domain2.com.2018.chained.crt
ssl_key = </etc/nginx/ssl/domain2.com.2018.key
}
ssl ááᯠá áá áºááá·áºááœááºážááŒááºážá ssl ááá¯á¡ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááœáŸááºááŒáá«áááºá
ááŒá®ážáá±á¬á· áááºááŸááºááá¯ááºááá¯ááºáá á¡áá±ážááŒá®ážáá±á¬á¡áá±ážá áááºá¡áá»ááºááŸá¬ "áá±ááá¶" ááœáŸááºááŒá¬ážáá»ááºááŒá áºáááºá áááºááá·áºáá±ááᶠIPv4 ááá¯áá»áááºáááºáá±á¬á¡áá« áááºááá·áº SSL áááºááŸááºááᯠá¡áá¯á¶ážááŒá¯ááááºááᯠáá±á¬áºááŒáááºáá áá¬ážáá ááºá IPv6 ááᯠá€áá±áá¬ááœáẠconfigure ááá¬ážáá«á á€áá»ááºááœááºááŸá¯ááᯠáá±á¬ááºááŸááŒááºáá«áááºá
XX.XX.XX.X5 (domain2) - áááºááŸááºáááŸááá«á áá±á¬ááºáááºáá»á¬ážááᯠáá»áááºáááºááẠdomain1.com ááᯠáááºááŸááºááẠááá¯á¡ááºáááºá
XX.XX.XX.X2 (domain3) - clients áá»á¬ážáá»áááºáááºááẠdomain1.com ááá¯á·ááá¯áẠdomain3.com ááᯠáááºáááºááŸááºááá¯ááºááẠáááºááŸááºáá áºáá¯ááŸááá«áááºá
ááá¯áẠ"/etc/dovecot/conf.d/15-lda.conf"
protocol lda {
mail_plugins = $mail_plugins sieve
}
áááºážááẠá¡áá¬áááºááœáẠspamassassin á¡ááœáẠááá¯á¡ááºáááºááŒá áºáááºá
ááá¯áẠ"/etc/dovecot/conf.d/20-imap.conf"
protocol imap {
mail_plugins = $mail_plugins antispam
}
áááºážááẠantispam ááááºá¡ááºáá áºáá¯ááŒá áºáááºá âSpamâ ááá¯ááºááœá²ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá»áááºááœáẠspamassasin áá±á·áá»áá·áºááẠááá¯á¡ááºáááºá
ááá¯áẠ"/etc/dovecot/conf.d/20-pop3.conf"
protocol pop3 {
}
á¡á²ááá¯ááá¯ááºáá áºáá¯áá²ááŸááááºá
ááá¯áẠâ/etc/dovecot/conf.d/20-lmtp.confâ
protocol lmtp {
mail_plugins = $mail_plugins sieve
postmaster_address = [email protected]
}
lmtp ááᯠá áá áºááá·áºááœááºážááŒááºážá
ááá¯áẠ"/etc/dovecot/conf.d/90-antispam.conf"
plugin {
antispam_backend = pipe
antispam_trash = Trash;trash
antispam_spam = Junk;Spam;SPAM
antispam_pipe_program_spam_arg = --spam
antispam_pipe_program_notspam_arg = --ham
antispam_pipe_program = /usr/bin/sa-learn
antispam_pipe_program_args = --username=%Lu
}
Spamassasin áá±á·áá»áá·áºáá±ážáááºáááºáá»á¬ážááᯠSpam ááá¯ááºááœá²ááá¯á· ááœáŸá²ááŒá±á¬ááºážááá·áºá¡áá«á
ááá¯áẠ"/etc/dovecot/conf.d/90-sieve.conf"
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_after = /var/lib/dovecot/sieve/default.sieve
}
áááºáá¬áá±á¬ á á¬áá¯á¶ážáá»á¬ážááŸáá·áº áá¬áá¯ááºááááºááᯠáááºááŸááºááá·áº ááá¯ááºá
ááá¯áẠ"/var/lib/dovecot/sieve/default.sieve"
require ["fileinto", "mailbox"];
if header :contains "X-Spam-Flag" "YES" {
fileinto :create "Spam";
}
"sievec default.sieve" ááá¯ááºááᯠá á¯á ááºážááẠááá¯á¡ááºáááºá
ááá¯áẠ"/etc/dovecot/conf.d/auth-sql.conf.ext"
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}
ááœáá·áºááŒá¯áá»ááºá¡ááœáẠsql ááá¯ááºáá»á¬ážááᯠáááºááŸááºááŒááºážá
ááá¯ááºááá¯ááºááá¯ááºá ááá¬ážáááºááœáá·áºááŒá¯áá»ááºáááºážáááºážá¡ááŒá
Ạá¡áá¯á¶ážááŒá¯áááºá
ááá¯áẠ"/etc/dovecot/dovecot-sql.conf.ext"
driver = mysql
connect = host=127.0.0.1 dbname=servermail user=usermail password=password
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';
áááºážááẠpostfix á¡ááœáẠá¡áá¬ážáá°áááºáááºáá»á¬ážááŸáá·áº áááºááá¯ááºáááºá
ááá¯áẠ"/etc/dovecot/dovecot.conf"
protocols = imap lmtp pop3
listen = *, ::
dict {
}
!include conf.d/*.conf
!include_try local.conf
á¡áááááœá²á·á
ááºážáá¯á¶ááá¯ááºá
á¡áá±ážááŒá®ážáá±á¬á¡áá»ááºááŸá¬ á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááœáŸááºááŒááẠ- áááá¯ááá¯áá±á¬áá»á¬ážááá·áºáá«á
============= SpamAssassin =============
apt-get install spamassassin spamc
áááºáá±á·áá»áºáá»á¬ážááᯠááá·áºááœááºážááá¯ááºáá¡á±á¬ááºá
adduser spamd --disabled-login
á¡áá¯á¶ážááŒá¯áá°ááá¯ááºá á¬áž ááá·áºááŒáá«á áá¯á·á
systemctl enable spamassassin.service
áá»áœááºá¯ááºááá¯á·ááẠá áááºážáá¬áá¬áááºáááºáá±á¬ááºááŸá¯ááᯠá áááºáá±á¬á¡áá«ááœáẠá¡ááá¯á¡áá»á±á¬ááºááœáá·áºááŒááºážááᯠááœáá·áºáá±ážáá«áááºá
ááá¯áẠ"/etc/default/spamassassin"-
CRON=1
á ááºážáá»ááºážáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠá¡ááºááááºáá¯ááºááŒááºážááŒáá·áº "áá¯á¶ááŸááºá¡ááá¯ááºáž" ááᯠááœáá·áºáá«á
ááá¯áẠâ/etc/spamassassin/local.cfâ:
report_safe 0
use_bayes 1
bayes_auto_learn 1
bayes_auto_expire 1
bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn DBI:mysql:sa:localhost:3306
bayes_sql_username sa
bayes_sql_password password
á áá¬ážááŸáẠ"á áá¬ážááŸááº" ááŒáá·áº á¡áá¯á¶ážááŒá¯áá° "áá¬" ááŒáá·áº mysql ááœáẠáá±áá¬áá±á·á Ạ"sa" ááᯠáááºáá®ážááẠááá¯á¡ááºááẠ(áá¯á¶áá±á¬ááºááá·áºá¡áá¬ááŒáá·áº á¡á á¬ážááá¯ážáá«)á
report_safe - áááºážááẠá
á¬áá
áºá
á±á¬ááºá¡á
á¬áž spam á¡á®ážáá±ážááºá¡á
á®áááºáá¶á
á¬ááᯠáá±ážááá¯á·áááºááŒá
áºáááºá
use_bayes ááẠspamassassin á
ááºáááºáá°ááŸá¯áááºáááºáá»á¬ážááŒá
áºáááºá
áá»ááºááŸááá±á¬ spamassassin áááºáááºáá»á¬ážááᯠáá±á¬ááºážáá«ážááœáẠá¡á á±á¬ááá¯ááºážááœáẠá¡áá¯á¶ážááŒá¯áá²á·áááºá
============= á¡áá°áá¶ááẠ=============
áááºááá·áºááá¯á·ááá¯ááºáá±á¬á á¬áá»á¬ážá áá¯á¶ááŒá¯á¶áá±ážá¡ááá·áºááᯠáááºáá²á·ááá¯á·ááŒáŸáá·áºáááºááááºááᯠá¡ááá¯ááºážá¡ááá¯ááºážáá²ááá¯á· á¡ááŒá¶á¥á¬ááºáá áºáᯠáá±ážááá¯áá«áááºá áá±ážááºáá²á· áá±á«ááºážá ááºááᯠá¡áááºáž á áœá²áááºážáá±áá¬ááŒá±á¬áá·áºáá«á
ááá¯á·ááŸáᬠáá¯á¶ážá áœá²áá°ááẠáááºážá client (outlooká thunderbirdá browser-pluginá ...) ááœáẠáá±á¬á·áá áºá á¯á¶áááºáá®ážááá¯ááºáááºááŒá áºáááºá á¡áá»á¬ážááá¯ááºááŸáá·áºáá¯áá¹ááááá á¡áá»á¬ážáá°ááŸá¬ - DNS ááá¯á· áá±ážááá¯á·áá«á áá®ážááá·áº - client ááᯠsave áá¯ááºáá«á áá±ážááºáá¬áá¬áá»á¬ážááẠáá®ážááŒá¬ážáááºáá¶áá°áá¶ááá¯á· áá±ážááá¯á·ááẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
ááá¯áá²á·ááá¯á·áá±á¬ á á¬áá¯á¶ážáá»á¬ážááŒáá·áº spam áá»á¬ážááᯠáá¬ááœááºááẠ(áá¯ááºáá«áááºá áá±ážááºáá¬áá¬ááẠá¡ááŒá±á¬ááºážá¡áá¬ááᯠááŒáá·áºááŸá¯ááá¯ááºááẠááá¯ááºáá«á) - á ááºážáá»ááºáž 3 áá¯ááᯠááááºáááºáá±ážááẠááá¯á¡ááºáá«áááºá
- áááŒá áºááá±á á áºááŸááºáá±á¬ DKIM áááºááŸááºá áááŒá áºááá± SPFá áááŒá áºááá± rDNSá
- Antispam áá±á·áá»áá·áºáá±áž áá¬áá¬ááẠ+ áááá¯ááºážááá·áºáááºááŒááºážááŸá áá±áá¬áá±á·á áºá¡ááœáẠá¡á¬áá¯á¶ááŒá±á¬ááœááºáááºá
- áá¯ááºááŸááºááŒááºážááá¯ááºáᬠá¡ááºáááá¯áá®áááºááẠáá±ážááá¯á·ááá·áºáááºá០áááºáá¶ááá·áºáááºááẠáá¯ááºááŸááºááŒááºážááœáẠCPU áá«áá« á¡á 100 ááá¯áá¯á¶ážá áœá²ááááºáᯠááá¯ááá¯áááºá
á¡áá»á¬ážáá°ááŸá¬á á¬áá»á¬ážá¡ááŒááºá "áá¯á¶ááŒá¯á¶áá±á¬á á¬áá±ážá á¬áá°ááá¯á áááºáááº" á á¶á¡ááá¯ááŒá¯ááœáŸá¬ááá¯ááŒá¯á á¯áá«á á¡áá¯á¶ážááŒá¯áá°áá»á¬áž (á á¬ááá¯ááºáá¯á¶áž) ááẠá¡ááŒá¬ážá á¬ááá¯ááºáá¯á¶ážááá¯á· áá°ážááœá²áá«ááŸáááá·áº á á¬áá áºá á±á¬áẠáá±ážááá¯á·áááºá á á¬áá²ááœáẠá á¬áá±ážá á¬áá°á¡ááœáẠáá¯á¶ááŒá¯á¶áá±á¬ áááºááœááºáá±ážáá»ááºáááºáá áºáᯠá áááºááẠá á¬áá¬ážá¡ááá¯ááŒá¯áá»ááºáá áºáá¯ááŸáá·áº á á¬ááá¯ááºáá¯á¶ážááá¯ááºááŸááºá á¡áá»á¬ážáá°ááŸá¬áá±á¬á· (áááá¯ááºážááá·áºáááºá០áá®ážááá·áºáá±á¬á·ááŒáá·áº) áá«ááŸááááºá
á á¬áá±ážá á¬áá°áá áºáá¯á á®á¡ááœáẠáá±á¬á·á¡áá»áá¯á·ááá¯ááẠáááºááŒá¯áá¯ááºááá¯ááºáááºá áááºáá¶áá°á¡áá¯á¶ážááŒá¯áá°ááẠá€áááºážááŸááºážáá»ááºááᯠáááºáá¶ááá¯ááºááŒá®áž áááºážá á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáá±ážááá¯á·ááá¯ááºááẠ(á€á á¬áá±ážá á¬áá°á¡ááœáẠá¡áá°ážááŒá¯áá¯ááºáá¬ážáááº)á ááá¯á·áá±á¬ááºá áááá¡áá¯á¶ážááŒá¯áá°ááẠáááºáá±á¬ááºááŸá¯ááááºážáá»á¯ááºáá±ážá á¬áá áºá á±á¬áẠ(áá¯áááá¡áá¯á¶ážááŒá¯áá°á á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŒáá·áº áá¯ááºááŸááºáá¬ážáá±á¬) - áá¯áááá¡áá¯á¶ážááŒá¯áá°ááẠááœá²á·á ááºážáá¬ážáá±á¬ áááºááœááºáá±ážáá»ááºáááºááᯠáá¯á¶ááŒááºá áááºáá»ááááºáᯠáá°áááá¯ááºáááºááᯠáááºáá¶áááŸáááŒá®ážáá±á¬ááºá ááá¯á·áá±á¬áẠáá¯áááá¡áá¯á¶ážááŒá¯áá°ááẠááááºážáá»á¯ááºáá±ážá á¬áá áºá á±á¬áẠáá±ážááá¯á·ááẠ- ááá¯á·áá±á¬áẠáááá¡áá¯á¶ážááŒá¯áá°ááẠááœá²á·á ááºážáá¬ážáá±á¬ áá»ááºáááºááᯠáá¯á¶ááŒá¯á¶áááºáᯠáá°áááá¯ááºáááºá
áááºážáá±á«áºááŸá áá±á¬á·áá»á¬ážááᯠááŒá¬ážááŒááºááá·áºáá¬ážááŒááºážá¡á¬áž ááá¯ááºáá»ááºáááºá áááá¯ááá¯áá±á¬ááẠflash drive ááᯠá¡áá¯á¶ážááŒá¯á á¡áááºážáá¯á¶áž á¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá áºáᯠáá¯ááºááœáŸáá·áºááá¯ááºááŒá±ááᯠáá±ážáá±á¬ááºááááºááŒá áºáááºá
ááŒá®ážáá±á¬á· á¡áá±ážá¡ááŒá®ážáá¯á¶ážááá±á¬á· á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááá¯á·áá«áá² (áá±ážááœááºážááá±á¬á· "áá«ááᯠáááºáá°á áá±ážááá²")á
á ááŸá
áºá¡ááœáẠá
á¬ááá¯ááºáááºááŸááºáá»á¬ážááᯠ$10 ááŸá
áááºá ááá·áºááœááºážáá«á áá±ážááá¯á·áá°á¡á¬áž dns ááœáẠ"áá»áœááºá¯ááºá á¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá»á¬áž ááŸááá±áááº" ááᯠááœáŸááºááŒááá¯ááºá
á±áááºááŒá
áºáááºá áááºážááá¯á·ááẠááá·áºá¡á¬áž áá¯á¶ááŒá¯á¶áá±á¬áá»áááºáááºááŸá¯áá
áºáá¯á
áááºááẠá¡ááœáá·áºá¡áá±ážáá±ážáááá·áºáááºá áá
áºáá»áááºáááºážááŸá¬áááºá ááá¯ááá¯á·áá±á¬áá»áááºáááºááŸá¯áá»á¬ážááá¯áááºáá¶ááŒááºážáááºá¡ááá²á·ááŒá
áºáááºá
gmail ááẠáááºážáá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááᯠááœá±ááŸá¬áá±áá«áááºá 10 ááŸá
áºáá»áŸáẠ$3 á¡ááœáẠ- áá¯á¶ááŒá¯á¶áá±á¬á
á¬áá±ážá
á¬áá°áá»ááºáááºáá»á¬ážáááºáá®ážááá¯ááºááœáá·áºá
============= áááá¯á¶áž =============
áá±á¬ááºážáá«ážáá áºáá¯áá¯á¶ážááᯠá ááºážáááºáááºá áá»áœááºá¯ááºááẠáá®ážááá·áºáá¬áá¬áá áºáá¯ááᯠáá áºáááá·áº ááŸá¬ážááŒá®áž SSL áááºááŸááºááŒáá·áº ááá¯ááááºážáá áºáá¯ááᯠáááºáá°áááºááŒá áºáááºá
áá«áá±ááá·áº ááá¡ááŒá±á¡áá±ááœá± ááá¯ážáááºáá¬áá²á·á¡ááœáẠáá®ááŒá¿áá¬áᬠá ááá±á¬ááºááŒá¬á¡á±á¬áẠááááºážáá¬ážááá¯ááºáá²á·áááºá
áá«ááŒá±á¬áá·áº á¡á¬ážáááºáá»áááºááŒááºááá²á·á¡áá« áá±á¬ááºáááºáá
áºááŸá
áºááŒá¬á¡á±á¬áẠáá¯ááºáá±ááá·áºá¡á
á¬áž áá±á¬ááºážáá«ážááᯠá¡áááºá¡ááá¯ááºáž áá¯ááºáá±ááá¯á· áá¯á¶ážááŒááºááá¯ááºáááºá
âáá«áá±ááá·áº áá«á áá¯á¶áá±á¬ááºáá²á· á¡áá±ážá áááºááᯠááá±á¬áºááŒáá¬ážáá°ážâ áá²á·ááá¯á·áá±á¬ áá±ážááœááºážáá»á¬ážá áœá¬ááŸááá±áá«áá ááá¯ááááºážá¡áá áºááŸáá·áº SSL áááºááŸááºá¡áá áºáá áºáá¯ááŒáá·áº áá®ážááá·áºáá¬áá¬áá áºáá¯ááᯠáá°áᬠáááºážááᯠááá¯áá¡áá±ážá áááºáá±á¬áºááŒáááºááŸáá·áº á¡áá»á¬ážá á¯ááŸá¬ ááœááºá¡á¬ážááŸááááá·áºáááºá á¡áá±ážááŒá®ážáááºááŸá¬á áá»á±á¬ááºáá¯á¶ážáá±áá±á¬ á¡áá±ážááŒá®ážáá±á¬ á¡áá±ážá áááºá¡áá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá±á¬áºáá¯ááºáá«á
á á¬ááá¯ááºáááºááŸááºáá»á¬ážá¡ááŒá±á¬ááºáž á¡ááŒá¶á¥á¬ááºáá»á¬áž á¡ááŒá¶ááŒá¯áá»ááºááá¯áááºáž ááá°ááá¯áá«áááºá á áááºáá°ážááᯠááá±á¬áá»ááẠrfc á¡ááœáẠáá°ááŒááºážáá±ážááá¯á· ááœááºá¡á¬ážááᯠááŸá¬ááŒáá·áºáááºá
áá±á¬ááºážáá«ážá á¡á
áááºá¡ááá¯ááºáž á¡áá»á¬ážá¡ááŒá¬ážááᯠáá°ážáá°ááá·áºá¡áá«á á€áá±á¬ááºážáá«ážá¡ááœáẠááá·áºááºáá
áºáᯠáá±ážáá«á
á¡ááŒá¬ážáá¬áá¬á
áá¬ážáá
áºáá¯áá¯ááá¯á· áá¬áá¬ááŒááºááá·áºá¡áá«á á€áá±á¬ááºážáá«ážá¡ááœáẠááá·áºááºáá
áºáá¯áá±ážáá«á
áá»áœááºáá±á¬áºááá¯ááºááá¯áẠá¡ááºá¹áááááºááᯠáá¬áá¬ááŒááºááŒá®áž á¡ááŒááºá¡ááŸáẠá¡ááá¯ážá¡áá¬ážááœá± áá»ááºáá¬ážáááºá
source: www.habr.com