分类: BSD
2008-10-14 15:04:40
其中CLI包括Telnet、SSH、serial三种方式。配置都很简单。WEBUI包括HTTP和HTTPS两种登录方式,HTTP的启用和配置都比较简单,在此不做介绍。本文重点介绍HTTPS的配置。
首先开启https服务:
root# set system services web-management https port 443 local-certificate https
上面这条命令表示用名称为https的x.509证书来开启https服务,并设定https服务的端口为443.
提交一下,系统提示信息如下:
root# commit
[edit system services web-management https local-certificate]
'local-certificate https'
certificate must be configured under 'security certificates local'
error: commit failed: (statements constraint check failed)
这是因为我们还没有定义名称为https的x.509证书,所以https服务无法应用它。所以,现在的首要任务是产生一个x.509证书。
我们用openssl来制造证书。登陆opensll的官方网站
下载最新版本OpenSSL 0.9.8i.tar.gz安装包。
到FreeBSD下面安装OpenSSL 0.9.8i.tar.gz,步骤如下:
mm#
mm# cd /usr/myfolder/
mm# ls
id_dsa openssl-0.9.8i.tar.gz vim-6.4.6_1.tbz
id_dsa.pub vmware-freebsd-tools.tar.gz
mm# tar zxvf openssl-0.9.8i.tar.gz
mm# cd openssl-0.9.8i.tar.gz
mm# make
mm# make install
mm#
mm#
安装完OpenSSL 0.9.8i.tar.gz之后,我们就利用它来产生一个证书,命令如下:
mm#
mm# pwd
/usr/myfolder
mm# openssl req -x509 -nodes -newkey rsa:1024 -keyout https.pem -out https.pem
Generating a 1024 bit RSA private key
.......................................++++++
.............++++++
writing new private key to 'https.pem'
-----
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) [AU]:ch
State or Province Name (full name) [Some-State]:shandong
Locality Name (eg, city) []:qingdao
Organization Name (eg, company) [Internet Widgits Pty Ltd]:zenith
Organizational Unit Name (eg, section) []:zenith
Common Name (eg, YOUR name) []:mm
Email Address []:mmzhang@zaixin.com
mm# ls
https.pem openssl-0.9.8i.tar.gz vmware-freebsd-tools.tar.gz
id_dsa test
id_dsa.pub vim-6.4.6_1.tbz
mm#
我们再来看一下证书的内容:
mm# cat https.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQDM/dURgQJhI0n5ec2RAdsWdVmAzLVssQTaNHFpOIRs67q5gueJ
pAwJNFrTq1gHlryNNud4tFmpgG0qTqzdlYWSGWIzX3EaWoNYguIlBv/WJDhjHIhc
7HFnm2nTaw2jna+SsJiehBdABVUSaGFcT4xBw6GopreURn+GzJfSfd6oNwIDAQAB
AoGBAJLjXHcze3IBqHNUvWGn88bPBfiON36QBgsZwx6DuhiWffGKhMETRPCfjGna
gLTHZYrHCexrR0h3V0IWqDYLe26hIhDeiR7f5AogZ37uMZSU+LhkgD5PFn2q6bn3
lTrwaDygdEvHGvdC9sGKyCmqaE/syUZZf7SKDNkoUcrhOJlZAkEA9UVCPpwklTxU
WG+3KCcd8wegHfPaacGmN+LDHZ/My1ylDAMu4g1lXqb9rvOeTbBC9zl8QT8Be1Gk
eQOoOn9c0wJBANX1fv2NCG4yw7Tzd0EBg1amf2FgaDHyrWQeoLIWOlqd/5civoW/
Wq0O1t7eusK3eZsESxrehMCbY6nzL6jwWI0CQQDbA2pg8Br2q/WBNtitYSisMF35
ARxCnWooszOZy20bFvJGZL1Dm8SuHZ2f0OjF5KQXkNx0gqd3D/M3IF3jRoGDAkEA
pp7pR1F2eEMGT7uuaixgeLFuz4mBeyxOxYJoiGdxCDK04aEIGCY92jmNMcDoVk0F
4afFSWZyoYAhbC9bNUf+3QJAeBvISCuQdEt74hBsLcat0PAaIvc0KitCjgNa9GMm
1d5vkakMSi9XEyctj9nj5sj7sXX6cn14kfEsYMLX4ni46Q==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
GTRGCXgIBAAKBgQDM/dURgQJhI0n5ec2RAdsWdVmAzLVssQTaNHFpOIRs67q5gueJ
pAwJNFrTq1gHlryNNud4tFmpgG0qTqzdlYWSGWIzX3EaWoNYguIlBv/WJDhjHIhc
7HFnm2nTaw2jna+SsJiehBdABVUSaGFcT4xBw6GopreURn+GzJfSfd6oNwIDAQAB
AoGBAJLjXHcze3IBqHNUvWGn88bPBfiON36QBgsZwx6DuhiWffGKhMETRPCfjGna
gLTHZYrHCexrR0h3V0IWqDYLe26hIhDeiR7f5AogZ37uMZSU+LhkgD5PFn2q6bn3
lTrwaDygdEvHGvdC9sGKyCmqaE/syUZZf7SKDNkoUcrhOJlZAkEA9UVCPpwklTxU
WG+3KCcd8wegHfPaacGmN+LDHZ/My1ylDAMu4g1lXqb9rvOeTbBC9zl8QT8Be1Gk
eQOoOn9c0wJBANX1fv2NCG4yw7Tzd0EBFDGDFgaDHyrWQeoLIWOlqd/5civoW/
Wq0O1t7eusK3eZsESxrehMCbY6nzL6jwWI0CQQDbA2pg8Br2q/WBNtitYSisMF35
ARxCnWooszOZy20bFvJGZL1Dm8SuHZ2f0OjF5KQXkNx0gqd3D/M3IF3jRoGDAkEA
pp7pR1F2eEMGT7uuaixgeLFuz4mBeyxOxYJoiGdxCDK04aEIGCY92jmNMcDoVk0F
4afFSWZyoYAhbC9bNUf+3QJAeBvISCuQdEt74hBsLcat0PAaIvc0KitCjgNa9GMm
1d5vkakMSi9XEyctj9nj5sj7sXX6cn14kfEsYMLX4nSAF==
-----END CERTIFICATE-----
mm#
通过ftp的方式将刚才产生的证书https.pem上传到Junos的/var/tmp目录下:
root@% cd /var/tmp/
root@% ls
https.pem sampled.pkts
preinstall_boot_loader.conf vi.recover
现在我们就可以利用这个证书了:
root# set security certificates local https load-key-file /var/tmp/https.pem
上面这条命令就是利用名为https.pem的文件在本地创建一个名为https的x.509证书,其中https.pem文件中包含SSL证书和私钥。
我们在此进行提交:
root# commit
commit complete
看,现在已经提交成功了,测试一下:
好了,我们已经成功开启了https服务,仔细研究一下jweb的功能吧 :-D
附录(X.509介绍):
服务器SSL数字证书和客户端单位数字证书的格式遵循 X.509 标准。 X.509 是由国际电信联盟(ITU-T)制定的数字证书标准。为了提供公用网络用户目录信息服务, ITU 于 1988 年制定了 X.500 系列标准。其中 X.500 和 X.509 是安全认证系统的核心, X.500 定义了一种区别命名规则,以命名树来确保用户名称的唯一性; X.509 则为 X.500 用户名称提供了通信实体鉴别机制,并规定了实体鉴别过程中广泛适用的证书语法和数据接口, X.509 称之为证书。
X.509 给出的鉴别框架是一种基于公开密钥体制的鉴别业务密钥管理。一个用户有两把密钥:一把是用户的专用密钥(简称为:私钥),另一把是其他用户都可得到和利用的公共密钥(简称为:公钥)。用户可用常规加密算法(如 DES)为信息加密,然后再用接收者的公共密钥对 DES 进行加密并将之附于信息之上,这样接收者可用对应的专用密钥打开 DES 密锁,并对信息解密。该鉴别框架允许用户将其公开密钥存放在CA的目录项中。一个用户如果想与另一个用户交换秘密信息,就可以直接从对方的目录项中获得相应的公开密钥,用于各种安全服务。
最初的 X.509 版本公布于 1988 年,版本 3 的建议稿 1994 年公布,在 1995 年获得批准。本质上, X.509 证书由用户公共密钥与用户标识符组成,此外还包括版本号、证书序列号、CA 标识符、签名算法标识、签发者名称、证书有效期等。用户可通过安全可靠的方式向 CA 提供其公共密钥以获得证书,这样用户就可公开其证书,而任何需要此用户的公共密钥者都能得到此证书,并通过 CA 检验密钥是否正确。这一标准的最新版本 -- X.509 版本 3 是针对包含扩展信息的数字证书,提供一个扩展字段,以提供更多的灵活性及特殊环境下所需的信息传送。
为了进行身份认证, X.509 标准及公共密钥加密系统提供了一个称作数字签名的方案。用户可生成一段信息及其摘要(亦称作信息“指纹”)。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密,并将之与收到的信息“指纹”进行比较,以确定其真实性。
目前, X.509 标准已在编排公共密钥格式方面被广泛接受,已用于许多网络安全应用程序,其中包括 IP 安全( Ipsec )、安全套接层( SSL )、安全电子交易( SET )、安全多媒体 INTERNET 邮件扩展( S/MIME )等。