¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

17.8. SSL�ˤ�������TCP/IP��³

PostgreSQL��ɸ���SSL��³�򥵥ݡ��Ȥ������饤�����/�����Ф��̿�������˰����ˤʤ�褦�Ź沽���ޤ��� ���Τ���ˤ�OpenSSL�����饤����Ȥȥ����Х����ƥ��ξ���˥��󥹥ȡ��뤵�졢���ۻ���PostgreSQL�ˤ����뤽�Υ��ݡ��Ȥ�ͭ���ˤʤäƤ���ɬ�פ�����ޤ���第15章�򻲾Ȥ��Ƥ��������ˡ�

SSL���ݡ��Ȥ�ͭ���ˤ��ƥ���ѥ��뤵�줿��硢PostgreSQL�����Фϡ�postgresql.conf�ˤ�����ssl�ѥ�᡼����on�ˤ��뤳�Ȥǡ�SSL���ݡ��Ȥ�ͭ���ˤ��Ƶ�ư���뤳�Ȥ��Ǥ��ޤ��� �����Ф�Ʊ��TCP�ݡ��Ȥ�ɸ��Ū����³��SSL��³��ξ�����Ԥ����������饤����ȤȤ���³��SSL����Ѥ��뤫�ɤ�����Ĵ�䤷�ޤ��� �ǥե���ȤǤϡ�����ϥ��饤����Ȥ������Ǥ��� �����ޤ��Ϥ��٤Ƥ���³��SSL�λ��Ѥ�ɬ�פȤ����뤿��Υ�����¦��������ˡ�˴ؤ��Ƥ�項19.1�򻲾Ȥ��Ƥ���������

PostgreSQL�ϡ������ƥ������Ѥ�OpenSSL����ե�������ɤ߼��ޤ��� �ǥե���ȤǤϡ����Υե������̾����openssl.cnf�Ǥ��ꡢopenssl version -d����𤵤��ǥ��쥯�ȥ��¸�ߤ��ޤ��� ���Υǥե���ȤϴĶ��ѿ�OPENSSL_CONF���˾��������ե������̾�������ꤹ�뤳�Ȥˤ���ѹ���ǽ�Ǥ���

OpenSSL�ϡ����٤��ۤʤ롢¿���ΰŹ沽�����ǧ���ѤΥ��르�ꥺ��򥵥ݡ��Ȥ��ޤ��� �Ź�ΰ�����OpenSSL����ե�������ǻ��ꤹ�뤳�Ȥ��Ǥ��ޤ�����postgresql.conf���ssl_ciphers���ѹ����뤳�Ȥǡ��ǡ����١��������Фǻ��Ѥ����Ź����ꤹ�뤳�Ȥ��Ǥ��ޤ���

注意: NULL-SHA�ޤ���NULL-MD5�Ź����Ѥ��ưŹ沽�Υ����С��إåɤʤ���ǧ�ڤ�Ԥ����Ȥ���ǽ�Ǥ��� ����������ּԤϥ��饤����ȥ����д֤��̿����ɤ߼����Ѥ��뤳�Ȥ��Ǥ��ޤ��� �ޤ����Ź沽�Υ����С��إåɤ�ǧ�ڤΥ����С��إåɤ���٤�ȺǾ��Ǥ��� ����������ͳ�ˤ��NULL�Ź�Ͽ侩���ޤ���

SSL�⡼�ɤ�Ϥ��ˤϡ�server.crt�����server.key�ե����뤬�����ФΥǡ����ǥ��쥯�ȥ��¸�ߤ��ʤ���Фʤ�ޤ��� �����Υե�����ˤϡ������о�������̩���������줾��ޤޤ�ޤ��� Unix�����ƥ�Ǥϡ�server.key�θ��¤Ͻ�ͭ�԰ʳ�����Υ�����������Ĥ��ƤϤʤ�ޤ��� �����chmod 0600 server.key�Ȥ������ޥ�ɤǼ¸��Ǥ��ޤ��� ��̩�������ѥ��ե졼�����ݸ��Ƥ����硢�����Фϥѥ��ե졼�������Ϥ�¥�������Ϥ����ޤǤϵ�ư���ޤ���

17.8.1. ���饤����Ⱦ�����λ���

���饤����Ȥ˿���Ǥ����������׵᤹�뤿��ˤϡ����ꤹ��ǧ�ڶɡ�CA�ˤξ������ǡ����ǥ��쥯�ȥ����root.crt�ե�����˵��Ҥ���pg_hba.conf��Ŭ�ڤʹԡ�ʣ���⤢��ˤ�clientcert�ѥ�᡼����1�����ꤷ�ޤ��� ���θ塢SSL��³��ư���˥��饤����Ȥ���ξ������׵ᤵ��ޤ��� �ʥ��饤����Ȥˤ���������������ˡ�ˤĤ��Ƥ�項30.17�򻲾Ȥ��Ƥ����������� �����Фϡ����饤����Ȥξ����񤬿��ꤹ��ǧ�ڶɤΤ����줫�ˤ���̾����Ƥ��뤳�Ȥ򸡾ڤ��ޤ��� root.crl�ե����뤬¸�ߤ����硢���������ꥹ�ȡ�CRL�˹��ܤ⸡������ޤ��� ��SSL������λ�����ˡ�μ����ޤˤĤ��Ƥ�http://h71000.www7.hp.com/DOC/83final/BA554_90007/ch04s02.html�򻲾Ȥ��Ƥ�����������

