linuxca證書
A. CA證書與DHCP服務
1、創建私有CA並進行證書申請。
1 :創建 CA 私鑰
$ openssl genrsa -des3 -out ca.key 4096
2 :生成 CA 的自簽名證書,其實 CA 證書就是一個自簽名證書
$ openssl req -new -x509 -days 365 -key ca.key -outca.crt
3 :生成需要頒發證書的私鑰
$ openssl genrsa -des3 -out server.key 4096
4 :生成要頒發證書的證書簽名請求
Ps:證書簽名請求當中的 Common Name 必須區別於 CA 的證書裡面的 Common
Name
$ openssl req -new -key server.key -out server.csr
5 :創建一個ext文件,內容如下
keyUsage = nonRepudiation, digitalSignature,keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName=@SubjectAlternativeName
[ SubjectAlternativeName ]
DNS.1=abc.com
DNS.2=*.abc.com
6 :用 2 創建的 CA 證書給 4 生成的 簽名請求 進行簽名
$ openssl x509 -req -days 365 -extfile http.ext -inserver.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
7 :最終會得到一下幾個文件
ca.crt: 這個是ca證書,客戶端信任該證書意味著會信任該證書頒發出去的所有證書
ca.key: ca證書的密鑰
server.key: 伺服器密鑰,需要配置的
server.csr: 證書簽名請求,通常是交給CA機構,這里我們就自己解決了
server.crt: 伺服器證書,需要配置的
2、總結ssh常用參數、用法
ssh命令是ssh客戶端,允許實現對遠程系統經驗證地加密安全訪問。ssh客戶端配置文件是:/etc/ssh/ssh_config
ssh
命令配合的常見選項:
-p port
:遠程伺服器監聽的埠
ssh 192.168.1.8 -p 2222
-b
指定連接的源IP
ssh 192.168.1.8 -p 2222 -b 192.168.1.88
-v
調試模式
ssh 192.168.1.8 -p 2222 -v
-C
壓縮方式
-X
支持x11轉發支持將遠程linux主機上的圖形工具在當前設備使用
-t
強制偽tty分配,如:ssh -t remoteserver1 ssh -t remoteserver2 ssh
remoteserver3
-o option
如:-oStrictHostKeyChecking=no
-i
指定私鑰文件路徑,實現基於key驗證,默認使用文件:~/.ssh/id_dsa,
~/.ssh/id_ecdsa,/.ssh/id_ed25519
,/.ssh/id_rsa等
3、總結sshd服務常用參數。伺服器端的配置文件: /etc/ssh/sshd_config
常用參數:
Port #
埠號
ListenAddress ipLoginGraceTime 2m #
寬限期
PermitRootLogin yes #
默認ubuntu不允許root遠程ssh登錄
StrictModes yes #
檢查.ssh/文件的所有者,許可權等
MaxAuthTries 6
MaxSessions 10 #
同一個連接最大會話
PubkeyAuthentication yes #
基於key驗證
PermitEmptyPasswords no #
空密碼連接
PasswordAuthentication yes #
基於用戶名和密碼連接
GatewayPorts no
ClientAliveInterval 10 #
單位:秒
ClientAliveCountMax 3 #
默認3
UseDNS yes #
提高速度可改為no
GSSAPIAuthentication yes #
提高速度可改為no
MaxStartups #
未認證連接最大值,默認值10
Banner /path/file
以下可以限制可登錄用戶的辦法:
AllowUsers user1 user2 user3
DenyUsers
AllowGroups
ssh
服務的最佳實踐建議使用非默認埠禁止使用protocol version 1
限制可登錄用戶設定空閑會話超時時長利用防火牆設置ssh訪問策略僅監聽特定的IP地址基於口令認證時,使用強密碼策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom| head -c 12|
xargs
使用基於密鑰的認證禁止使用空密碼禁止root用戶直接登錄限制ssh的訪問頻度和並發在線數經常分析日誌
4、搭建dhcp服務,實現ip地址申請分發
一、配置DHCP伺服器
1、安裝DHCP伺服器軟體
[root@centos01 ~]# mount /dev/cdrom /mnt/<!--掛載操作系統光碟-->
mount: /dev/sr0 防寫,將以只讀方式掛載
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*<!--刪除系統自動yum源-->
[root@centos01 ~]# yum -y install dhcp<!--安裝DHCP服務 -->
2、建立主配置文件dhcpd.conf
[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf<!--編輯主配置文件-->
:r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example<!--讀取默認配置文件-->
ddns-update-style none;<!--禁用DNS動態更新-->
option domain-name "benet.com";<!--指定默認搜索域-->
option domain-name-servers 202.106.0.10, 202.106.0.20;
<!--指定DNS伺服器地址-->
default-lease-time 600;<!--默認租約時間-->
max-lease-time 7200;<!--最大租約時間-->
1)/etc/dhcp/dhcpd.conf文件的配置構成
在主配置文件dhcpd.conf中,可以使用聲明、參數、選項這三種類型的配置,各自的作用和表現形式如下所述:
聲明:用來描述dhcpd伺服器中對網路布局的劃分,是網路設置的邏輯范圍。常見的聲明是subnet、host,其中subnet聲明用來約束一個網段。host聲明用來約束一台特定主機。
參數:由配置關鍵字和對應的值組成,總是以「;」(分號)結束,一般位於指定的聲明範圍之內,用來設置所在范圍的運行特性(如默認租約時間、最大租約時間等)。
選項:由「option」引導,後面跟具體的配置關鍵字和對應的值,也是以「;」結束,用於指定分配給客戶機的各種地址參數(如默認網關地址、子網掩碼、DNS伺服器地址等)。
2)確定dhcpd服務的全局配置
為了使配置文件的結構更加清晰、全局配置通常會放在配置文件dhcod.conf的開頭部分,可以是配置參數,也可以是配置選項。常用的全局配置參數和選項如下所述:
ddns-update-style:動態DNS更新模式。用來設置與DHCP服務相關聯的DNS數據動態更新模式。在實際的DHCP應用中很少用到該參數。將值設為「none」即可。
default-lease-time:默認租約時間。單位為秒,表示客戶端可以從DHCP伺服器租用某個IP地址的默認時間。
max-lease-time:最大租約時間。單位為秒,表示允許DHCP客戶端請求的最大租約時間,當客戶端未請求明確的租約時間時,伺服器將採用默認租約時間。
option domain-name:默認搜索區域。未客戶機指定解析主機名時的默認搜索域,該配置選項將體現在客戶機的/etc/resolv.conf配置文件中,如「search benet.com」。
option domain-name-servers:DNS伺服器地址。為客戶端指定解析域名時使用的DNS伺服器地址,該配置選項同樣將體現在客戶機的/etc/resolv.conf配置文件中,如「nameserver 202.106.0.20」。需要設置多個DNS伺服器地址時,以逗號進行分隔。
3)確定subnet網段聲明
一台DHCP伺服器可以為多個網段提供服務,因此subnet網段聲明必須有而且可以有多個。例如,若要DHCP伺服器為192.168.100.0/24網段提供服務,用於自動分配的IP地址范圍為192.168.100。100~192.168.100.200,為客戶機指定默認網關地址為192.168.100.254,則ke可以修改dhcpd.conf配置文件,參考以下內容調整subnet網段聲明:
[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf<!--編輯主配置文件-->
subnet 192.168.100.0 netmask 255.255.255.0 {<!--聲明網段地址-->
range 192.168.100.100 192.168.100.200;<!--設置地址池,可以有多個-->
option routers 192.168.100.254;<!--指定默認網關地址-->
}
4)確定host主機聲明
host聲明用於設置單個主機的網路屬性,通常用於為網路列印機或個別伺服器分配固定的IP地址(保留地址),這些主機的共同特點是要求每次獲取的IP地址相同,以確保服務的穩定性。
host聲明通過host關鍵字指定需要使用保留地址的客戶機名稱,並使用「hardware ethernet」參數指定該主機的MAC地址,使用「fixed-address」參數指定保留給該主機的IP地址。例如,若要為列印機prtsvr(MAC地址為00:0C:29:0D:BA:6B)分配固定的IP地址192.168.100.101,可以修改dhcpd.conf配置文件,參考以下內容在網段聲明內添加host主機聲明。
C:\Users\Administrator>getmac
物理地址 傳輸名稱
=================== =======================================================
00-0C-29-0D-BA-6B \Device\Tcpip_{92E3F48B-40F0-4A0D-9604-6386AAAE3233}<!--客戶端獲取MAC地址-->
[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf
host win7 {
hardware ethernet 00:0C:29:0D:BA:6B;<!--客戶機的MAC地址-->
fixed-address 192.168.100.101;<!--分配給客戶機的IP地址-->
}
3、啟動dhcpd服務
在啟動dhcpd服務之前,應確認提供DHCP伺服器的網路介面具有靜態指定的固定IP地址,並且至少有一個網路介面的IP地址與DHCP伺服器中的一個subnet網段相對應,否則將無法正常啟動dhcpd服務。例如,DHCP伺服器的IP地址為192.168.100.10,用於為網段192。168.100.0/24內的其他客戶機提供自動分配地址服務。
安裝dhcp軟體包以後,對應的系統服務腳本位於/usr/lib/systemd/system/dhcpd.service,可以使用systemd服務進行控制。例如,執行以下操作可以啟動dhcpd服務,並檢查UDP的67埠是否在監聽,以確認DHCP伺服器是否正常。
[root@centos01 ~]# systemctl start dhcpd<!--啟動dhcp服務-->
[root@centos01 ~]# systemctl enable dhcpd<!--設置服務開機自動啟動-->
[root@centos01 ~]# netstat -anptu | grep 67<!--監聽DHCP服務埠號-->
udp 0 0 0.0.0.0:67 0.0.0.0:* 2102/dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 1064/dnsmasq
注意:需要關閉、重啟dhcpd服務時,只要將上述操作命令中的「start」改為「stop」或「restart」即可。
二、使用DHCP客戶端
1、windows客戶端
ipconfig /renew<!--可以為主機重新獲取新的IP地址-->
ipconfig /release<!--釋放IP地址-->
tracert IP地址<!--可以測試從當前主機到目的主機經過的網路節點-->
route print<!--查看路由表-->
2、Linux客戶端
在Linux客戶機中可以設置使用DHCP的方式獲取地址。只需要編輯對應網卡的配置文件,修改或添加「BOOTPROTO=dhcp」配置行,並重新載入配置文件或者重新啟動network服務即可。例如,執行以下操作可修改網卡配置文件,並重新載入配置以通過DHCP方式自動獲取地址:
[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=ens32
DEVICE=ens32
ONBOOT=yes
[root@centos02 ~]# ifdown ens32 ; ifup ens32
[root@centos02 ~]# systemctl restart network
在Linux客戶機中,還可以使用dhclient工具來測試DHCP伺服器。若直接執行「dhclient」命令,則dhclient將嘗試為除回環介面lo以外的所有網路介面通過DHCP方式申請新的地址,然後自動轉入後台繼續運行。當然,測試時可以指定一個具體的網路介面,並結合「-d」選項使其在前台運行,測試完畢後按Ctrl+C組合鍵終止。例如,執行「dhclient -d ens32」命令後,可以為網卡ens32自動獲取新的IP地址,並顯示獲取過程。
[root@centos02 ~]# dhclient -d ens32
Internet Systems Consortium DHCP Client 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/ens32/00:0c:29:97:5c:9f
Sending on LPF/ens32/00:0c:29:97:5c:9f
Sending on Socket/fallback
DHCPDISCOVER on ens32 to 255.255.255.255 port 67 interval 4 (xid=0x5364e17f)
DHCPDISCOVER on ens32 to 255.255.255.255 port 67 interval 6 (xid=0x5364e17f)
DHCPDISCOVER on ens32 to 255.255.255.255 port 67 interval 14 (xid=0x5364e17f)<!--DHCP發現-->
DHCPREQUEST on ens32 to 255.255.255.255 port 67 (xid=0x5364e17f)<!--DHCP請求-->
DHCPOFFER from 192.168.100.10<!--DHCP提供-->
DHCPACK from 192.168.100.10 (xid=0x5364e17f)<!--DHCP確認-->
bound to 192.168.100.102 -- renewal in 229 seconds.
............<!--按Ctrl+C組合鍵終止-->
客戶端需要通過dhclient命令釋放獲取的IP租約時,可以結合「-r」選項。例如,執行以下的「dhclient -r ens32」將會釋放之前為網卡ens32獲取的IP租約。此時再通過執行「ifconfig ens32」命令就看不到分配的IP地址了。
[root@centos02 ~]# dhclient -r ens32
B. 如何搭建證書頒發機構CA在LINUX系統下
http://www.openca.org/ openca給出了一個完整的CA解決方案,lz可以移步去研究下
C. 【安全】CA證書小記續
【 寫在前面 】
早上去和老大解釋了一通自己的理解,信心滿滿的去找服務端溝通去了,哪知自己理解的有偏差,在服務端小夥伴的幫助下終於又理清楚了一些。我知道來對了地方。
【 HOW - SSL證書怎麼得到的 】
上一篇我們說到服務端有一個證書叫SSL證書,業界一般叫服務端證書(一般記做server.crt),那麼這個server.crt證書是怎麼得到的呢?請看下面的流程圖:
備註:
由於 ca.key(CA機構私鑰) 和 ca.crt(根證書) 是一對, 於是 ca.crt 可以解密 server.crt。
【 WHAT- 單向和雙向認證 】
1.單向認證就是我們上一篇中提到的【HOW-CA證書是怎麼運行的】,這是一個典型的單向認證,即客戶端來校驗服務端的證書信息,服務端不校驗客戶端信息,所以此種情況下,客戶端需要有根證書,即ca.crt,服務端需要有server.crt(服務端證書)和server.key(私鑰)。這個地方我之前理解server.crt時就錯誤了,我理解的server.crt依附於根證書,受根證書的有效期影響,但是通過上面server.crt的來源分析,我們知道server.crt只是CA機構簽發的,簽發後和根證書就沒有關系了(當然,CA機構注銷等除外),所以服務端有的只是server.crt這個證書。
2.雙向認證,即客戶端和服務端互相驗證對方的證書合法性,那這個時候兩方都應該有類似的文件,即:
server 需要 server.key 、server.crt 、ca.crt
client 需要 client.key 、client.crt 、ca.crt
雙向認證的流程只是在客戶端校驗完成服務端證書後,再想服務端發送自己的證書信息,服務端來完成一次單向認證,這樣就完成了一次雙向認證。
【 WHAT - 證書格式 】
.crt 表示證書, .key表示私鑰, .req 表示請求文件,.csr也表示請求文件, .pem表示pem格式
其中windows平台下的證書後綴是.pem,而linux平台的證書後綴是.crt
參考資料: https://blog.csdn.net/ustccw/article/details/76691248
D. Linux Centos 怎麼安裝更新根證書實現支持https訪問
1. 使用最小化安裝盤安裝系統,設置好網路環境配置信息
2. 安裝所需工具包
# yum install openssh-server
# yum install wget
# yum update
# yum install setuptool
系統服務配置 # yum install ntsysv
安裝網路配置 # yum install system-config-network-tui
防火牆配置 # yum install system-config-firewall
# yum -y install gcc gcc-c++ autoconf make
# yum -y install vim
關機備份 # shutdown -h now
二、安裝openssl
切換到/tmp目錄下(安裝約定軟體全放在此目錄下)
cd /tmp
# tar zxvf openssl-1.0.0a.tar.gz
# cd openssl-1.0.0a
# ./config --prefix=/usr/local/openssl
# make && make install
三、創建證書
1.解壓工具包
# tar zxvf ssl.ca-0.1.tar.gz
# cd ssl.ca-0.1
2.創建根證書
# ./new-root-ca.sh
No Root CA key round. Generating one
Generating RSA private key, 1024 bit long molus
....++++++
...................++++++
e is 65537 (0x10001)
Enter pass phrase for ca.key:
Verifying - Enter pass phrase for ca.key:
Self-sign the root CA...
Enter pass phrase for ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [MY]:cn
State or Province Name (full name) [Perak]:cn
Locality Name (eg, city) [Sitiawan]:cn
Organization Name (eg, company) [My Directory Sdn Bhd]:cn
Organizational Unit Name (eg, section) [Certification Services Division]:cn
Common Name (eg, MD Root CA) []:172.16.17.132 //這里填站點域名,我是測試的就填ip
Email Address []:[email protected]
這個過程要設置證書密碼,要記住這個密碼後面要用到,還有證書的其它信息:國家、地區、公司名稱,域名,郵箱等,這些信息也要記住,與後面創建的證書主體信息一致
3.創建伺服器證書
# ./new-server-cert.sh server
...
即創建一個名為server的伺服器證書,主體信息與上面的一致就可,我這里就不貼出來了
簽名剛才生成的伺服器證書
# ./sign-server-cert.sh server
這個過程要輸入根證書密碼,後面都選Y即可
4.創建客戶端證書,如果是單向認證,這一步可以跳過
# ./new-user-cert.sh client
...
這里要注意證書信息不能與其它證書完全一樣,這里修改Email與伺服器證書不一樣就行
簽名客戶端證書
# ./sign-user-cert.sh client
轉換成p12格式證書,這樣才能在瀏覽器上安裝
# ./p12.sh client
下載並安裝client.p12證書
關機備份 # shutdown -h now
三、安裝Apache及其所需依賴軟體
# tar zxvf httpd-2.2.23.tar.gz
# cd httpd-2.2.23
# ./configure --prefix=/usr/local/apache \
--enable-ssl \
--enable-rewrite \
--enable-so \
--with-ssl=/usr/local/openssl
# make && make install
可以啟動httpd看看,啟動命令是/usr/local/apache/bin/apachectl start,在瀏覽器中訪問看看,顯示 It workds!說明安裝成功了
四、配置httpd
1.修改httpd.conf
#Include conf/extra/httpd-ssl.conf 把這句前面的#去掉
2.將前面生成的證書拷貝到conf/ssl 下
# mkdir ssl
# cd ssl
# cp /tmp/ssl.ca-0.1/ca.crt ./
# cp /tmp/ssl.ca-0.1/server.* ./
2.修改httpd-ssl.conf
SSLCertificateFile 「/usr/local/apache/conf/ssl/server.crt」
SSLCertificateKeyFile 「/usr/local/apache/conf/ssl/server.key」
下面是開啟客戶端認證,如果是單向認證就不用開啟了
SSLCACertificateFile 「/usr/local/apache/conf/ssl/ca.crt」
SSLVerifyClient require
SSLVerifyDepth 10
五、重啟httpd
[root@localhost extra]# ../../bin/apachectl -t
Syntax OK
[root@localhost extra]# ../../bin/apachectl stop
[root@localhost extra]# ../../bin/apachectl -D SSL -k start
六、安裝並配置Mysql
1、安裝Mysql
添加一個mysql標准組
# groupadd mysql
添加mysql用戶並加到mysql組中
# useradd -g mysql mysql
# tar zxvf mysql-5.0.45.tar.gz
# cd mysql-5.0.45
# ./configure \
--prefix=/usr/local/mysql/ \
--with-extra-charsets=all
出現錯誤:
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found
分析:缺少ncurses安裝包
解決:
# yum install ncurses-devel
# make && make install
2、配置Mysql
創建MySQL資料庫伺服器的配置文件
# cp support-files/my-medium.cnf /etc/my.cnf
用mysql用戶創建授權表,創建成功後,會在/usr/local/mysql目錄下生成一個var目錄
# /usr/local/mysql/bin/mysql_install_db --user=mysql
將文件的所有屬性改為root用戶
# chown -R root /usr/local/mysql
將數據目錄的所有屬性改為mysql用戶
# chown -R mysql /usr/local/mysql/var
將組屬性改為mysql組
# chgrp -R mysql /usr/local/mysql
啟動資料庫
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
查看3306埠是否開啟
# netstat -tnl|grep 3306
簡單的測試
# /usr/local/mysql/bin/mysqladmin version
查看所有mysql參數
# /usr/local/mysql/bin/mysqladmin variables
設置Mysql開機自啟動
# cp /tmp/mysql-5.0.45/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chown root.root /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld
# chkconfig --levels 245 mysqld off
3、Mysql安全性設置
沒有密碼可以直接登錄本機伺服器
# /usr/local/mysql/bin/mysql -u root
查看mysql用戶許可權信息
mysql> select * from mysql.user;
刪除非localhost的主機
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
刷新授權表
mysql> FLUSH PRIVILEGES;
為root用戶添加密碼
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yuwan1986');
再次進入Mysql客戶端
# /usr/local/mysql/bin/mysql -u root -h localhost -p
關閉MySQL資料庫
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
七、 安裝和配置php
# tar zxvf php-5.2.6.tar.gz
# cd /tmp/php-5.2.6
# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql/
# make && make install
出現依賴錯誤,直接使用yum安裝即可
# yum -y install libxml2 libxml2-devel
簡單配置PHP
cp ./php.ini-dist /usr/local/php/etc/php.ini
使用vi編輯apache配置文件
# vim /usr/local/apache/conf/httpd.conf
添加這一條代碼
Addtype application/x-httpd-php .php .phtml
重啟Apache
# /usr/local/apache/bin/apachectl restart
簡單測試一下對PHP的支持
八、安裝安裝phpMyAdmin
1. 拷貝目錄到指定位置並改名為phpmyadmin
# tar zxvf phpMyAdmin-3.3.4-all-languages.tar.gz
# cp -a phpMyAdmin-3.3.4-all-languages /usr/local/apache/htdocs/phpmyadmin
# cd /usr/local/apache/htdocs/phpmyadmin/
# cp config.sample.inc.php config.inc.php
2. 配置phpMyAdmin
# vim /usr/local/apache/htdocs/phpmyadmin/config.inc.php
將auth_type 改為http
$cfg['Servers'][$i]['auth_type'] = 'http';
最後設置開機啟動項:
編輯開機啟動文件# vim /etc/rc.d/rc.local添加
service mysqld start
/usr/local/apache/bin/apachectl -D SSL -k start
至此簡單配置完成,可以安裝到伺服器上了
E. 我用linux的openssl自建CA並簽發證書,自建的CA在windows下顯示不能頒發證書!!如圖:
證書導入必須出現導入證書機構代碼、才能正常使用
F. linux創建CA證書伺服器後怎麼通過web伺服器來管理
圖省事就是用windows好啦。
G. 如何在linux下安裝ssl證書
一、創建Azure Key Vault
創建Key Vault和Linux安裝SSL之前,大家需要先使用az group create來創建資源。比如創建名為「myResourceGroupSecureWeb」的資源組,需要先復制Azure CLI到對應文件夾中,然後再使用az keyvault create創建Key Vault,並在部署VM時啟用該Key Vault。
每一個Key Vault都需要具備唯一的名稱,而且全部都是小寫字母,然後將名稱替換為自己唯一的Key Vault名稱,生成證書並存儲在Key Vault中。為了讓網站SSL安全使用使用,大家需要在Linux安裝SSL導入時由受信任的程序提供簽名才算是有效證書。
二、准備用於VM的證書
若要在VM創建過程中使用上述證書,大家需要使用az keyvault secret list-versions獲取證書的唯一ID,然後再通過az vm format-secret轉換該證書。具體操作為創建cloud-init配置以保護NGINX,在首次啟動VM時對其進行自定義,再通過cloud-init來安裝程序包和寫入文件,或者配置用戶和安全性。
除了在Linux安裝證書初始啟動期間要運行cloud-init外,無需在進行其他的步驟和代理。創建VM、安裝程序包和啟動應用需耗時幾分鍾。創建後測試一下Web應用是否安全,Linux的ssl證書安裝如果使用的是自簽名的安全證書,網頁會有安全警告,提示用戶存在不安全因素。
Linux的ssl證書安裝相對於其他系統來講,比較簡單。不過需要注意的是,Linux安裝證書對國內和國外的網路環境有一定的設置要求,如果沒有及時更改,會造成SSL證書配置失敗。
H. 在linux中ca證書伺服器的搭建,實現雙因子認證
可在Linux環境搭建OpenCA,或其他CA。客戶端是否也需要在Linux環境?一般客戶端通過BS方式訪問CA服務網頁,做證書申請。Key有了數字證書,如果做認證,那就是應用的事情了。
I. Linux下生成能用的SSL證書的步驟
我們首先要設置 openssl 的全局配置文件
在debian下他的配置文件在 /usr/lib/ssl/openssl.cnf
需要修改的內容:
具體怎麼改可以自己決定
在CA目錄下創建兩個初始文件:
為了安全起見,修改cakey.pem私鑰文件許可權為600或400,也可以使用子shell生成( umask 077; openssl genrsa -out private/cakey.pem 2048 ),下面不再重復。
使用req命令生成自簽證書:
然後會有提示,之後再出現也是這樣填,不再重復
以上都是在CA伺服器上做的操作,而且只需進行一次,現在轉到nginx伺服器上執行:
這里測試的時候CA中心與要申請證書的伺服器是同一個。
另外在極少數情況下,上面的命令生成的證書不能識別,試試下面的命令:
上面簽發過程其實默認使用了-cert cacert.pem -keyfile cakey.pem,這兩個文件就是前兩步生成的位於/etc/pki/CA下的根密鑰和根證書。將生成的crt證書發回nginx伺服器使用。
到此我們已經擁有了建立ssl安全連接所需要的所有文件,並且伺服器的crt和key都位於配置的目錄下,剩下的是如何使用證書的問題。
因為這是個人生成的證書,瀏覽器第一次可能會報錯,只要添加信任之後就可以正常使用了!
J. kali linux怎麼安裝ca證書
以前在虛擬機中安裝過BackTrack 3 R5特別喜歡BT的風格,也很喜歡BT強大的功能,所以看到BT後面的版本變為Kali後就直接動手安裝了,不過馬上要換電腦了,而且電腦上已經有兩個系統了,不喜歡用虛擬機,所以這次想安裝到移動硬碟和U盤,這樣以後也容易在新電腦上使用,網上查了好多資料,失敗了好多次,終於成功,特寫下過程做個記錄,也為想安裝到移動硬碟和U盤的朋友提供個教程。有什麼問題下面留言回復,我看到會盡量解決。
OK,廢話不多說,開始
我用U盤刻錄然後U盤啟動的方法試了好幾次,圖形安裝和live盤安裝都試了,在最後一步安裝grub引導時會失敗,用虛擬機的方法安裝成功了,我是用虛擬機的方法安裝到移動硬碟和U盤並不是虛擬機裡面的系統。用到的虛擬機是VMware Workstation 9。
首先在Kali官網上下載Kali鏡像,有amd64位和i386兩種版本,即64位和32位,還有兩種是ARM的,是在嵌入式設備上使用的,忽略
附上下載鏈接:鏡像官網下載地址
打開鏈接後如下圖所示,選擇你需要的版本,我下載的amd64的,下載後的是一個種子文件,用迅雷打開就會下載鏡像了
正式安裝過程
一、配置VMware環境
1.打開VMware Workstation,新建一個虛擬機
2.選擇典型(這里其實選擇哪個都一樣)點下一步
3.選擇第二項,然後點擊Browse按鈕選擇你下載的鏡像點擊下一步
4.選擇Linux在Version中選擇Debian 64位,因為Kali是基於Debian的,選擇最新版本,點下一步,我這里最新版本為Debian 6
5.隨便起個名字,選擇你存放虛擬文件的目錄,這個目錄跟你安裝在哪沒關系,最好不要選擇你要安裝的移動硬碟或者U盤,就選擇本機磁碟下某個目錄
6.設置磁碟空間,這個跟你安裝好的系統沒關系,保持默認的20就好,選擇第二項Split virtual disk as multiple files點擊next,然後點擊完成。
二、安裝Kali到移動硬碟和U盤
1.准備工作:在桌面我的電腦——右鍵——管理——服務和應用程序——服務,確保這五個服務是開啟的
2.打開虛擬機電源,進入Kali的啟動窗口,將移動硬碟或者U盤連接到虛擬機,在右下角有一個磁碟的圖標,點擊一下然後選擇Connect
3.按下方向鍵選擇Graphical Install在Install下面,等待啟動圖形安裝界面
4.選擇中文
5.提示語言翻譯不完全,是否繼續,選擇是,繼續
6.選擇中國,繼續,選擇漢語,繼續
7,開始掛載光碟以及載入安裝程序組件,然後探測網路設備,配置網路,稍等一會,然後會提示你輸入一個用戶名,隨便起,再接著配置網路要輸入一個域名,也隨便填,比如www.kali.com,繼續
8.設置一個Root密碼,設置簡單一點
9.開始探測磁碟分區,選擇第一項,使用整個磁碟(這里提示一點,你提前需要將磁碟分區,比如移動硬碟,你可以用分區工具或者windows自帶的磁碟管理壓縮出一個空白卷,比如我壓縮了40G,不要設置驅動盤符,這塊區域在你的windows上是顯示不出來的,U盤也一樣,如果你不想整個U盤都被裝系統,提前分成兩個區,一個裝系統,一個用來和普通U盤一樣)
10.然後會顯示你的磁碟分區狀況,會有一個你之前設置的虛擬磁碟和你的移動硬碟(U盤),虛擬磁碟後面顯示的是VMware Virtual,如下圖
如上圖,這是我的U盤分了兩個區(我已經在移動硬碟裝好了),一個21G,一個10G,我的U盤是32G的,還有一個虛擬磁碟,如果你的這一步顯示的是下圖這樣
也就是說沒有你的移動硬碟,你就點擊返回再點擊返回直到這個界面
然後雙擊探測鍵盤,或者選擇探測鍵盤再點擊繼續,重新探測一次,如果還是不行,就看看你連接是否有問題或者是否分區有問題
11.雙擊你要安裝的分區,如上圖,我要安裝在21G那個分區(這里說明一下,由於是圖形化安裝,可以使用滑鼠雙擊的方式或者按鍵選擇然後點繼續,都可以)
雙擊第一項(用於),選擇Ext4日誌文件系統,雙擊掛載點選擇根目錄(/),雙擊分區設定結束
12.接著選擇最後一項,分區設定結束並將修改寫入磁碟,點擊繼續,然後提示沒有交換空間,是否返回分區菜單,(在這里說明一下如果是移動硬碟可能會有一個1G左右的分區用於交換分區,如果有的話跟上面的配置方法一樣,雙擊選擇用於交換分區,掛載到swap)以現在的技術有沒有交換空間都無所謂,所以選擇否,即不返回,繼續往下進行,然後提示是否將改動寫入磁碟,選擇是,繼續
13.現在就基本完成了,開始安裝系統,根據電腦配置時間不一樣,我用了近四十分鍾
14.然後提示是否使用網路鏡像,選擇是(網上有人說要選擇否,但是根據他的提示我選擇的是,也不影響,沒什麼區別目前看來)
選擇是之後會彈出配置軟體包管理器的頁面,直接跳過,如果你要配置代理,你可以在這里配置,我選的繼續,然後提示你沒有網路鏡像,是否繼續安裝,選擇是等待下載14個文件完成,然後彈出提示是否安裝grub引導到硬碟,選擇是,到此安裝結束,結束後選擇是會自動重啟,不過不會從移動硬碟或U盤重啟,所以等安裝完成後,關機選擇U盤啟動就會啟動你的U盤或移動硬碟上的系統了