18.3. ÐодклÑÑÐµÐ½Ð¸Ñ Ð¸ аÑÑенÑиÑикаÑÐ¸Ñ #
18.3.1. ÐаÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений #
listen_addresses(string) #ÐадаÑÑ Ð°Ð´ÑеÑа TCP/IP, по коÑоÑÑм ÑеÑÐ²ÐµÑ Ð±ÑÐ´ÐµÑ Ð¿ÑинимаÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ Ð¿Ñиложений. ÐÑо знаÑение пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑоÑÐ¼Ñ ÑпиÑка, ÑазделÑнного запÑÑÑми, из имÑн и/или ÑиÑловÑÑ IP-адÑеÑов Ñзлов. ÐÑобÑй ÑлеменÑ,
*, обознаÑÐ°ÐµÑ Ð²Ñе имеÑÑиеÑÑ IP-инÑеÑÑейÑÑ. ÐапиÑÑ0.0.0.0позволÑÐµÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ Ð²Ñе адÑеÑа IPv4, а::â вÑе адÑеÑа IPv6. ÐÑли ÑпиÑок пÑÑÑ, ÑеÑÐ²ÐµÑ Ð½Ðµ бÑÐ´ÐµÑ Ð¿ÑивÑзÑваÑÑÑÑ Ð½Ð¸ к ÐºÐ°ÐºÐ¾Ð¼Ñ IP-инÑеÑÑейÑÑ, а знаÑиÑ, подклÑÑиÑÑÑÑ Ðº Ð½ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑÐ´ÐµÑ ÑолÑко ÑеÑез Unix-ÑокеÑÑ. ÐÑи непÑÑÑом ÑпиÑке ÑеÑÐ²ÐµÑ Ð·Ð°Ð¿ÑÑÑиÑÑÑ, еÑли ÑÐ¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ñ Ð¾ÑÑ Ð±Ñ Ð¿Ð¾ Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ TCP/IP. ÐÑедÑпÑеждение бÑÐ´ÐµÑ Ð²Ñдано Ð´Ð»Ñ Ð»Ñбого адÑеÑа TCP/IP, коÑоÑÑй невозможно оÑкÑÑÑÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑодеÑÐ¶Ð¸Ñ localhost, ÑÑо допÑÑÐºÐ°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к ÑеÑвеÑÑ Ð¿Ð¾ TCP/IP ÑолÑко ÑеÑез локалÑнÑй инÑеÑÑÐµÐ¹Ñ Â«Ð·Ð°Ð¼ÑканиÑ».ХоÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ аÑÑенÑиÑикаÑии клиенÑов (Ñм. ÐлавÑ 19) позволÑÐµÑ Ð³Ð¸Ð±ÐºÐ¾ ÑпÑавлÑÑÑ Ð´Ð¾ÑÑÑпом полÑзоваÑелей к ÑеÑвеÑÑ, паÑамеÑÑ
listen_addressesÐ¼Ð¾Ð¶ÐµÑ Ð¾Ð³ÑаниÑиÑÑ Ð¸Ð½ÑеÑÑейÑÑ, ÑеÑез коÑоÑÑе бÑдÑÑ Ð¿ÑинимаÑÑÑÑ ÑоединениÑ, ÑÑо бÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð»Ð¾Ð½Ð°Ð¼ÐµÑеннÑÑ Ð¿Ð¾Ð¿ÑÑок подклÑÑÐµÐ½Ð¸Ñ ÑеÑез незаÑиÑÑннÑе ÑеÑевÑе инÑеÑÑейÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.port(integer) #TCP-поÑÑ, оÑкÑÑваемÑй ÑеÑвеÑом; по ÑмолÑаниÑ, 5432. ÐамеÑÑÑе, ÑÑо ÑÑÐ¾Ñ Ð¿Ð¾ÑÑ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ IP-адÑеÑов, ÑеÑез коÑоÑÑе ÑеÑÐ²ÐµÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
max_connections(integer) #ÐпÑеделÑÐµÑ Ð¼Ð°ÐºÑималÑное ÑиÑло одновÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений к ÑеÑвеÑÑ ÐÐ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð±ÑÑно ÑÑо 100 подклÑÑений, но ÑÑо ÑиÑло Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼ÐµÐ½ÑÑе, еÑли ÑдÑо накладÑÐ²Ð°ÐµÑ Ñвои огÑаниÑÐµÐ½Ð¸Ñ (ÑÑо опÑеделÑеÑÑÑ Ð² пÑоÑеÑÑе initdb). ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
ÐÐ»Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа знаÑение ÑÑого паÑамеÑÑа должно бÑÑÑ Ð±Ð¾Ð»ÑÑе или Ñавно знаÑÐµÐ½Ð¸Ñ Ð½Ð° ведÑÑем. РпÑоÑивном ÑлÑÑае на ведомом ÑеÑвеÑе не бÑдÑÑ ÑазÑеÑÐµÐ½Ñ Ð·Ð°Ð¿ÑоÑÑ.
reserved_connections(integer) #ÐпÑеделÑÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво «ÑлоÑов» подклÑÑений, коÑоÑÑе PostgreSQL бÑÐ´ÐµÑ ÑезеÑвиÑоваÑÑ Ð´Ð»Ñ Ñолей Ñ Ð¿Ñавами Ñоли
pg_use_reserved_connections. Ðогда ÑиÑло акÑивнÑÑ Ð¾Ð´Ð½Ð¾Ð²ÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений болÑÑе superuser_reserved_connections, но менÑÑе ÑÑммÑsuperuser_reserved_connectionsиreserved_connections, пÑинимаÑÑÑÑ ÑолÑко подклÑÑÐµÐ½Ð¸Ñ ÑÑпеÑполÑзоваÑелей и Ñолей Ñ Ð¿Ñавамиpg_use_reserved_connections. ÐÑли колиÑеÑÑво подклÑÑений менÑÑе или Ñавноsuperuser_reserved_connections, пÑинимаÑÑÑÑ ÑолÑко подклÑÑÐµÐ½Ð¸Ñ ÑÑпеÑполÑзоваÑелей.Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð½Ðµ ÑезеÑвиÑÑÑÑÑÑ (паÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð½Ñлевое знаÑение). ÐÑо знаÑение должно бÑÑÑ Ð¼ÐµÐ½ÑÑе знаÑениÑ
max_connectionsминÑÑsuperuser_reserved_connections. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.superuser_reserved_connections(integer) #ÐпÑеделÑÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво «ÑлоÑов» подклÑÑений, коÑоÑÑе Postgres Pro бÑÐ´ÐµÑ ÑезеÑвиÑоваÑÑ Ð´Ð»Ñ ÑÑпеÑполÑзоваÑелей. ÐÑи ÑÑом вÑего одновÑеменно акÑивнÑми могÑÑ Ð±ÑÑÑ Ð¼Ð°ÐºÑимÑм max_connections подклÑÑений. Ðогда ÑиÑло акÑивнÑÑ Ð¾Ð´Ð½Ð¾Ð²ÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений болÑÑе или Ñавно
max_connectionsминÑÑsuperuser_reserved_connections, пÑинимаÑÑÑÑ ÑолÑко подклÑÑÐµÐ½Ð¸Ñ ÑÑпеÑполÑзоваÑелей. СлоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ, заÑезеÑвиÑованнÑе ÑÑим паÑамеÑÑом, пÑедназнаÑÐµÐ½Ñ Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑкÑÑÑеннÑÑ ÑлÑÑаÑÑ , когда законÑаÑÑÑ ÑлоÑÑ, заÑезеÑвиÑованнÑе reserved_connections.Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑезеÑвиÑÑÑÑÑÑ ÑÑи ÑоединениÑ. ÐÑо знаÑение должно бÑÑÑ Ð¼ÐµÐ½ÑÑе знаÑениÑ
max_connectionsминÑÑreserved_connections. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.unix_socket_directories(string) #ÐадаÑÑ ÐºÐ°Ñалог Unix-ÑокеÑа, ÑеÑез коÑоÑÑй ÑеÑÐ²ÐµÑ Ð±ÑÐ´ÐµÑ Ð¿ÑинимаÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ Ð¿Ñиложений. СоздаÑÑ Ð½ÐµÑколÑко ÑокеÑов можно, пеÑеÑиÑлив в ÑÑом знаÑении неÑколÑко каÑалогов ÑеÑез запÑÑÑÑ. ÐÑÐ¾Ð±ÐµÐ»Ñ Ð¼ÐµÐ¶Ð´Ñ ÑлеменÑами ÑÑого ÑпиÑка игноÑиÑÑÑÑÑÑ; еÑли в пÑÑи каÑалога ÑодеÑжаÑÑÑ Ð¿ÑобелÑ, его нÑжно заклÑÑаÑÑ Ð² двойнÑе кавÑÑки. ÐÑи пÑÑÑом знаÑении ÑеÑÐ²ÐµÑ Ð½Ðµ бÑÐ´ÐµÑ ÑабоÑаÑÑ Ñ Unix-ÑокеÑами, в ÑÑом ÑлÑÑае к Ð½ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑÐ´ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ ÑолÑко по TCP/IP.
ÐнаÑение, коÑоÑое наÑинаеÑÑÑ Ñ
@, ÑказÑваеÑ, ÑÑо бÑÐ´ÐµÑ Ñоздан ÑÐ¾ÐºÐµÑ Ð´Ð¾Ð¼ÐµÐ½Ð° Unix в абÑÑÑакÑном пÑоÑÑÑанÑÑве имÑн (в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко в Linux). Такое знаÑение задаÑÑ Ð½Ðµ «каÑалог», а пÑеÑикÑ, из коÑоÑого полÑÑаеÑÑÑ ÑакÑиÑеÑкое Ð¸Ð¼Ñ ÑокеÑа Ñаким же обÑазом, как и Ð´Ð»Ñ Ð¿ÑоÑÑÑанÑÑва имÑн Ñайловой ÑиÑÑемÑ. ХоÑÑ Ð¿ÑеÑÐ¸ÐºÑ Ð¸Ð¼ÐµÐ½Ð¸ абÑÑÑакÑного ÑокеÑа Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑоизволÑнÑм, поÑколÑÐºÑ Ð¾Ð½ не задаÑÑ Ð¿ÑÑÑ Ð² Ñайловой ÑиÑÑеме, пÑинÑÑо иÑполÑзоваÑÑ Ð·Ð½Ð°ÑениÑ, подобнÑе пÑÑÑм в Ñайловой ÑиÑÑеме, Ñакие как@/tmp.ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð±ÑÑно
/tmp, но оно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾ во вÑÐµÐ¼Ñ ÑбоÑки. Ð Windows по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑо знаÑение не задано, Ñо еÑÑÑ ÑÐ¾ÐºÐµÑ Ð´Ð¾Ð¼ÐµÐ½Ð° Unix не ÑоздаÑÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÑÑановиÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.Ðомимо Ñамого Ñайла ÑокеÑа, коÑоÑÑй назÑваеÑÑÑ
.s.PGSQL.(гдеnnnnnnnnâ Ð½Ð¾Ð¼ÐµÑ Ð¿Ð¾ÑÑа ÑеÑвеÑа), в каждом каÑалогеunix_socket_directoriesÑоздаÑÑÑÑ Ð¾Ð±ÑÑнÑй Ñайл.s.PGSQL.. Ðи в коем ÑлÑÑае не ÑдалÑйÑе ÑÑи ÑÐ°Ð¹Ð»Ñ Ð²ÑÑÑнÑÑ. ÐÐ»Ñ ÑокеÑов в абÑÑÑакÑном пÑоÑÑÑанÑÑве имÑн Ñайлnnnn.lock.lockне ÑоздаÑÑÑÑ.unix_socket_group(string) #ÐадаÑÑ Ð³ÑÑппÑ-владелÑÑа Unix-ÑокеÑов. (ÐолÑзоваÑелем-владелÑÑем ÑокеÑов вÑегда бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, запÑÑкаÑÑий ÑеÑвеÑ.) Ð ÑоÑеÑании Ñ
unix_socket_permissionsданнÑй паÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ ÐºÐ°Ðº дополниÑелÑнÑй Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпом к Unix-ÑокеÑам. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ ÑодеÑÐ¶Ð¸Ñ Ð¿ÑÑÑÑÑ ÑÑÑокÑ, Ñо еÑÑÑ Ð³ÑÑппой-владелÑÑем ÑÑановиÑÑÑ Ð¾ÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð³ÑÑппа полÑзоваÑелÑ, запÑÑкаÑÑего ÑеÑвеÑ. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.Ð Windows даннÑй паÑамеÑÑ Ð½Ðµ поддеÑживаеÑÑÑ, Ñак ÑÑо лÑбое его знаÑение ни на ÑÑо не влиÑеÑ. ÐÑоме Ñого, ÑокеÑÑ Ð² абÑÑÑакÑном пÑоÑÑÑанÑÑве имÑн не имеÑÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑа Ñайла, поÑÑÐ¾Ð¼Ñ Ð´Ð»Ñ ÑÐ°ÐºÐ¸Ñ ÑокеÑов даннÑй паÑамеÑÑ Ñакже игноÑиÑÑеÑÑÑ.
unix_socket_permissions(integer) #ÐадаÑÑ Ð¿Ñава доÑÑÑпа к Unix-ÑокеÑам. ÐÐ»Ñ Unix-ÑокеÑов пÑименÑеÑÑÑ Ð¾Ð±ÑÑнÑй Ð½Ð°Ð±Ð¾Ñ ÑазÑеÑений Unix. ÐнаÑение паÑамеÑÑа ожидаеÑÑÑ Ð² ÑиÑловом виде, коÑоÑÑй пÑинимаÑÑ ÑÑнкÑии
chmodиumask. (ÐÐ»Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑÑного воÑÑмеÑиÑного ÑоÑмаÑа ÑиÑло должно наÑинаÑÑÑÑ Ñ0(нÑлÑ).)Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð´ÐµÐ¹ÑÑвÑÑÑ ÑазÑеÑениÑ
0777, пÑи коÑоÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ðº ÑокеÑÑ Ð¼Ð¾Ð³ÑÑ Ð²Ñе. ÐÑÑгие ÑазÑмнÑе ваÑианÑÑ â0770(доÑÑÑп Ð¸Ð¼ÐµÐµÑ ÑолÑко полÑзоваÑÐµÐ»Ñ Ð¸ гÑÑппа, Ñм. Ñакжеunix_socket_group) и0700(ÑолÑко полÑзоваÑелÑ). (ÐамеÑÑÑе, ÑÑо Ð´Ð»Ñ Unix-ÑокеÑов ÑÑебÑеÑÑÑ ÑолÑко пÑаво на запиÑÑ, Ñак ÑÑо добавлÑÑÑ Ð¸Ð»Ð¸ оÑзÑваÑÑ Ð¿Ñава на ÑÑение/вÑполнение не Ð¸Ð¼ÐµÐµÑ ÑмÑÑла.)ÐÑÐ¾Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпом не завиÑÐ¸Ñ Ð¾Ñ Ð¾Ð¿Ð¸Ñанного в Ðлаве 19.
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
ÐаннÑй паÑамеÑÑ Ð½ÐµÐ¿Ñименим Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ ÑиÑÑем, в ÑаÑÑноÑÑи, Solaris (а именно Solaris 10), коÑоÑÑе полноÑÑÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑÑÑ ÑазÑеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑокеÑов. Ð ÑÐ°ÐºÐ¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ Ð¿ÑимеÑно ÑÐ¾Ñ Ð¶Ðµ ÑÑÑÐµÐºÑ Ð¼Ð¾Ð¶Ð½Ð¾ полÑÑиÑÑ, Ñказав в паÑамеÑÑе
unix_socket_directoriesкаÑалог, доÑÑÑп к коÑоÑÐ¾Ð¼Ñ Ð¾Ð³ÑаниÑен должнÑм обÑазом.СокеÑÑ Ð² абÑÑÑакÑном пÑоÑÑÑанÑÑве имÑн не имеÑÑ Ð¿Ñав доÑÑÑпа к Ñайлам, поÑÑÐ¾Ð¼Ñ Ð´Ð»Ñ ÑÐ°ÐºÐ¸Ñ ÑокеÑов даннÑй паÑамеÑÑ Ñакже игноÑиÑÑеÑÑÑ.
bonjour(boolean) #ÐклÑÑÐ°ÐµÑ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¾ ÑÑÑеÑÑвовании ÑеÑвеÑа поÑÑедÑÑвом Bonjour. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑклÑÑен. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
bonjour_name(string) #ÐадаÑÑ Ð¸Ð¼Ñ ÑлÑÐ¶Ð±Ñ Ð² ÑÑеде Bonjour. ÐÑли знаÑение ÑÑого паÑамеÑÑа â пÑÑÑÐ°Ñ ÑÑÑока (
'') (ÑÑо знаÑение по ÑмолÑаниÑ), в каÑеÑÑве ÑÑого имени иÑполÑзÑеÑÑÑ Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ, еÑли ÑеÑÐ²ÐµÑ Ð±Ñл ÑкомпилиÑован без поддеÑжки Bonjour. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
18.3.2. ÐаÑамеÑÑÑ TCP #
tcp_keepalives_idle(integer) #ÐадаÑÑ Ð¿ÐµÑиод оÑÑÑÑÑÑÐ²Ð¸Ñ ÑеÑевой акÑивноÑÑи, по иÑÑеÑении коÑоÑого опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема должна оÑпÑавиÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ TCP-Ñигнал ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑоединениÑ. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в ÑекÑÐ½Ð´Ð°Ñ . ÐÑи знаÑении 0 (по ÑмолÑаниÑ) дейÑÑвÑÐµÑ Ð²ÐµÐ»Ð¸Ñина, пÑинÑÑÐ°Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð² опеÑаÑионной ÑиÑÑеме. Ð Windows пÑи пÑиÑваивании нÑлевого знаÑÐµÐ½Ð¸Ñ ÑÑÐ¾Ñ Ð¿ÐµÑиод ÑÑÑанавливаеÑÑÑ ÑавнÑм 2 ÑаÑам, Ñак как Windows не позволÑÐµÑ Ð¿ÑоÑиÑаÑÑ ÑиÑÑемное знаÑение по ÑмолÑаниÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко в ÑиÑÑÐµÐ¼Ð°Ñ , воÑпÑинимаÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑ ÑокеÑа
TCP_KEEPIDLEили ÑавнознаÑнÑй, а Ñакже в Windows; в дÑÑÐ³Ð¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ Ð¾Ð½ должен бÑÑÑ Ñавен нÑлÑ. Ð ÑеанÑÐ°Ñ , подклÑÑÑннÑÑ ÑеÑез Unix-ÑокеÑÑ, он игноÑиÑÑеÑÑÑ Ð¸ вÑегда ÑÑиÑаеÑÑÑ ÑавнÑм 0.tcp_keepalives_interval(integer) #ÐадаÑÑ Ð¸Ð½ÑеÑвал, по иÑÑеÑении коÑоÑого ÑледÑÐµÑ Ð¿Ð¾Ð²ÑоÑÑÑÑ TCP-Ñигнал ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑоединениÑ, еÑли Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа не полÑÑено подÑвеÑждение пÑедÑдÑÑего Ñигнала. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в ÑекÑÐ½Ð´Ð°Ñ . ÐÑи знаÑении 0 (по ÑмолÑаниÑ) дейÑÑвÑÐµÑ Ð²ÐµÐ»Ð¸Ñина, пÑинÑÑÐ°Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð² опеÑаÑионной ÑиÑÑеме. Ð Windows пÑи нÑлевом знаÑении ÑÑÐ¾Ñ Ð¸Ð½ÑеÑвал ÑÑÑанавливаеÑÑÑ ÑавнÑм 1 ÑекÑнде, Ñак как Windows не позволÑÐµÑ Ð¿ÑоÑиÑаÑÑ ÑиÑÑемное знаÑение по ÑмолÑаниÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко в ÑиÑÑÐµÐ¼Ð°Ñ , воÑпÑинимаÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑ ÑокеÑа
TCP_KEEPINTVLили ÑавнознаÑнÑй, а Ñакже в Windows; в дÑÑÐ³Ð¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ Ð¾Ð½ должен бÑÑÑ Ñавен нÑлÑ. Ð ÑеанÑÐ°Ñ , подклÑÑÑннÑÑ ÑеÑез Unix-ÑокеÑÑ, он игноÑиÑÑеÑÑÑ Ð¸ вÑегда ÑÑиÑаеÑÑÑ ÑавнÑм 0.tcp_keepalives_count(integer) #ÐадаÑÑ ÑиÑло TCP-Ñигналов ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑоединениÑ, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¿Ð¾ÑеÑÑÐ½Ñ Ð´Ð¾ Ñого, как Ñоединение ÑеÑвеÑа Ñ ÐºÐ»Ð¸ÐµÐ½Ñом бÑÐ´ÐµÑ Ð¿Ñизнано пÑеÑваннÑм. ÐÑи знаÑении 0 (по ÑмолÑаниÑ) дейÑÑвÑÐµÑ Ð²ÐµÐ»Ð¸Ñина, пÑинÑÑÐ°Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð² опеÑаÑионной ÑиÑÑеме. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко в ÑиÑÑÐµÐ¼Ð°Ñ , воÑпÑинимаÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑ ÑокеÑа
TCP_KEEPCNTили ÑавнознаÑнÑй (Windows не Ð²Ñ Ð¾Ð´Ð¸Ñ Ð² Ð¸Ñ ÑиÑло); в дÑÑÐ³Ð¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ Ð¾Ð½ должен бÑÑÑ Ñавен нÑлÑ. Ð ÑеанÑÐ°Ñ , подклÑÑÑннÑÑ ÑеÑез Unix-ÑокеÑÑ, он игноÑиÑÑеÑÑÑ Ð¸ вÑегда ÑÑиÑаеÑÑÑ ÑавнÑм 0.tcp_user_timeout(integer) #ÐадаÑÑ Ð¸Ð½ÑеÑвал, в ÑеÑение коÑоÑого пеÑеданнÑе даннÑе могÑÑ Ð¾ÑÑаваÑÑÑÑ Ð½ÐµÐ¿Ð¾Ð´ÑвеÑждÑннÑми, пÑежде Ñем бÑÐ´ÐµÑ Ð¿ÑинÑÑо ÑеÑение о пÑинÑдиÑелÑном закÑÑÑии TCP-ÑоединениÑ. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑи знаÑении 0 (по ÑмолÑаниÑ) дейÑÑвÑÐµÑ Ð²ÐµÐ»Ð¸Ñина, пÑинÑÑÐ°Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð² опеÑаÑионной ÑиÑÑеме. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко в ÑиÑÑÐµÐ¼Ð°Ñ , воÑпÑинимаÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑ ÑокеÑа
TCP_USER_TIMEOUT(Windows не Ð²Ñ Ð¾Ð´Ð¸Ñ Ð² Ð¸Ñ ÑиÑло); в дÑÑÐ³Ð¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ Ð¾Ð½ должен бÑÑÑ Ñавен нÑлÑ. Ð ÑеанÑÐ°Ñ , подклÑÑÑннÑÑ ÑеÑез доменнÑе ÑокеÑÑ Unix, он игноÑиÑÑеÑÑÑ Ð¸ вÑегда ÑÑиÑаеÑÑÑ ÑавнÑм 0.client_connection_check_interval(integer) #ÐадаÑÑ Ð¸Ð½ÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð½ÐµÐ¾Ð±ÑзаÑелÑнÑми пÑовеÑками ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑеÑвеÑа Ñ ÐºÐ»Ð¸ÐµÐ½Ñом в пÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа. Ð¢Ð°ÐºÐ°Ñ Ð¿ÑовеÑка, заклÑÑаÑÑаÑÑÑ Ð² опÑоÑе ÑоÑÑоÑÐ½Ð¸Ñ ÑокеÑа, позволÑÐµÑ ÑанÑÑе пÑеÑÑваÑÑ Ð´Ð»Ð¸ÑелÑнÑе запÑоÑÑ, еÑли ÑдÑо ÑообÑаеÑ, ÑÑо Ñоединение закÑÑÑо.
ÐÑа ÑÑнкÑионалÑноÑÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ ÑобÑÑий ÑдÑа, имеÑÑÐ¸Ñ ÑÑ ÑолÑко в Linux, macOS, illumos и опеÑаÑионнÑÑ ÑиÑÑÐµÐ¼Ð°Ñ ÑемейÑÑва BSD, и в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð½ÐµÐ´Ð¾ÑÑÑпна в дÑÑÐ³Ð¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ .
ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
0, Ñо еÑÑÑ Ð¿ÑовеÑка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾ÑклÑÑена. ÐÑли Ñоединение не пÑовеÑÑеÑÑÑ, ÑеÑÐ²ÐµÑ Ð¾Ð±Ð½Ð°ÑÑÐ¶Ð¸Ñ ÑазÑÑв ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑолÑко пÑи ÑледÑÑÑем обÑаÑении к ÑокеÑÑ, когда бÑÐ´ÐµÑ Ð¿ÐµÑедаваÑÑ, ожидаÑÑ Ð¸Ð»Ð¸ ÑиÑаÑÑ Ð´Ð°Ð½Ð½Ñе.ЧÑÐ¾Ð±Ñ Ñамо ÑдÑо могло надÑжно и в ÑеÑение извеÑÑного пеÑиода вÑемени обнаÑÑживаÑÑ Ð¿Ð¾ÑеÑÑннÑе TCP-ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ð¾ вÑÐµÑ ÑÑенаÑиÑÑ , вклÑÑÐ°Ñ Ñбой ÑеÑи, Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð¿Ð°ÑамеÑÑÑ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ TCP-ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² опеÑаÑионной ÑиÑÑеме или паÑамеÑÑÑ Postgres Pro tcp_keepalives_idle, tcp_keepalives_interval и tcp_keepalives_count.
18.3.3. ÐÑÑенÑиÑикаÑÐ¸Ñ #
authentication_timeout(integer) #ÐакÑималÑное вÑемÑ, за коÑоÑое должна пÑоизойÑи аÑÑенÑиÑикаÑиÑ. ÐÑли поÑенÑиалÑнÑй ÐºÐ»Ð¸ÐµÐ½Ñ Ð½Ðµ ÑÐ¼Ð¾Ð¶ÐµÑ Ð¿ÑойÑи пÑовеÑÐºÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑи за ÑÑо вÑемÑ, ÑеÑÐ²ÐµÑ Ð·Ð°ÐºÑÐ¾ÐµÑ Ñоединение. ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð·Ð°Ð²Ð¸ÑÑие пÑи подклÑÑении клиенÑÑ Ð½Ðµ бÑдÑÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð³ÑаниÑенно долго. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐнаÑение ÑÑого паÑамеÑÑа по ÑмолÑÐ°Ð½Ð¸Ñ â одна минÑÑа (
1m). ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.password_encryption(enum) #Ðогда в CREATE ROLE или ALTER ROLE задаÑÑÑÑ Ð¿Ð°ÑолÑ, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, каким алгоÑиÑмом его ÑиÑÑоваÑÑ. ÐозможнÑе знаÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ паÑамеÑÑа â
scram-sha-256(паÑÐ¾Ð»Ñ Ð±ÑÐ´ÐµÑ ÑиÑÑоваÑÑÑÑ Ð°Ð»Ð³Ð¾ÑиÑмом SCRAM-SHA-256) иmd5(паÑÐ¾Ð»Ñ ÑÐ¾Ñ ÑанÑеÑÑÑ Ð² виде Ñ ÐµÑа MD5). ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âscram-sha-256.УÑÑиÑе, ÑÑо ÑÑаÑÑе клиенÑÑ Ð¼Ð¾Ð³ÑÑ Ð½Ðµ поддеÑживаÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ пÑовеÑки подлинноÑÑи SCRAM и поÑÑÐ¾Ð¼Ñ Ð½Ðµ бÑдÑÑ ÑабоÑаÑÑ Ñ Ð¿Ð°ÑолÑми, заÑиÑÑованнÑми алгоÑиÑмом SCRAM-SHA-256. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 19.5.
scram_iterations(integer) #ÐолиÑеÑÑво вÑÑиÑлиÑелÑнÑÑ Ð¸ÑеÑаÑий пÑи ÑиÑÑовании паÑÐ¾Ð»Ñ Ñ Ð¸ÑполÑзованием SCRAM-SHA-256. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
4096. ÐолÑÑее колиÑеÑÑво иÑеÑаÑий обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð·Ð°ÑиÑÑ ÑÐ¾Ñ ÑанÑннÑÑ Ð¿Ð°Ñолей Ð¾Ñ Ð°Ñак полнÑм пеÑебоÑом, но замедлÑÐµÑ Ð°ÑÑенÑиÑикаÑиÑ. Ðзменение знаÑÐµÐ½Ð¸Ñ Ð½Ðµ влиÑÐµÑ Ð½Ð° ÑÑÑеÑÑвÑÑÑие паÑоли, заÑиÑÑованнÑе алгоÑиÑмом SCRAM-SHA-256, поÑколÑÐºÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво иÑеÑаÑий ÑикÑиÑÑеÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÑиÑÑованиÑ. ЧÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ Ð¸Ð·Ð¼ÐµÐ½Ñнное знаÑение, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ задаÑÑ Ð½Ð¾Ð²Ñй паÑолÑ.krb_server_keyfile(string) #ÐадаÑÑ ÑаÑположение Ñайла клÑÑей Kerberos Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа. ÐнаÑение по ÑмолÑаниÑ:
FILE:/usr/local/pgsql/etc/krb5.keytab(каÑалог опÑеделÑеÑÑÑ Ð·Ð½Ð°Ñением паÑамеÑÑаsysconfdirв пÑоÑеÑÑе ÑбоÑки; ÑÑÐ¾Ð±Ñ ÐµÐ³Ð¾ ÑзнаÑÑ, вÑполниÑеpg_config --sysconfdir). ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑодеÑÐ¶Ð¸Ñ Ð¿ÑÑÑÑÑ ÑÑÑокÑ, иÑполÑзÑеÑÑÑ Ð·Ð½Ð°Ñение по ÑмолÑаниÑ, завиÑÑÑее Ð¾Ñ ÑиÑÑемÑ. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 19.6.krb_caseins_users(boolean) #ÐпÑеделÑеÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð»Ð¸ имена полÑзоваÑелей GSSAPI обÑабаÑÑваÑÑÑÑ Ð±ÐµÐ· ÑÑÑÑа ÑегиÑÑÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа â
off(ÑегиÑÑÑ ÑÑиÑÑваеÑÑÑ). ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.gss_accept_delegation(boolean) #ÐпÑеделÑеÑ, должно ли пÑинимаÑÑÑÑ Ð´ÐµÐ»ÐµÐ³Ð¸Ñование ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ GSSAPI Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа â
off, Ñо еÑÑÑ ÑÑÑÑнÑе даннÑе клиенÑа не пÑинимаÑÑÑÑ. Ðзменение ÑÑого паÑамеÑÑа наonзаÑÑÐ°Ð²Ð¸Ñ ÑеÑÐ²ÐµÑ Ð¿ÑинимаÑÑ ÑÑÑÑнÑе даннÑе, пеÑеданнÑе ÐµÐ¼Ñ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.db_user_namespace(boolean) #ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾ÑноÑиÑÑ Ð¸Ð¼ÐµÐ½Ð° полÑзоваÑелей к базам даннÑÑ . Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение off (вÑклÑÑен). ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ÐÑли он вклÑÑÑн, имена ÑоздаваемÑÑ Ð¿Ð¾Ð»ÑзоваÑелей Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¸Ð´
имÑ_полÑзоваÑелÑ@база_даннÑÑ. Ðогда подклÑÑаÑÑийÑÑ ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿ÐµÑедаÑÑимÑ_полÑзоваÑелÑ, к ÑÑÐ¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸ добавлÑеÑÑÑ@Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , и ÑеÑÐ²ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑиÑиÑÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¿Ð¾ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸. ÐамеÑÑÑе, ÑÑо Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, ÑодеÑжаÑим@, в ÑÑеде SQL поÑÑебÑеÑÑÑ Ð·Ð°ÐºÐ»ÑÑиÑÑ ÑÑо Ð¸Ð¼Ñ Ð² кавÑÑки.Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн, он не меÑÐ°ÐµÑ ÑоздаваÑÑ Ð¸ иÑполÑзоваÑÑ Ð¾Ð±ÑÑнÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ñ Ñаким именем полÑзоваÑелÑ, доÑÑаÑоÑно добавиÑÑ Ðº имени
@, напÑÐ¸Ð¼ÐµÑ Ñак:joe@. ÐолÑÑив Ñакое имÑ, ÑеÑÐ²ÐµÑ Ð¾ÑбÑоÑиÑ@, и бÑÐ´ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑиÑиÑоваÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¿Ð¾ наÑалÑÐ½Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸.ÐаÑамеÑÑ
db_user_namespaceпоÑÐ¾Ð¶Ð´Ð°ÐµÑ ÑаÑÑ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ полÑзоваÑелей на ÑÑоÑоне ÑеÑвеÑа и клиенÑа. Ðо пÑовеÑки подлинноÑÑи вÑегда вÑполнÑÑÑÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ ÑеÑвеÑа, Ñак ÑÑо, наÑÑÑÐ°Ð¸Ð²Ð°Ñ Ð°ÑÑенÑиÑикаÑиÑ, ÑледÑÐµÑ ÑказÑваÑÑ ÑеÑвеÑное пÑедÑÑавление имени, а не клиенÑÑкое. Так как меÑод аÑÑенÑиÑикаÑииmd5подмеÑÐ¸Ð²Ð°ÐµÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð² каÑеÑÑве Ñоли и на ÑÑоÑоне ÑеÑвеÑа, и на ÑÑоÑоне клиенÑа, пÑи вклÑÑÑнном паÑамеÑÑеdb_user_namespaceиÑполÑзоваÑÑmd5невозможно.ÐÑимеÑание
ÐÑа возможноÑÑÑ Ð¿ÑедлагаеÑÑÑ Ð² каÑеÑÑве вÑеменной меÑÑ, пока не бÑÐ´ÐµÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ полноÑенное ÑеÑение. Тогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð±ÑÐ´ÐµÑ Ð»Ð¸ÐºÐ²Ð¸Ð´Ð¸Ñован.
18.3.4. SSL #
Ðа дополниÑелÑной инÑоÑмаÑией о наÑÑÑойке SSL обÑаÑиÑеÑÑ Ðº РазделÑ 17.9. ÐаÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑÑованием пеÑедаÑи Ñ Ð¸ÑполÑзованием пÑоÑоколов TLS назÑваÑÑÑÑ ssl по иÑÑоÑиÑеÑким пÑиÑинам, неÑмоÑÑÑ Ð½Ð° Ñо, ÑÑо пÑоÑокол SSL пÑизнан ÑÑÑаÑевÑим. SSL в ÑÑом конÑекÑÑе иÑполÑзÑеÑÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð·Ð°Ð¼ÐµÐ½Ñемо Ñ TLS.
ssl(boolean) #РазÑеÑÐ°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ SSL. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âoff.ssl_ca_file(string) #ÐадаÑÑ Ð¸Ð¼Ñ Ñайла, ÑодеÑжаÑего ÑеÑÑиÑикаÑÑ ÑенÑÑов ÑеÑÑиÑикаÑии (ЦС) Ð´Ð»Ñ SSL-ÑеÑвеÑа. ÐÑи Ñказании оÑноÑиÑелÑного пÑÑи он ÑаÑÑмаÑÑиваеÑÑÑ Ð¾Ñ ÐºÐ°Ñалога даннÑÑ . ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑÑÑ, ÑÑо ознаÑаеÑ, ÑÑо Ñайл ÑеÑÑиÑикаÑов ЦС не загÑÑжаеÑÑÑ Ð¸ пÑовеÑка клиенÑÑÐºÐ¸Ñ ÑеÑÑиÑикаÑов не пÑоизводиÑÑÑ.ssl_cert_file(string) #ÐадаÑÑ Ð¸Ð¼Ñ Ñайла, ÑодеÑжаÑего ÑеÑÑиÑÐ¸ÐºÐ°Ñ ÑÑого SSL-ÑеÑвеÑа. ÐÑи Ñказании оÑноÑиÑелÑного пÑÑи он ÑаÑÑмаÑÑиваеÑÑÑ Ð¾Ñ ÐºÐ°Ñалога даннÑÑ . ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âserver.crt.ssl_crl_file(string) #ÐадаÑÑ Ð¸Ð¼Ñ Ñайла, ÑодеÑжаÑего ÑпиÑок оÑзÑва клиенÑÑÐºÐ¸Ñ ÑеÑÑиÑикаÑов (CRL, Certificate Revocation List) Ð´Ð»Ñ SSL. ÐÑи Ñказании оÑноÑиÑелÑного пÑÑи он ÑаÑÑмаÑÑиваеÑÑÑ Ð¾Ñ ÐºÐ°Ñалога даннÑÑ . ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑÑÑ, ÑÑо ознаÑаеÑ, ÑÑо Ñайл CRL не загÑÑжаеÑÑÑ (еÑли не задан паÑамеÑÑ ssl_crl_dir).ssl_crl_dir(string) #ÐадаÑÑ Ð¸Ð¼Ñ ÐºÐ°Ñалога, ÑодеÑжаÑего ÑпиÑок оÑзÑва клиенÑÑÐºÐ¸Ñ ÑеÑÑиÑикаÑов (CRL, Certificate Revocation List) Ð´Ð»Ñ SSL. ÐÑи Ñказании оÑноÑиÑелÑного пÑÑи он ÑаÑÑмаÑÑиваеÑÑÑ Ð¾Ñ ÐºÐ°Ñалога даннÑÑ . ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑÑÑ, ÑÑо ознаÑаеÑ, ÑÑо Ñайл CRL не загÑÑжаеÑÑÑ (еÑли не задан паÑамеÑÑ ssl_crl_file).ÐаÑалог Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ подгоÑовиÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ OpenSSL
openssl rehashилиc_rehash. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº докÑменÑаÑии OpenSSL.Ðогда пÑименÑеÑÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, ÑпиÑки оÑзÑва ÑеÑÑиÑикаÑов (Certificate Revocation List, CRL) в Ñказанном каÑалоге загÑÑжаÑÑÑÑ Ð¿Ñи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи во вÑÐµÐ¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. ÐовÑе CRL в ÑÑом каÑалоге бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ ÑÑÐ°Ð·Ñ Ð¿Ð¾ меÑе добавлениÑ. ÐÑо оÑлиÑÐ°ÐµÑ Ð´Ð°Ð½Ð½Ñй паÑамеÑÑ Ð¾Ñ ssl_crl_file, Ñ ÐºÐ¾ÑоÑÑм CRL загÑÑжаÑÑÑÑ Ð¸Ð· Ñайла во вÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑÑка ÑеÑвеÑа или пÑи пеÑезагÑÑзке конÑигÑÑаÑии. ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ Ð²Ð¼ÐµÑÑе.
ssl_key_file(string) #ÐадаÑÑ Ð¸Ð¼Ñ Ñайла, ÑодеÑжаÑего закÑÑÑÑй клÑÑ SSL-ÑеÑвеÑа. ÐÑи Ñказании оÑноÑиÑелÑного пÑÑи он ÑаÑÑмаÑÑиваеÑÑÑ Ð¾Ñ ÐºÐ°Ñалога даннÑÑ . ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âserver.key.ssl_ciphers(string) #ÐадаÑÑ ÑпиÑок набоÑов ÑиÑÑов SSL, коÑоÑÑе могÑÑ Ð¿ÑименÑÑÑÑÑ Ð´Ð»Ñ SSL-Ñоединений. СинÑакÑÐ¸Ñ ÑÑого паÑамеÑÑа и ÑпиÑок поддеÑживаемÑÑ Ð·Ð½Ð°Ñений можно найÑи на ÑÑÑаниÑе ciphers ÑÑководÑÑва по OpenSSL. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´ÐµÐ¹ÑÑвÑÐµÑ ÑолÑко Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений TLS веÑÑии 1.2 и ниже. ÐÐ»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений TLS веÑÑии 1.3 возможноÑÑÑ Ð²ÑбоÑа ÑиÑÑов в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð¾ÑÑÑÑÑÑвÑеÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
HIGH:MEDIUM:+3DES:!aNULL. ÐбÑÑно оно вполне пÑиемлемо пÑи оÑÑÑÑÑÑвии оÑобÑÑ ÑÑебований по безопаÑноÑÑи.ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ÐбÑÑÑнение знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ:
HIGH#ÐабоÑÑ ÑиÑÑов, в коÑоÑÑÑ Ð¸ÑполÑзÑÑÑÑÑ ÑиÑÑÑ Ð¸Ð· гÑÑÐ¿Ð¿Ñ Ð²ÑÑокого ÑÑÐ¾Ð²Ð½Ñ (
HIGH), (напÑимеÑ: AES, Camellia, 3DES)MEDIUM#ÐабоÑÑ ÑиÑÑов, в коÑоÑÑÑ Ð¸ÑполÑзÑÑÑÑÑ ÑиÑÑÑ Ð¸Ð· гÑÑÐ¿Ð¿Ñ ÑÑеднего ÑÑÐ¾Ð²Ð½Ñ (
MEDIUM) (напÑимеÑ, RC4, SEED)+3DES#ÐоÑÑдок ÑиÑÑов Ð´Ð»Ñ Ð³ÑÑппÑ
HIGHпо ÑмолÑÐ°Ð½Ð¸Ñ Ð² OpenSSL опÑеделÑн некоÑÑекÑно. РнÑм 3DES оказÑваеÑÑÑ Ð²ÑÑе AES128, ÑÑо непÑавилÑно, Ñак как он ÑÑиÑаеÑÑÑ Ð¼ÐµÐ½ÐµÐµ безопаÑнÑм, Ñем AES128, и ÑабоÑÐ°ÐµÑ Ð³Ð¾Ñаздо медленнее. ÐклÑÑение+3DESменÑÐµÑ ÑÑÐ¾Ñ Ð¿Ð¾ÑÑдок, ÑÑÐ¾Ð±Ñ Ð´Ð°Ð½Ð½Ñй алгоÑиÑм Ñледовал поÑле вÑÐµÑ ÑиÑÑов гÑÑппHIGHиMEDIUM.!aNULL#ÐÑклÑÑÐ°ÐµÑ Ð½Ð°Ð±Ð¾ÑÑ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½ÑÑ ÑиÑÑов, не ÑÑебÑÑÑие пÑовеÑки подлинноÑÑи. Такие набоÑÑ ÑÑÐ·Ð²Ð¸Ð¼Ñ Ð´Ð»Ñ Ð°Ñак Ñ Ð¿Ð¾ÑÑедником (MITM), поÑÑÐ¾Ð¼Ñ Ð¸ÑполÑзоваÑÑ Ð¸Ñ Ð½Ðµ ÑледÑеÑ.
ÐонкÑеÑнÑе набоÑÑ ÑиÑÑов и Ð¸Ñ ÑвойÑÑва оÑÐµÐ½Ñ ÑазлиÑаÑÑÑÑ Ð¾Ñ Ð²ÐµÑÑии к веÑÑии OpenSSL. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑакÑиÑеÑкÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ Ð½Ð¸Ñ Ð´Ð»Ñ ÑекÑÑей ÑÑÑановленной веÑÑии OpenSSL, вÑполниÑе командÑ
openssl ciphers -v 'HIGH:MEDIUM:+3DES:!aNULL'. УÑÑиÑе, ÑÑо ÑÑÐ¾Ñ ÑпиÑок ÑилÑÑÑÑеÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²ÑполнениÑ, в завиÑимоÑÑи Ð¾Ñ Ñипа клÑÑа ÑеÑвеÑа.ssl_prefer_server_ciphers(boolean) #ÐпÑеделÑеÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð»Ð¸ ÑиÑÑÑ SSL ÑеÑвеÑа пÑедпоÑиÑаÑÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑким. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon.Ðо веÑÑии Postgres Pro 9.4 ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾ÑÑÑÑÑÑвовал и пÑедпоÑÑение оÑдавалоÑÑ Ð²ÑбоÑÑ ÐºÐ»Ð¸ÐµÐ½Ñа. ÐведÑн ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð² оÑновном Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ ÑовмеÑÑимоÑÑи Ñ ÑÑими веÑÑиÑми. ÐбÑÑно лÑÑÑе иÑполÑзоваÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑеÑвеÑа, Ñак как в конÑигÑÑаÑии на ÑÑоÑоне клиенÑа более веÑоÑÑÐ½Ñ Ð¾Ñибки.
ssl_ecdh_curve(string) #ÐадаÑÑ Ð¸Ð¼Ñ ÐºÑивой Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи обмене клÑÑами ECDH. ÐÑÑ ÐºÑивÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Ð²Ñе подклÑÑаÑÑиеÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ. ÐÑо не обÑзаÑелÑно должна бÑÑÑ ÐºÑиваÑ, Ñ ÐºÐ¾ÑоÑой бÑл полÑÑен клÑÑ ÑеÑвеÑа. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âprime256v1.Ðаиболее ÑаÑпÑоÑÑÑанÑннÑе кÑивÑе в OpenSSL â
prime256v1(NIST P-256),secp384r1(NIST P-384),secp521r1(NIST P-521). ÐолнÑй ÑпиÑок доÑÑÑпнÑÑ ÐºÑивÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ полÑÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹openssl ecparam -list_curves. Ðднако не вÑе из Ð½Ð¸Ñ Ð¿ÑÐ¸Ð³Ð¾Ð´Ð½Ñ Ð´Ð»Ñ TLS.ssl_min_protocol_version(enum) #ÐадаÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¿ÑоÑокола SSL/TLS, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ Ð²ÐµÑÑии
TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. СÑаÑÑе веÑÑии библиоÑеки OpenSSL могÑÑ Ð½Ðµ поддеÑживаÑÑ Ð²Ñе ваÑианÑÑ; пÑи вÑбоÑе неподдеÑживаемой веÑÑии бÑÐ´ÐµÑ Ð²Ñдана оÑибка. ÐеÑÑии пÑоÑокола до TLS 1.0, а именно SSL v.2 и v.3, не бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² лÑбом ÑлÑÑае.ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
TLSv1.2, ÑÑо ÑооÑвеÑÑÑвÑÐµÑ ÑекомендаÑиÑм, акÑÑалÑнÑм в индÑÑÑÑии на Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑÑой докÑменÑаÑии.ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ssl_max_protocol_version(enum) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¿ÑоÑокола SSL/TLS, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ. ÐопÑÑкаÑÑÑÑ Ñе же веÑÑии, ÑÑо и Ð´Ð»Ñ ssl_min_protocol_version, а Ñакже пÑÑÑÐ°Ñ ÑÑÑока, обознаÑаÑÑÐ°Ñ Ð¾ÑÑÑÑÑÑвие огÑаниÑÐµÐ½Ð¸Ñ Ð²ÐµÑÑии. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÐµÑÑии не огÑаниÑиваÑÑÑÑ. УÑÑанавливаÑÑ Ð¼Ð°ÐºÑималÑнÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¿ÑоÑокола полезно пÑежде вÑего Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ в ÑлÑÑае пÑоблем пÑи иÑполÑзовании нового пÑоÑокола какими-Ñо компоненÑами.
ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ssl_dh_params_file(string) #ÐадаÑÑ Ð¸Ð¼Ñ Ñайла Ñ Ð¿Ð°ÑамеÑÑами алгоÑиÑма ÐиÑÑи-Хеллмана, пÑименÑемого Ð´Ð»Ñ Ñак назÑваемого ÑÑемеÑного ÑемейÑÑва DH ÑиÑÑов SSL. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð·Ð½Ð°Ñение пÑÑÑое, Ñо еÑÑÑ Ð¸ÑполÑзÑÑÑÑÑ ÑÑандаÑÑнÑе паÑамеÑÑÑ DH, заданнÑе пÑи компилÑÑии. ÐÑполÑзование неÑÑандаÑÑнÑÑ Ð¿Ð°ÑамеÑÑов DH заÑиÑÐ°ÐµÑ Ð¾Ñ Ð°Ñаки, ÑаÑÑÑиÑанной на взлом Ñ Ð¾ÑоÑо извеÑÑнÑÑ Ð²ÑÑÑоеннÑÑ Ð¿Ð°ÑамеÑÑов DH. СоздаÑÑ ÑобÑÑвеннÑй Ñайл Ñ Ð¿Ð°ÑамеÑÑами DH можно, вÑполнив командÑ
openssl dhparam -out dhparams.pem 2048.ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ssl_passphrase_command(string) #ÐадаÑÑ Ð²Ð½ÐµÑнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²ÑзÑваÑÑÑÑ, когда поÑÑебÑеÑÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð´Ð»Ñ ÑаÑÑиÑÑовÑÐ²Ð°Ð½Ð¸Ñ SSL-Ñайла, напÑÐ¸Ð¼ÐµÑ Ð·Ð°ÐºÑÑÑого клÑÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ опÑеделÑн, Ñо еÑÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¿ÑаÑиваÑÑÑÑ Ð²ÑÑÑоеннÑм Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð¾Ð¼.
ÐÑа команда должна вÑвеÑÑи паÑÐ¾Ð»Ñ Ð½Ð° ÑÑÑÑойÑÑво ÑÑандаÑÑного вÑвода и завеÑÑиÑÑÑÑ Ñ ÐºÐ¾Ð´Ð¾Ð¼ 0. Ð ÑÑÑоке паÑамеÑÑа
%pзаменÑеÑÑÑ ÑÑÑокой пÑиглаÑениÑ. (ÐапиÑиÑе%%, ÑÑÐ¾Ð±Ñ Ð²ÑвеÑÑи%бÑквалÑно.) ÐамеÑÑÑе, ÑÑо ÑÑÑока пÑиглаÑениÑ, веÑоÑÑно, бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð¿ÑобелÑ, Ñак ÑÑо ÐµÑ Ð½Ñжно бÑÐ´ÐµÑ Ð·Ð°ÐºÐ»ÑÑиÑÑ Ð² кавÑÑки. ÐÑли в конÑе добавлен один пеÑевод ÑÑÑоки, он бÑÐ´ÐµÑ Ð¾ÑÑилÑÑÑован пÑи вÑводе.ÐÑа команда не обÑзаÑелÑно должна запÑаÑиваÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. Ðна Ð¼Ð¾Ð¶ÐµÑ ÑÑиÑаÑÑ ÐµÐ³Ð¾ из Ñайла, извлеÑÑ Ð¸Ð· ÑиÑÑемной ÑвÑзки клÑÑей или полÑÑиÑÑ Ð´ÑÑгими подобнÑми ÑÑедÑÑвами. ÐÑвеÑÑÑвенноÑÑÑ Ð·Ð° вÑÐ±Ð¾Ñ Ð´Ð¾ÑÑаÑоÑно безопаÑного Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° возлагаеÑÑÑ Ð½Ð° полÑзоваÑелÑ.
ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ssl_passphrase_command_supports_reload(boolean) #ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ð°ÑамеÑÑом
ssl_passphrase_commandкоманда, запÑаÑиваÑÑÐ°Ñ Ð¿Ð°ÑолÑ, Ñакже вÑзÑваÑÑÑÑ Ð¿Ñи пеÑезагÑÑзке конÑигÑÑаÑии, еÑли Ð´Ð»Ñ Ñайла клÑÑа ÑÑебÑеÑÑÑ Ð¿Ð°ÑолÑ. Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾ÑклÑÑÑн (по ÑмолÑаниÑ), командаssl_passphrase_commandбÑÐ´ÐµÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑÑÑ Ð¿Ñи пеÑезагÑÑзке, и конÑигÑÑаÑÐ¸Ñ SSL не бÑÐ´ÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑÑÑ, еÑли ÑÑебÑеÑÑÑ Ð¿Ð°ÑолÑ. ÐÑо знаÑение Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, ÑÑебÑÑÑей Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° паÑÐ¾Ð»Ñ Ð½Ð°Ð»Ð¸ÑÐ¸Ñ ÑеÑминала TTY, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпен в пÑоÑеÑÑе ÑабоÑÑ ÑеÑвеÑа. ÐклÑÑение данного паÑамеÑÑа Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑмеÑÑно, еÑли, напÑимеÑ, паÑÐ¾Ð»Ñ ÑÑиÑÑваеÑÑÑ Ð¸Ð· Ñайла.ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.