pg_hba.conf�����clientcert���ץ��������Ƥ�ǧ���������Ф���ͭ���Ǥ�����hostssl�Ȥ��ƻ��ꤵ�줿�ԤΤߤ��Ф��ƤǤ������ꤵ��ʤ���硢�ǥե���ȤǤϥ��饤����Ⱦ�����򸡾ڤ��ޤ���

�桼����ǧ�ڤ˥��饤����Ⱦ��������Ѥ��뤿���certǧ����������Ѥ��뤳�Ȥ��Ǥ��ޤ��� �ܺ٤ˤĤ��Ƥ�項19.3.8�򻲾Ȥ��Ƥ���������

17.8.2. �����Фˤ�����SSL��Ϣ�ե����������

server.key��server.crt��root.crt��root.crl�ե�����ϡ������е�ư���ˤΤ߸�������ޤ��� �Ǥ��Τǡ������Υե�������ѹ���ͭ���ˤ��뤿��ˤϥ����Ф�Ƶ�ư����ɬ�פ�����ޤ���

表 17-3. SSL�����Хե�����λ�����ˡ

�ե����������ƶ�
server.crt�����о��������饤����Ȥ��׵ᤷ�ޤ�
server.keys�����Ф���̩������ͭ�Ԥ��������������о����򸡾ڤ��ޤ����������ͭ�Ԥ�����Ǥ��뤳�Ȥ��̣���ޤ���
root.crt����Ǥ���ǧ�ڶ����ꤹ��ǧ�ڶɤˤ���̾���줿�����񤫸������ޤ���
root.crlǧ�ڶɤˤ�꼺�����줿���������饤����Ⱦ����Ϥ��ΰ����ˤ���ɬ�פϤ���ޤ���

17.8.3. ���ʽ�̾������κ���

To create a quick self-signed certificate for the server, use the following OpenSSL command: --> �������Ѥμ��ʽ�̾��������ñ�˺�뤿��ˤϲ�����OpenSSL���ޥ�ɤ�ȤäƤ���������

openssl req -new -text -out server.req

openssl����Ф�������������Ƥ��������� ���λ���"Common Name"�ˤϳμ¤˥�������ۥ���̾�����Ϥ��Ƥ��������� �����󥸥ѥ���ɤ϶���Ǥ⹽���ޤ��� ���Υץ������ϥѥ��ե졼�����ݸ�줿�������������ޤ�����4ʸ���ʲ��Υѥ��ե졼����ǧ����ޤ��� �ѥ��ե졼���������뤿��ˤϡʥ����Фμ�ư��ư��Ԥ������ΤǤ���Сˡ������Υ��ޥ�ɤ�¹Ԥ��Ƥ���������

openssl rsa -in privkey.pem -out server.key
rm privkey.pem

��¸�Υ����Υ��å��򳰤�����ˡ��Ť��ѥ��ե졼�������Ϥ��ޤ��� �����ơ�������¹Ԥ��Ƥ���������

openssl req -x509 -in server.req -text -key server.key -out server.crt

���Τ褦�ˡ�������򼫸ʽ�̾�ξ�����ˤ��ơ������Ⱦ�����Ȥ򥵡��Ф�����������˥��ԡ����ޤ��� �����ФϤ⤷���Υե����뤬��������뤤�ѡ��ߥå����ξ����ݤ���Τǡ��ǽ�Ū�˰ʲ���Ԥ��ޤ���

chmod og-rwx server.key

�����Ф���̩��������Ӿ������������뤿��ξܤ�����ˡ�ˤĤ��Ƥ�OpenSSL��ʸ��򻲾Ȥ��Ƥ���������

���ʽ�̾��������Τ���˻��Ѥ��뤳�ȤϤǤ��ޤ��������饤����Ȥ������Фοȸ��򸡾ڤǤ��ޤ��Τǡ����ѻ��ϡʥ������Х��CA��1�Ĥޤ��ϥ��������ǧ�ڶɤΤ����줫�Ρ�ǧ�ڶɡ�CA�ˤˤ���̾���줿���������Ѥ��٤��Ǥ����⤷���ƤΥ��饤����Ȥ��ȿ��ˤ����ƥ�������Ǥ���С���������CA�λ��Ѥ��侩����ޤ���