پرش به محتوا
نوین هاست
  • سرور مجازی
  • درباره ما
  • تماس با ما
  • بازارچه
  • دانشنامه
نوین هاست
  • سرور مجازی
    • برگشت
    • سرور مجازی ایران
      • برگشت
      • سرور مجازی برج میلاد
      • سرور مجازی زیرساخت
    • سرور مجازی اروپا
      • برگشت
      • سرور مجازی المان
      • سرور مجازی انگلیس
      • سرور مجازی فرانسه
      • سرور مجازی اتریش
      • سرور مجازی هلند
      • سرور مجازی بلغارستان
      • سرور مجازی مجارستان
      • سرور مجازی دانمارک
      • سرور مجازی سوئد
      • سرور مجازی جزیره من
      • سرور مجازی جمهوری چک
      • سرور مجازی ایتالیا
      • سرور مجازی فنلاند
      • سرور مجازی یونان
      • سرور مجازی سوئیس
      • سرور مجازی ایسلند
      • سرور مجازی کرواسی
      • سرور مجازی اسپانیا
    • سرور مجازی آسیا
      • برگشت
      • سرور مجازی ترکیه
      • سرور مجازی سنگاپور
      • سرور مجازی مالزی
      • سرور مجازی شیلی
      • سرور مجازی هنگ کنگ
      • سرور مجازی امارات
      • سرور مجازی ژاپن
      • سرور مجازی روسیه
    • سرور مجازی آمریکا
      • برگشت
      • سرور مجازی امریکا
      • سرور مجازی کانادا
    • سایر VPS ها
      • برگشت
      • سرور مجازی استرالیا
      • سرور مجازی رایگان
      • سرور مجازی اقتصادی
      • سرور مجازی ترید و بایننس
      • سرور مجازی با کارت گرافیک
      • سرور مجازی نیجریه
      • سرور مجازی بورس
      • سرور مجازی کلاس آنلاین
      • سرور مجازی کاهش پینگ
      • سرور مجازی والتر
      • سرور مجازی فارکس
      • سرور مجازی میکروتیک
      • سرور مجازی NVME
  • سرور اختصاصی
    • برگشت
    • سرور اختصاصی ایران
      • برگشت
      • سرور اختصاصی برج میلاد
      • سرور اختصاصی زیرساخت
    • سرور اختصاصی اروپا
      • برگشت
      • سرور اختصاصی آلمان
      • سرور اختصاصی ترکیه
      • سرور اختصاصی فنلاند
      • سرور اختصاصی هلند
      • سرور اختصاصی انگلیس
      • سرور اختصاصی فرانسه
    • سرور اختصاصی آمریکا
      • برگشت
      • سرور اختصاصی آمریکا
      • سرور اختصاصی کانادا
    • کولوکیشن
      • برگشت
      • آسیاتک
      • زیرساخت
  • هاست
    • برگشت
    • هاست دانلود
    • هاست نامحدود
    • هاست وردپرس
    • هاست ویندوز ایران
  • نوین پلاس +
  • پنل کاربری ارتباط با ما
  • سرور مجازی
  • سرور مجازی ایرانسرور مجازی حرفه ای از ایران
  • سرور مجازی اروپاپایداری و کیفیت ، سرعت بالا
  • سرور مجازی آسیاوب سرور لایت اسپید و امنیت و سرعت بالا
  • سایر VPS هابهینه برای فروشگاه های وردپرسی
  • سرور مجازی زیرساخت
    • سرور مجازی برج میلاد
  • سرور مجازی المان
    • سرور مجازی فرانسه
    • سرور مجازی سوئد
    • سرور مجازی اتریش
    • سرور مجازی اسپانیا
    • سرور مجازی انگلیس
    • سرور مجازی ایتالیا
    • سرور مجازی ایسلند
    • سرور مجازی بلغارستان
    • سرور مجازی سوئیس
    • سرور مجازی جزیره من
    • سرور مجازی جمهوری چک
    • سرور مجازی فنلاند
    • سرور مجازی دانمارک
    • سرور مجازی مجارستان
    • سرور مجازی هلند
    • سرور مجازی یونان
  • سرور مجازی شیلی
    • سرور مجازی روسیه
    • سرور مجازی ترکیه
    • سرور مجازی مالزی
    • سرور مجازی ژاپن
    • سرور مجازی سنگاپور
    • سرور مجازی هنگ کنگ
    • سرور مجازی امارات
  • سرور مجازی کانادا
    • سرور مجازی امریکا
    • سرور مجازی نیجریه
    • سرور مجازی استرالیا
    • سرور مجازی NVME
    • سرور مجازی با کارت گرافیک
    • سرور مجازی رایگان
    • سرور مجازی ترید و بایننس
    • سرور مجازی فارکس
    • سرور مجازی کلاس آنلاین
    • سرور مجازی میکروتیک
    • سرور مجازی والتر
    • سرور مجازی NVME
    • سرور مجازی اقتصادی
  • سرور اختصاصی
  • سرور اختصاصی ایرانمنابع کاملا اختصاصی و قدرتمند
  • سرور اختصاصی اروپابا ip اختصاصی از بهترین کشور ها
  • سرور اختصاصی آمریکاup time 99.99%
  • سایر VDS ها
  • برج میلاد
    • زیرساخت
  • سرور اختصاصی آلمان
    • سرور اختصاصی انگلیس
    • سرور اختصاصی ترکیه
    • سرور اختصاصی فرانسه
    • سرور اختصاصی فنلاند
    • سرور اختصاصی هلند
  • سرور اختصاصی آمریکا
    • سرور اختصاصی کانادا
  • کولوکیشن
  • آسیاتک
  • زیرساخت
  • هاست
  • دامنه
  • نوین پلاس +
021-49624 ورود / عضویت
لینوکس

راهنمای لینوکس

70
  • اجرای دستورات لینوکس در ویندوز
  • راه اندازی سایت در سرور لینوکس
  • IP شناور در اوبونتو و دبیان
  • بازیابی رمز root
  • آموزش بکاپ از سرور لینوکس
  • آموزش اجرای دستور از راه دور
  • ایجاد یوزر در لینوکس
  • تفاوت ipv4 با ipv6 چیست
  • دستور tar لینوکس
  • کانفیگ IPv6 در لینوکس
  • بکاپ گیری از سرور لینوکس
  • راه اندازی سایت در سرور
  • نصب فایروال در لینوکس
  • لیست کردن کاربران در لینوکس
  • پارتیشن بندی در لینوکس
  • بش bash چیست؟
  • آموزش تغییر نام فایل در لینوکس
  • آموزش نصب آلمالینوکس
  • دبیان
    • ارتقا دبیان
  • آلمالینوکس
    • تبدیل Centos به AlmaLinux
    • نصب Visual Studio Code در آلمالینوکس
    • نصب پایتون روی آلمالینوکس
    • نصب Node.js در AlmaLinux
  • اوبونتو
    • نصب NextCloud در اوبونتو
    • فعال کردن SSH اوبونتو
    • نصب ماینکرافت روی اوبونتو
    • نصب کاساندرا Cassandra در اوبونتو
    • آموزش نصب اوبونتو
    • نصب Graylog در اوبونتو
    • نصب Redis در اوبونتو
    • نصب Maven در اوبونتو
    • نصب تامکت در اوبونتو
    • آموزش نصب Ghost CMS در ubuntu
    • نصب GitLab در اوبونتو
    • نصب GCC در اوبونتو
    • نصب جاوا در اوبونتو
    • نصب و راه اندازی Bind DNS Server اوبونتو
    • نصب جنکینز در اوبونتو
    • نصب وردپرس در اوبونتو
    • نصب Oh My Zsh در اوبونتو
    • نصب پرومتئوس در اوبونتو
    • نصب Kubectl در اوبونتو
    • نصب PyTorch در اوبونتو
    • حذف داکر در اوبونتو
    • نصب آناکوندا
    • آموزش نصب Wine
    • آموزش نصب آپاچی کافکا
    • نصب Xrdp در اوبونتو
    • نصب وایرشارک در اوبونتو
    • آموزش نصب Go در اوبونتو
    • آموزش نصب MariaDB در اوبونتو
    • آموزش نصب Ansible
    • نصب درایور انویدیا در اوبونتو
    • آموزش نصب Hadoop
    • آموزش نصب Terraform
    • نصب و کانفیگ SSH در Ubuntu
    • نصب KVM در Ubuntu
    • نصب گوگل کروم در ubuntu
    • آموزش نصب گرافانا
    • چک کردن نسخه ubuntu
    • آموزش نصب phpMyAdmin در اوبونتو
    • آموزش نصب Postman
    • نصب داکر در اوبونتو
    • نصب Redis در اوبونتو
    • نصب MySQL در اوبونتو
    • نصب و کانفیگ آپاچی در اوبونتو
    • کران جاب در اوبونتو
    • ارتقا اوبونتو
    • نصب MongoDB در اوبونتو
    • نصب محیط گرافیکی در اوبونتو

تحقیق و توسعه

8
  • آموزش Portainer داکر
  • پاک کردن کش DNS
  • افزایش امنیت سرور
  • آموزش لود بالانسینگ
  • پیکربندی SSL در PostgreSQL
  • پایتون
    • ترکیب دو لیست در پایتون
    • تبدیل رشته به عدد در پایتون
    • معکوس کردن لیست در پایتون

سوالات متداول

4
  • رید (RAID) چیست؟
  • عمومی
    • ترافیک مورد نیاز سایت
    • SELinux چیست؟
    • محافظت در برابر حملات DDoS
View Categories
  • خانه
  • مستدات
  • تحقیق و توسعه
  • پیکربندی SSL در PostgreSQL

پیکربندی SSL در PostgreSQL

زمان مطالعه: 5 دقیقه

امنیت پایگاه داده معمولاً یکی از دغدغه‌های اصلی سازمان‌ها است. PostgreSQL به طور پیش‌فرض، ضمانت‌های کافی برای تضمین حفاظت از داده‌ها و حریم خصوصی ارائه نمی‌دهد. به همین دلیل، باید اقدامات بیشتری برای تضمین حریم خصوصی و امنیت داده‌ها انجام شود.

فعال کردن احراز هویت SSL برای اتصالات برقرار شده با سرور یکی از راه‌های تضمین حریم خصوصی داده‌ها است. PostgreSQL از اتصالات SSL برقرار شده با سرور پایگاه داده پشتیبانی می‌کند، بنابراین تضمین می‌کند که تمام ارتباطات رد و بدل شده بین کلاینت و سرور رمزگذاری شده باشند.

سرور مجازی خارج

در این آموزش، نحوه فعال کردن اتصالات SSL برای سرور پایگاه داده PostgreSQL را نشان خواهیم داد.

مرحله ۱: نصب سرور PostgreSQL #

اول از همه، باید سرور PostgreSQL را روی سیستم لینوکس خود نصب کنید. اگر PostgreSQL از قبل روی سرور شما نصب شده است، می‌توانید از این مرحله صرف نظر کنید و به مرحله بعدی بروید.

در این راهنما، با نصب آخرین نسخه PostgreSQL (PostgreSQL 14) روی Rocky Linux 8 شروع خواهیم کرد.

ابتدا از طریق SSH به سرور خود وارد شوید. سپس مخازن را رفرش کرده و بسته‌ها را به آخرین نسخه‌های خود ارتقا دهید.

sudo dnf update

آخرین نسخه PostgreSQL توسط مخزن AppStream ارائه نشده است. برای تأیید این موضوع، ماژول‌های PostgreSQL موجود را فهرست کنید.

dnf module list postgresql -y
پیکربندی SSL در PostgreSQL
پیکربندی SSL در PostgreSQL

از خروجی بالا، آخرین نسخه PostgreSQL ارائه شده توسط مخزن، PostgreSQL 13.x است. برای نصب آخرین نسخه PostgreSQL، مخزن PostgreSQL را به سیستم خود اضافه کنید.

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

پیکربندی SSL در PostgreSQL
سپس، مخزن پیش‌فرض PostgreSQL را غیرفعال کنید:

sudo dnf module disable postgresql -qy

در مرحله بعد، سرور و کلاینت PostgreSQL 14 را به شرح زیر نصب کنید.

sudo dnf install postgresql14 postgresql14-server -y

نصب اس اس ال در PostgreSQL
پس از آن، پایگاه داده PostgreSQL را به صورت زیر مقداردهی اولیه کنید.

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

پیکربندی SSL در PostgreSQL
به طور پیش‌فرض، PostgreSQL هنگام نصب در Rocky Linux به طور خودکار شروع نمی‌شود. بنابراین، سرویس پایگاه داده را شروع کنید.

$ sudo systemctl start postgresql-14

علاوه بر این، آن را طوری فعال کنید که در هنگام راه‌اندازی سیستم شروع به کار کند.

$ sudo systemctl enable postgresql-14

برای تأیید اینکه سرویس PostgreSQL در حال اجرا است، دستور زیر را اجرا کنید:

$ sudo systemctl status postgresql-14

پیکربندی SSL در PostgreSQL
خروجی بالا تأیید می‌کند که سرور PostgreSQL فعال و در حال اجرا است. به طور پیش‌فرض، PostgreSQL به پورت ۵۴۳۲ گوش می‌دهد و می‌توانید با اجرای ssدستور زیر این موضوع را تأیید کنید.

$ ss -pnltu | grep 5432

شما باید خروجی زیر را دریافت کنید که تأیید می‌کند همه چیز به خوبی کار می‌کند.

پیکربندی SSL در PostgreSQL

مرحله ۲: پیکربندی رمز عبور برای کاربر Postgres #

هنگام نصب PostgreSQL، یک کاربر پیش‌فرض به نام postgresدر سیستم ایجاد می‌شود. این کاربر، یک کاربر ارشد (super user) است و دارای امتیازات دسترسی برای انجام تقریباً هر کاری از جمله مدیریت پایگاه‌های داده، جداول، توابع طرحواره و هر شیء دیگری در پایگاه داده PostgreSQL می‌باشد.

کاربر Postgres از روش احراز هویت ident استفاده می‌کند و هیچ رمز عبوری تنظیم نشده است. به دلایل امنیتی، توصیه می‌شود برای جلوگیری از نقض‌های احتمالی، رمز عبور تعیین کنید.

برای انجام این کار، به کاربر ریشه (root) بروید

$ sudo su

بعد، به postgresکاربر مورد نظر بروید.

$ su - postgres

به پوسته PostgreSQL بروید

$ psql

سپس postgresرمز عبور کاربر را با استفاده از ALTERکوئری همانطور که نشان داده شده است، تنظیم کنید.

ALTER USER postgres WITH PASSWORD 'your-password'

پیکربندی SSL در PostgreSQL

مرحله ۳: ایجاد گواهینامه‌های SSL برای سرور PostgreSQL #

برای اینکه SSL با PostgreSQL کار کند، باید سه فایل گواهی ایجاد کنید:

  • server.key – این فایل کلید خصوصی است
  • server.crt – این فایل گواهی سرور است
  • root.crt – این گواهی ریشه معتبر است

ابتدا، همانطور که نشان داده شده است، دایرکتوری را به دایرکتوری داده PostgreSQL تغییر دهید.

cd /var/lib/pgsql/14/data

در مرحله بعد، یک کلید خصوصی RSA 2048 بیتی با رمزگذاری AES به شرح زیر ایجاد کنید.

openssl genrsa -aes128 2048 > server.key 

