نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
TLS 1.3 هو إصدار من بروتوكول أمان طبقة النقل (TLS) تم نشره في 2018 كمعيار مقترح في RFC 8446 . يوفر تحسينات في الأمان والأداء على سابقاته.
يوضح هذا الدليل كيفية تمكين TLS 1.3 باستخدام خادم الويب Nginx على Ubuntu 18.04 LTS.
1.13.0
أو أكبر.1.1.1
أو أحدث.A
/ تكوينها بشكل صحيح للمجال الخاص بك.AAAA
CNAME
تحقق من إصدار Ubuntu.
lsb_release -ds
# Ubuntu 18.04.1 LTS
قم بإنشاء non-root
حساب مستخدم جديد له sudo
حق الوصول والتبديل إليه.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
ملاحظة: استبدل johndoe
باسم المستخدم الخاص بك.
قم بإعداد المنطقة الزمنية.
sudo dpkg-reconfigure tzdata
تأكد من أن نظامك محدث.
sudo apt update && sudo apt upgrade -y
تثبيت build-essential
، socat
و git
حزم.
sudo apt install -y build-essential socat git
تحميل وتثبيت Acme.sh .
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
التحقق من إصدار.
acme.sh --version
# v2.8.0
احصل على شهادات RSA و ECDSA لنطاقك.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256
ملاحظة: استبدل example.com
الأوامر باسم المجال الخاص بك.
بعد تشغيل الأوامر السابقة ، يمكن الوصول إلى الشهادات والمفاتيح على:
/etc/letsencrypt/example.com
الدليل./etc/letsencrypt/example.com_ecc
الدليل.أضاف Nginx دعمًا لـ TLS 1.3 في الإصدار 1.13.0. في معظم توزيعات Linux ، بما في ذلك Ubuntu 18.04 ، تم تصميم Nginx باستخدام إصدار OpenSSL الأقدم ، والذي لا يدعم TLS 1.3. وبالتالي ، نحتاج إلى بناء Nginx المخصص الخاص بنا المرتبط بإصدار OpenSSL 1.1.1 ، والذي يتضمن دعم TLS 1.3.
قم بتنزيل أحدث إصدار رئيسي من شفرة مصدر Nginx واستخرجه.
wget https://nginx.org/download/nginx-1.15.5.tar.gz && tar zxvf nginx-1.15.5.tar.gz
قم بتنزيل كود مصدر OpenSSL 1.1.1 واستخراجه.
# OpenSSL version 1.1.1
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz && tar xzvf openssl-1.1.1.tar.gz
احذف جميع .tar.gz
الملفات ، حيث لن تكون هناك حاجة إليها بعد الآن.
rm -rf *.tar.gz
أدخل دليل مصدر Nginx.
cd ~/nginx-1.15.5
تكوين وتجميع وتثبيت Nginx. من أجل البساطة ، سنقوم فقط بتجميع الوحدات الأساسية اللازمة لتشغيل TLS 1.3. إذا كنت بحاجة إلى بنية Nginx كاملة ، يمكنك قراءة دليل Vultr هذا حول تجميع Nginx.
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Ubuntu \
--builddir=nginx-1.15.5 \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-compat \
--with-http_ssl_module \
--with-http_v2_module \
--with-openssl=../openssl-1.1.1 \
--with-openssl-opt=no-nextprotoneg \
--without-http_rewrite_module \
--without-http_gzip_module
make
sudo make install
إنشاء مجموعة نظام Nginx والمستخدم.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
Symlink /usr/lib/nginx/modules
إلى /etc/nginx/modules
الدليل. etc/nginx/modules
هو مكان قياسي لوحدات Nginx.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
إنشاء أدلة Nginx cache وتعيين الأذونات المناسبة.
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*
تحقق من إصدار Nginx.
sudo nginx -V
# nginx version: nginx/1.15.5 (Ubuntu)
# built by gcc 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
# built with OpenSSL 1.1.1 11 Sep 2018
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx . . .
# . . .
إنشاء ملف وحدة Nginx systemd.
sudo vim /etc/systemd/system/nginx.service
تعبئة الملف بالتهيئة التالية.
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
ابدأ وتمكين Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
خلق conf.d
، sites-available
و sites-enabled
الدلائل في /etc/nginx
الدليل.
sudo mkdir /etc/nginx/{conf.d,sites-available,sites-enabled}
قم بتشغيل sudo vim /etc/nginx/nginx.conf
التوجيهين التاليين وإضافتهما إلى نهاية الملف ، قبل الإغلاق مباشرة }
.
. . .
. . .
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*.conf;
}
احفظ الملف واخرج مع :+ W+ Q.
الآن بعد أن بنينا Nginx بنجاح ، نحن على استعداد لتهيئته لبدء استخدام TLS 1.3 على خادمنا.
قم بتشغيل sudo vim /etc/nginx/conf.d/example.com.conf
الملف وملؤه بالتكوين التالي.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
}
احفظ الملف واخرج مع :+ W+ Q.
لاحظ TLSv1.3
المعلمة الجديدة ssl_protocols
للتوجيه. هذه المعلمة ضرورية لتمكين TLS 1.3.
تحقق من التكوين.
sudo nginx -t
إعادة تحميل Nginx.
sudo systemctl reload nginx.service
للتحقق من TLS 1.3 ، يمكنك استخدام أدوات مطور المتصفح أو خدمة SSL Labs. توضح لقطات الشاشة أدناه علامة تبويب أمان Chrome التي توضح أن TLS 1.3 يعمل.
تهانينا! لقد قمت بتمكين TLS 1.3 بنجاح على خادم الويب Ubuntu 18.04.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد