国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

給你的網站穿上外衣 - HTTPS 免費部署指南

wangjuntytl / 2955人閱讀

摘要:用于安全的數據傳輸。表明它使用了,但存在不同于的默認端口及一個加密身份驗證層在與之間。申請證書網上已經有不少機構提供個人免費證書,有效期幾個月到幾年不等,博主使用的是申請成功后有效期年,到期后可免費續租。

前言

隨著國內各大網站紛紛開啟全站 HTTPS 時代,HTTPS 已不再是支付等敏感操作過程的專屬,開啟 HTTPS 對于個人網站或者小型網站也不再遙不可及。 今天博主就以自己的網站 www.rapospectre.com 為例敘述一下為自己網站點亮 HTTPS 小綠鎖的過程。

HTTP 和 HTTPS

HTTPS( Hypertext Transfer Protocol over Secure Socket Layer ),是以安全為目標的 HTTP 通道,簡單講是 HTTP 的安全版。即 HTTP 下加入 SSL 層,HTTPS 的安全基礎是 SSL ,因此加密的詳細內容就需要 SSL 。 它是一個 URI scheme( 抽象標識符體系 ),句法類同 http :體系。用于安全的 HTTP 數據傳輸。 https:URL 表明它使用了 HTTP,但 HTTPS 存在不同于 HTTP 的默認端口及一個加密/身份驗證層(在 HTTP 與 TCP 之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣泛用于萬維網上安全敏感的通訊,例如交易支付方面。

HTTP 超文本傳輸協議 ( HTTP-Hypertext transfer protocol ) 是一種詳細規定了瀏覽器和萬維網服務器之間互相通信的規則,通過因特網傳送萬維網文檔的數據傳送協議。

從概念里可以看到,要開啟 HTTPS 至關重要的一點就是 ssl 層的身份驗證,而身份驗證需要用到 ssl 證書,以前少有免費 ssl 證書,所以小站基本不會選擇 https ,而現在網上提供個人免費 ssl 證書的機構越來越多,這使得免費升級站點為 https 成為可能。

1. 申請 SSL 證書

網上已經有不少機構提供個人免費 ssl 證書,有效期幾個月到幾年不等,博主使用的是 StartSSL, 申請成功后有效期 3 年,到期后可免費續租。 具體申請過程不復雜,注冊后根據提示驗證網站 + 生成證書即可,如果不清楚可以 Google 一下。

要注意 StartSSL 驗證網站擁有者時是給域名所有者的郵箱發驗證郵件,如果域名開啟了隱私保護請暫時關閉。

然后在自己服務器中生成 SSL 證書的 csr ,記住生成輸入的秘密,之后要用到:

openssl req -new -sha256 -key rapospectre.com_secure.key -out rapospectre.com.csr

假設以上文件生成在 /var/tmp 文件夾下

在 StartSSL 填寫 csr 文件內容,生成 SSL 證書并下載, 生成成果后如圖:

點擊 Retrieve 下載證書,解壓縮后包含各種服務器的 crt ,博主使用 nginx 做反代,所以選擇 nginxserver 解壓縮后得到 www.rapospectre.com_bundle.crt 將此文件上傳到服務器,假設傳到 /var/tmp/ 文件夾

2. 配置服務器

以 nginx 為例,打開 /etc/nginx/nginx.conf,加入配置:

 server {
        listen       443 ssl;
        ssl_certificate /var/tmp/www.rapospectre.com_bundle.crt;
        ssl_certificate_key /var/tmp/rapospectre.com_secure.key;
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #選擇特定的加密方式, 避免已知的漏洞
        ssl_ciphers "kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !MD5 !EXP !DSS !PSK !SRP !kECDH !CAMELLIA !RC4 !SEED";
        #讓瀏覽器記住直接訪問 https 的網址, 不再去 http 重定向。
        add_header Strict-Transport-Security "max-age=31536000; preload";
        add_header X-Frame-Options DENY;
        ssl_session_cache   shared:SSL:10m;
        ssl_session_timeout 10m;
        keepalive_timeout 70;
        ssl_dhparam /var/tmp/dhparam2048.pem;
        #禁止服務器自動解析資源類型
        add_header X-Content-Type-Options nosniff;
        #防XSS攻擊
        add_header X-Xss-Protection 1;
        server_name  www.rapospectre.com rapospectre.com;

在之前的 80 端口進行重定向配置:

server {
    listen 80;
    server_name rapospectre.com www.rapospectre.com;
    return 301 https://www.rapospectre.com$request_uri;
}
3. HTTP 替換

將網站所有以 http 方式獲取的資源全部改為 https 方式或自動方式獲取, eg:


改為

重啟服務器,提示輸入之前生成 csr 的密碼,輸入密碼,重啟成功,訪問 https://www.rapospectre.com 可以看到 HTTPS 已經正常工作!

順手來一發 SSLLABS測試,wtf 只有 F?

看圖發現因為

This server is vulnerable to the OpenSSL Padding Oracle vulunerability ( CVE-2016-2107 )

原來是 OpenSSL 漏洞的鍋,升級 OpenSSL 到 1.0.2h 版 ( 后續版本應該也可以,博主一開始升級到了最新的 1.1.0a 結果服務器掛了 ) 即可修復漏洞:

Fix OpenSSL Padding Oracle vulnerability (CVE-2016-2107) - Ubuntu 14.04

# Based on http://fearby.com/article/update-openssl-on-a-digital-ocean-vm/

$ apt-get update
$ apt-get dist-upgrade

$ wget ftp://ftp.openssl.org/source/old/1.0.2/openssl-1.0.2h.tar.gz
$ tar -xvzf openssl-1.0.2h.tar.gz
$ cd openssl-1.0.2h
$ ./config --prefix=/usr/
$ make depend
$ sudo make install
$ openssl version
# OpenSSL 1.0.2h  3 May 2016

# now restart your nginx or other server
$ nginx -s reload
4. HTTP2

開啟 http2 ,nginx 在 1.9.5 以后的版本才開始支持 http2 ,之前一直使用的是 spdy 而 ubuntu 自帶的 nginx 是 1.4.6 的古董, 所以需要重新編譯安裝新版的 nginx ,博主選擇了安裝最新的 nginx 1.11.4:

1. 下載 nginx 到 /var/tmp/nginx:

wget http://nginx.org/download/nginx-1.11.4.tar.gz

2. 解壓nginx-1.11.4.tar.gz文件

tar zxvf nginx-1.11.4.tar.gz

3. 進入ngixn-1.11.4文件夾

cd nginx-1.2.5

4. 查看nginx原來的配置

nginx -V

上面的命令將輸出類似如下信息:

--with-cc-opt="-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2" --with-ld-opt="-Wl,-Bsymbolic-functions -Wl,-z,relro" --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module

我們在后面加上 http2 模塊與 上一步中 openssl 源碼( 是源碼路徑不是安裝 )路徑:

--with-http_v2_module --with-openssl=/var/tmp/ssl/openssl-1.0.2h

注意,如果以上信息內包含 --with-spdy_module 請去除,nginx 1.9.5 之后已棄用 spdy

5. 執行configure命令,后面跟上原來nginx的配置

./configure --with-cc-opt="-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2" --with-ld-opt="-Wl,-Bsymbolic-functions -Wl,-z,relro" --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --with-http_v2_module --with-openssl=/var/tmp/ssl/openssl-1.0.2h

configure時可能遇到的幾個錯誤:

--with-http_xslt_module 時提示 the HTTP XSLT module requires the libxml2/libxslt libraries

apt-get install libxml2 libxml2-dev libxslt-dev

--with-http_image_filter_module 時提示 the HTTP image filter module requires the GD library.

apt-get install libgd2-xpm-dev

--with-http_geoip_module 時提示 the GeoIP module requires the GeoIP library.

apt-get install geoip-database libgeoip-dev

./configure: error: the HTTP rewrite module requires the PCRE library.

apt-get install libpcre3 libpcre3-dev

再次執行 configure 命令, 然后make && make install。 編譯好以后objs目錄下多出一個nginx文件,用它替換舊的 nginx 文件:

mv /usr/sbin/nginx /usr/sbin/nginx-backup
cp objs/nginx /usr/sbin/nginx

執行/usr/sbin/nginx -t 命令檢查配置文件返回下面的信息:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

表示 nginx 升級成功,修改 nginx 配置,加入 http2 支持:

listen       443 ssl http2 fastopen=3 reuseport;

重啟 nginx 訪問正常后再測一發:

搞定,個人網站加入 HTTPS 并且 SSLABS 評分 A+ 。 快來試試吧~

( 博主網站圖片上傳到七牛,而七牛免費似乎賬戶不支持 https 鏈接,所以有些文章比如說這篇會提示網頁內有不安全的內容 )

原文地址:https://www.rapospectre.com/b...

作者:rapospectre

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39363.html

相關文章

  • 如何打造一個安全滿分網站

    摘要:繼上一篇如何打造一個全滿分網站之后,這一次我們來談談如何打造一個在安全方面也能打滿分的網站。無論如何,我們把一個安全得分只有的網站,通過各種方法優化到了得分為,是不是小有成就感呢你也來試一試吧 繼上一篇《如何打造一個全滿分網站》之后,這一次我們來談談如何打造一個在安全方面也能打滿分的網站。因為對于一個網站來講,僅有功能是不夠的,還需要考慮性能,僅有性能也不夠,還需要考慮安全。 由于網站...

    張巨偉 評論0 收藏0
  • 免費自建個人網站-Gridea+GitHub+Vercel傻瓜式搭建靜態博客評論SSL多主題

    很多人想要搭建自己的博客網站,但是又苦于沒有什么代碼基礎,部分同學可能覺得申請虛擬主機管理空間等操作繁瑣,于是苦苦尋找那種單純的寫作平臺,例如早期的新浪博客,現在的簡書、國外的WP等也就成為了不少人的選擇。但是使用第三方的博客平臺有一個最大的問題:不穩定??赡苡械娜藭f大廠商不怕倒閉,縱觀互聯網這十幾年的發展,再大的大牌服務如果沒有贏利支撐,該倒閉的倒閉,該關停的關停。用戶的利益對于商家來說不是高...

    番茄西紅柿 評論0 收藏2638
  • Hexo+NexT+Heroku十分鐘免費博客建站教程

    摘要:就拿本篇教程為例,發布第一篇文章。十分鐘免費博客建站教程如果你沒有自定義的路徑的話,默認生成的文件都會在目錄下。具體語法請移步官網最后附上我的博客鏈接嚶嚶嚶填坑小窩 title: Hexo+NexT+Heroku十分鐘免費博客建站教程date: 2016-10-29 20:57:20author:嚶嚶嚶 前言(上一段廢話抒發一下情感先) 接觸互聯網到現在不長不短也有兩年了,從最開始連...

    Gu_Yan 評論0 收藏0
  • 庫&插件&框架&工具

    摘要:一些有用的一些有用的,包括轉換小箭頭三角形媒體查詢等中文指南是當下最熱門的前端資源模塊化管理和打包工具。 nodejs 入門 nodejs 入門教程,大家可以在 github 上提交錯誤 2016 年最好用的表單驗證庫 SMValidator.js 前端表單驗證工具分享 淺談前端線上部署與運維 說到前端部署,可能大多數前端工程師在工作中都是使用的公司現成的部署系統,與SRE對接、一起完...

    Codeing_ls 評論0 收藏0
  • 庫&插件&框架&工具

    摘要:一些有用的一些有用的,包括轉換小箭頭三角形媒體查詢等中文指南是當下最熱門的前端資源模塊化管理和打包工具。 nodejs 入門 nodejs 入門教程,大家可以在 github 上提交錯誤 2016 年最好用的表單驗證庫 SMValidator.js 前端表單驗證工具分享 淺談前端線上部署與運維 說到前端部署,可能大多數前端工程師在工作中都是使用的公司現成的部署系統,與SRE對接、一起完...

    xiaowugui666 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<