در طول ایجاد کلید خصوصی، از شما یک عبارت عبور خواسته می‌شود. آن را تایپ و تأیید کنید.

بعداً می‌توانید با اجرای دستور زیر از وجود کلید اطمینان حاصل کنید:

ls -l | grep server.key

پیکربندی SSL در PostgreSQL
کلید خصوصی دارای یک عبارت عبور مرتبط با خود است. با این حال، برای استفاده بیشتر از این کلید، باید عبارت عبور را حذف کنید. برای انجام این کار، دستور زیر را اجرا کنید:

openssl rsa -in server.key -out server.key

پیکربندی SSL در PostgreSQL
یک بار دیگر، عبارت عبور را دوباره وارد کنید و ENTER را بزنید.

مرحله ۴: اعمال مجوزهای لازم و حقوق مالکیت #

برای امنیت بیشتر، باید مجوزهای فقط خواندنی کلید خصوصی را همانطور که نشان داده شده است به کاربر ریشه اختصاص دهید.

chmod 400 server.key

علاوه بر این، مالکیت کلید را به کاربر و گروه postgres تنظیم کنید.

chown postgres.postgres server.key

مرحله ۵: ایجاد فایل گواهی سرور #

اکنون، یک فایل گواهی خودامضا شده بر اساس کلید خصوصی ایجاد کنید. فایل گواهی زیر به مدت ۳۶۵ روز معتبر است.

# openssl req -new -key server.key -days 365 -out server.crt -x509 

این دستور از شما اطلاعاتی می‌خواهد که در فایل گواهی گنجانده خواهد شد. بنابراین، تمام جزئیات را به درستی وارد کنید.

پیکربندی SSL در PostgreSQL
از آنجایی که شما از یک گواهی خودامضا استفاده می‌کنید، با تهیه یک کپی از فایل گواهی سرور، همانطور که نشان داده شده است، از آن به عنوان گواهی ریشه مورد اعتماد استفاده خواهید کرد.

# cp server.crt root.crt

مرحله ۶: پیکربندی PostgreSQL برای استفاده از SSL #

مرحله بعدی پیکربندی PostgreSQL برای استفاده از SSL است. postgresql.confبه فایل پیکربندی که در داخل دایرکتوری قرار دارد دسترسی پیدا کنید data .

$ sudo vim /var/lib/pgsql/14/data/postgresql.conf

در زیر Connection Settings، listen_addressesپارامتر را پیدا کرده و آن را به صورت زیر تنظیم کنید تا امکان اتصال از همه میزبان‌های خارجی فراهم شود.

listen_addresses = '*'

در این SSLبخش، پارامترهای زیر را از حالت کامنت خارج کرده و مقادیر را مطابق شکل تنظیم کنید.

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

تغییرات را ذخیره کنید و از فایل خارج شوید. در مرحله بعد، pg_hba.confفایل پیکربندی را باز کنید. این فایل پیکربندی احراز هویت کلاینت PostgreSQL است که مشخص می‌کند کدام میزبان‌ها مجاز به اتصال هستند و کلاینت‌ها چگونه احراز هویت می‌شوند.

$ sudo vim /var/lib/pgsql/14/data/pg_hba.conf

در زیر IPv4 local connections، خط را به صورت زیر تغییر دهید تا اتصال از همه میزبان‌ها امکان‌پذیر شود.

host    all           all           0.0.0.0/0          md5

در مرحله بعد، خط زیر را در انتهای فایل اضافه کنید تا SSL فعال شود و همچنین اتصال از همه میزبان‌ها مجاز باشد.

hostssl	 all         all          0.0.0.0/0    		md5

تغییرات را ذخیره کرده و از فایل پیکربندی خارج شوید. برای اعمال تغییرات، PostgreSQL را مجدداً راه‌اندازی کنید.

$ sudo systemctl restart postgresql-14

اگر firewalld را فعال کرده‌اید ، سرویس Postgresql را مطابق شکل فعال کنید.

