বাড়িতে সার্ভারের জন্য ওপেনসেল সহ স্বাক্ষরিত শংসাপত্র এবং কোনও ডোমেন নাম নেই


4

অনলাইনে আমি যে নিবন্ধগুলি পড়ি সেগুলির মধ্যে আপনার নিজের একটি ডোমেনের জন্য স্ব-স্বাক্ষরযুক্ত শংসাপত্র তৈরি করার বিষয়ে কথা হয়।

আমার বাসায় অ্যাপাচি 2 একটি উবুন্টু 16.04 সার্ভারে সেট আপ আছে। আমার আইএসপি আমাকে একটি গতিশীল আইপি দেয় যাতে আমি নো-আইপি ব্যবহার করি। আমার সার্ভারে ট্র্যাফিক পুনর্নির্দেশের জন্য আমি আমার রাউটারে পোর্টগুলি খুলেছি।

আমি হোম (নেটওয়ার্কের ভিতরে) থেকে ওয়েব-সার্ভার অ্যাক্সেস করি।

সুতরাং আমি যদি আমার হোম নেটওয়ার্কের বাইরে থাকি তবে আমি https://username.noip.me/ ব্যবহার করব এবং আমি বাড়িতে থাকলে আমি https: // হোমসার্ভার / ব্যবহার করব ।

তাহলে আমি কীভাবে এই পরিস্থিতির জন্য স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করতে পারি? সাধারণ নাম হিসাবে আমি কি রাখি?


এরকম ক্ষেত্রে স্ব-স্বাক্ষরিত শংসাপত্রের উদ্দেশ্য কী?
রামহাউন্ড

আমি এসএসএল এনক্রিপশন চাই তবে এটি স্বল্প মেয়াদী ব্যক্তিগত ব্যবহারের জন্য (9 মাস) তাই আমি কোনও ডোমেন কিনতে চাই না।
IMTheNachoMan

উত্তর:


2

সাধারণ নাম হিসাবে আমি কি রাখি?

আপনি দুটি কারণে সাধারণ নাম (সিএন) এর জন্য বন্ধুত্বপূর্ণ নাম ব্যবহার করেন । প্রথমে এটি সরঞ্জাম দ্বারা ব্যবহারকারীদের কাছে প্রদর্শিত, সুতরাং আপনি উদাহরণ উইজেট, এলএলসি এর মতো কিছু চান । দ্বিতীয়ত, হোস্ট-নেম সবসময় গিয়ে সাপেক্ষে বিকল্প নাম (SAN) মধ্যে । সিএন-তে একটি হোস্টনাম রাখার বিষয়টি আইইটিএফ এবং সিএ / বি উভয় ফোরামেই অবচিত হয়।

আরও নিয়ম এবং কারণগুলির জন্য দেখুন কীভাবে আপনি আপনার শংসাপত্র কর্তৃপক্ষের সাথে শংসাপত্র স্বাক্ষরকরণের অনুরোধটি স্বাক্ষর করবেন এবং কীভাবে ওপেনসেল দিয়ে স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করবেন?


তাহলে আমি কীভাবে এই পরিস্থিতির জন্য স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করতে পারি?

opensslএকটি কাস্টম কনফিগারেশন ফাইল সহ ইউটিলিটিটি ব্যবহার করুন। নীচে একটি নমুনা দেওয়া আছে।

আপনার দুটি জিনিস করা উচিত। প্রথমে, ডিএনএসের নাম তালিকাতে username.noip.meএবং এ পরিবর্তন করুন homeserver। দ্বিতীয়ত, শংসাপত্রটিতে আপনার নামগুলি পরিবর্তন করার পরে, নিম্নলিখিত কমান্ডটি চালান:

openssl req -config example-com.conf -new -x509 -sha256 -newkey rsa:2048 -nodes \
    -keyout example-com.key.pem -days 365 -out example-com.cert.pem

স্পষ্টতই, আপনি কনফিগারেশন ফাইলের নামটি example-com.confযে কোনও কিছু থেকে পরিবর্তন করতে পারেন।

এছাড়াও, বাড়িতে, আমি আমার নিজস্ব পিকেআই চালাচ্ছি। আমার কাছে একটি রুট সিএ রয়েছে যা আমার নেটওয়ার্কে ডিভাইসের জন্য যখন প্রয়োজন হয় তখন শংসাপত্র জারি করে। সমস্ত ডিভাইসে রুট সিএ ইনস্টল করা আছে। আমার অভ্যন্তরীণ ডোমেন বলা হয় home.pvt। নেটওয়ার্কে হোস্ট নামকরণ করা হয়, pine64.home.pvt, rpi3.home.pvt, solaris.home.pvt, windows10.home.pvt, ইত্যাদি সবকিছু প্রত্যাশিত হিসাবে কাজ করে।


উদাহরণ কনফিগারেশন ফাইল

# Self Signed (note the addition of -x509):
#     openssl req -config example-com.conf -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout example-com.key.pem -days 365 -out example-com.cert.pem
# Signing Request (note the lack of -x509):
#     openssl req -config example-com.conf -new -newkey rsa:2048 -nodes -keyout example-com.key.pem -days 365 -out example-com.req.pem
# Print it:
#     openssl x509 -in example-com.cert.pem -text -noout
#     openssl req -in example-com.req.pem -text -noout

[ req ]
default_bits        = 2048
default_keyfile     = server-key.pem
distinguished_name  = subject
req_extensions      = req_ext
x509_extensions     = x509_ext
string_mask         = utf8only

# The Subject DN can be formed using X501 or RFC 4514 (see RFC 4519 for a description).
#   Its sort of a mashup. For example, RFC 4514 does not provide emailAddress.
[ subject ]
countryName         = Country Name (2 letter code)
countryName_default     = US

stateOrProvinceName     = State or Province Name (full name)
stateOrProvinceName_default = NY

localityName            = Locality Name (eg, city)
localityName_default        = New York

organizationName         = Organization Name (eg, company)
organizationName_default    = Example, LLC

# Use a friendly name here because its presented to the user. The server's DNS
#   names are placed in Subject Alternate Names. Plus, DNS names here is deprecated
#   by both IETF and CA/Browser Forums. If you place a DNS name here, then you 
#   must include the DNS name in the SAN too (otherwise, Chrome and others that
#   strictly follow the CA/Browser Baseline Requirements will fail).
commonName          = Common Name (e.g. server FQDN or YOUR name)
commonName_default      = Example Company

emailAddress            = Email Address
emailAddress_default        = test@example.com

# Section x509_ext is used when generating a self-signed certificate. I.e., openssl req -x509 ...
#  If RSA Key Transport bothers you, then remove keyEncipherment. TLS 1.3 is removing RSA
#  Key Transport in favor of exchanges with Forward Secrecy, like DHE and ECDHE.
[ x509_ext ]

subjectKeyIdentifier        = hash
authorityKeyIdentifier  = keyid,issuer

basicConstraints        = CA:FALSE
keyUsage            = digitalSignature, keyEncipherment
subjectAltName          = @alternate_names
nsComment           = "OpenSSL Generated Certificate"

# RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
# extendedKeyUsage  = serverAuth, clientAuth

# Section req_ext is used when generating a certificate signing request. I.e., openssl req ...
[ req_ext ]

subjectKeyIdentifier        = hash

basicConstraints        = CA:FALSE
keyUsage            = digitalSignature, keyEncipherment
subjectAltName          = @alternate_names
nsComment           = "OpenSSL Generated Certificate"

# RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
# extendedKeyUsage  = serverAuth, clientAuth

[ alternate_names ]

DNS.1       = example.com
DNS.2       = www.example.com
DNS.3       = mail.example.com
DNS.4       = ftp.example.com

# Add these if you need them. But usually you don't want them or
#   need them in production. You may need them for development.
# DNS.5       = localhost
# DNS.6       = localhost.localdomain
# DNS.7       = 127.0.0.1

# IPv6 localhost
# DNS.8     = ::1
# DNS.9     = fe80::1

2

আপনার আসল প্রশ্নের উত্তর দিতে:

আপনার সাবজেক্ট বিকল্প নামগুলি দেখতে হবে।

এগুলি একটি শংসাপত্রকে তাদের একাধিক ডোমেন নাম বরাদ্দ করতে দেয়।

প্রস্তাবনাটি হ'ল আপনি সাধারণ নামটি খালি রেখে সাবজেক্ট বিকল্প নামটিতে সমস্ত এফকিউডিএন তালিকাবদ্ধ করুন।

বিকল্পভাবে, আপনি আপনার নামগুলির মধ্যে দুটি সাধারণ নামটিতে রাখতে পারেন, তবে আপনাকে অবশ্যই তাদের সমস্ত বিষয় সাবজেক্ট বিকল্প নামতে তালিকাভুক্ত করতে হবে।


1

আপনাকে কোনও ডোমেন নামের জন্য 10 ডলার বা তার চেয়ে কম ব্যয় করার পরামর্শ দিন এবং একটি বিনামূল্যে লেটস এনক্রিপ্ট শংসাপত্র ব্যবহার করুন। আপনার কম সমস্যা হবে। আপনি সেই noip.me ডোমেনটি ব্যবহার করে একটি শংসাপত্র পেতে সক্ষম হতে পারেন।

আসুন এনক্রিপ্ট অ্যাপাচি / এনগিনেক্সের সাথে একটি সমর্থিত লিনাক্স বিতরণ সেট আপ করা বেশ সহজ, তবে আপনি কী ওএস ব্যবহার করছেন তা আপনি বলেননি। আপনি যদি উপরে আপনার পোস্টটি সম্পাদনা করেন তবে আমি আরও গাইডেন্স দিতে সক্ষম হতে পারি।


আমি ওএসের বিবরণ দিয়ে সম্পাদনা করেছি। এবং একটি ডোমেন নাম পাওয়া একটি বিকল্প তবে বিবেচনা করে আমার কেবল 9 মাসের জন্য এটি দরকার তবে আমি অর্থ ব্যয় করতে চাই না। আমি যদি এই দীর্ঘ মেয়াদটি করছিলাম তবে আমি করতাম। আমার কনফিগারেশনের মধ্যে এটি করার একটি উপায় থাকতে হবে?
IMTheNachoMan

অবশ্যই, গতিশীল ডোমেনে একটি লেটস এনক্রিপ্ট শংসাপত্র পান, কেন এটি কাজ করবে না তা আমি দেখতে পাচ্ছি না। অফিসিয়াল লেটস এনক্রিপ্ট ক্লায়েন্টকে কাজ করা উচিত, তা না হলে আমি এই পৃষ্ঠায় লিঙ্কিত এসিএমই ক্লায়েন্ট ব্যবহার না করি ফোটোগ্রাফিকসটসপোর্টস
টিম

আসুন এনক্রিপ্ট অভ্যন্তরীণ হোস্ট নামগুলির জন্য ডিজাইন করা হয়নি। একটি বৈধতা পাওয়া এমনকি সম্ভব কিনা তা আমি জানি না।
ড্যানিয়েল বি

DNS সমাধান করার পরে এবং এটি আপনার ওয়েব সার্ভারের সাথে যোগাযোগ করতে পারে কেন এটি কাজ করবে না আমি তা দেখতে পাচ্ছি না। সম্পূর্ণরূপে অভ্যন্তরীণ, আমি সম্মত, তবে ইন্টারনেট থেকে যদি কোনও রুট থাকে তবে তা ঠিক আছে।
টিম

1

আপনি একটি কৌশল প্রয়োগ করতে পারেন এবং '* .noip.com' এর জন্য একটি ওয়াইল্ডকার্ড শংসাপত্র ব্যবহার করতে পারেন।

এটির জন্য আপনাকে 'homeserver.noip.com' ব্যবহার করা উচিত এবং সেই ঠিকানাটি আপনার স্থানীয় আইপিতে চিহ্নিত করা উচিত যা আপনি 'হোমসারভার.নাইপ.কম' ব্যবহার করেন এমন মেশিনে হোস্ট ফাইলটিতে একটি এন্ট্রি যুক্ত করে আপনি করতে পারেন।

'username.noip.com' এখনও স্বাভাবিক উপায়ে সমাধান করা হবে।

এটি কিছুটা "নোংরা উপায়" তবে আপনার প্রয়োজনের জন্য দক্ষ দেখায়।


হোস্ট ফাইলের এন্ট্রি দেখতে কেমন হবে? আমি জানতাম না এটি কাজ করবে।
IMTheNachoMan

হোস্ট ফাইলটিতে এন্ট্রি এমন কিছু হবে: 192.168.1.10 হোমসারভার 192.168.1.10 হোমসারভার.নাইপ.মে (প্রতিটি আইপি / নাম একটি নতুন লাইনে রয়েছে - মন্তব্যে ফর্ম্যাট করা সহজ নয়)। উইন্ডোজগুলিতে হোস্ট ফাইলটি সাধারণত সি: \ উইন্ডোজ \ সিস্টেম 32 \ ড্রাইভার \ ইত্যাদিতে থাকে এবং প্রশাসক হিসাবে সম্পাদনা করতে হবে। * নিক্সে, আপনি হোস্টাগুলি ফাইল / etc / হোস্টে খুঁজে পেতে পারেন এবং এটি অবশ্যই মূল হিসাবে সম্পাদনা করা উচিত।
লে_টপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.