Thứ Năm, 27 tháng 7, 2023

Cấu hình ssl seft signed cho postgresql

Về hệ thống database thì vấn đề security chúng ta phải đặt lên hàng đầu. Sau đây tôi sẽ hướng dẫn cách cấu hình ssl seft-signed cho postgresql.

Step 1: Thực hiện tạo key cho server

Ví dụ ở đây tôi tạo key server 10 năm
sudo -iu postgres
cd $PGDATA
openssl req -new -x509 -days 3650 -nodes -text -out server.crt -keyout server.key -subj "/CN=pgserver02"
cp server.crt root.crt
chmod og-rwx server.key

Step 2: Thực hiện enable ssl cho postgresql

vi $PGDATA/postgresql.conf
ssl = on
ssl_ca_file = 'root.crt'
ssl_cert_file = 'server.crt'
ssl_crl_file = ''
ssl_key_file = 'server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on
Restart PG
pg_ctl restart -D $PGDATA

Step 3: Thực hiện tạo key và certificate cho user

Ví dụ tạo key 1 năm cho user
cd /home/postgres/test
Thực hiện tạo key
openssl req -new -nodes -keyout testuser.key -out testuser.csr -subj '/CN=testuser'
Tạo certificate 1 năm cho user
openssl x509 -days 365 -req -CAcreateserial -in testuser.csr -CA $PGDATA/root.crt -CAkey $PGDATA/server.key -out testuser.crt
Cấu hình quyền cho file private key
chmod og-rwx testuser.key
Kiểm tra certificate của user vừa tạo
openssl verify -CAfile $PGDATA/root.crt -purpose sslclient testuser.crt

Step 4: Thực hiện cho phép user và client kết nối đến server

sudo su - postgres
vi $PGDATA/pg_hba.conf
hostssl <dbname> <username> <Client IP Adress>/32 cert
ví dụ:
hostssl dbname01 testuser 192.168.56.102/32 cert
:wq

pg_ctl -D $PGDATA reload

Step 5: Thực hiện testing kết nối từ client đến server với user key và chứng thực vừa tạo

psql 'host=192.168.56.102 port=5432 dbname=dbname01 user=testuser sslmode=verify-full sslcert=testuser.crt sslkey=testuser.key sslrootcert=root.crt' 


Vậy là chúng ta đã cấu hình xong ssl self-signed cho postgresql. Do khá bận nên tôi chỉ viết ngắn gọn cho trường hợp ssl mode verify-full. Bạn có thể tìm hiều và thử thêm cho các trường hợp khác. Hy vọng sẽ giúp ích được cho bạn!!! Cảm ơn

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
Cấu hình ssl seft signed cho postgresql, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master