$ sudo firewall-cmd --add-service=postgresql --permanent 

$ sudo firewall-cmd --reload

مرحله ۷: تست اتصال SSL #

در این مرحله، PostgreSQL طوری پیکربندی شده است که از SSL برای اتصالات از راه دور استفاده کند. برای انجام این کار، همانطور که نشان داده شده است، با استفاده از کاربر postgres به سرور پایگاه داده وارد می‌شویم.

psql -U postgres -p 5432 -h 45.79.192.104

این -Uپرچم، کاربر لاگینی را که برای دسترسی به سرور پایگاه داده استفاده می‌کنیم، نشان می‌دهد.

این -pپرچم، پورتی را که PostgreSQL به آن گوش می‌دهد (به‌طور پیش‌فرض ۵۴۳۲) مشخص می‌کند.

این -hپرچم، آدرس IP میزبان را مشخص می‌کند.

خروجی زیر تأیید می‌کند که SSL فعال است و ما از یک گواهی خودامضا (self-signed certificate) استفاده می‌کنیم.

پیکربندی SSL در PostgreSQL

نتیجه‌ گیری #

در این آموزش، نحوه فعال‌سازی پشتیبانی SSL در PostgreSQL Server با استفاده از یک گواهی SSL خودامضا شده را نشان داده‌ایم. ما اتصال SSL را برای همه پایگاه‌های داده و کاربران پیکربندی شده در سرور PostgreSQL فعال کرده‌ایم. سرور به همه اتصالات ورودی روی پورت پیش‌فرض PostgreSQL گوش می‌دهد و از کلاینت‌ها می‌خواهد که از SSL استفاده کنند.

Updated on آبان ۱۸, ۱۴۰۴

نظر شما چیست؟!

  • Happy
  • Normal
  • Sad

Related Docs

  • آموزش Portainer داکر
  • پاک کردن کش DNS
  • افزایش امنیت سرور
  • آموزش لود بالانسینگ
  • پیکربندی SSL در PostgreSQL

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
آموزش لود بالانسینگ

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطلب
  • مرحله 1: نصب سرور PostgreSQL
  • مرحله 2: پیکربندی رمز عبور برای کاربر Postgres
  • مرحله 3: ایجاد گواهینامه‌های SSL برای سرور PostgreSQL
  • مرحله ۴: اعمال مجوزهای لازم و حقوق مالکیت
  • مرحله 5: ایجاد فایل گواهی سرور
  • مرحله 6: پیکربندی PostgreSQL برای استفاده از SSL
  • مرحله 7: تست اتصال SSL
  • نتیجه‌ گیری
نوین هاست

نوین هاست ارائه دهنده خدمات میزبانی، فروش انواع سرورهای مجازی و اختصاصی ایران و خارج برترین لوکیشن ها و استفاده از بهترین سخت افزارها با پشتیبانی 7/24

نماد اعتماد نوین هاست
لوگو ساماندهی
نظام صنفی رایانه ای کشور
دانش بنیان

دسترسی سریع

  • سرور مجازی
  • سرور مجازی ایران
  • سرور اختصاصی
  • هاست اشتراکی
  • ثبت دامنه
  • درباره ما
  • قوانین سرویس دهی

سرورهای مجازی

  • سرور مجازی المان
  • سرور مجازی فرانسه
  • سرور مجازی انگلیس
  • سرور مجازی امریکا
  • سرور مجازی کانادا
  • سرور مجازی فنلاند
  • سرور مجازی هلند

سرورهای اختصاصی

  • سرور اختصاصی ایران
  • سرور اختصاصی برج میلاد
  • سرور اختصاصی زیرساخت
  • سرور اختصاصی خارج
  • سرور اختصاصی آلمان
  • سرور اختصاصی فرانسه
  • سرور اختصاصی آمریکا
تمام حقوق این سایت محفوظ و متعلق به نوین هاست می باشد.
Facebook Twitter Youtube Whatsapp Instagram Telegram