实验一: 自建HTTPS

信息安全实践实验报告链接

实验一: 自建HTTPS

实验二: CSS

实验环境

ubuntn 16.04, 17.10 之类的均可

配置实验环境

安装实验环境

sudo apt-get install apache2

# 注意
# php5, 需要首先安装apache2
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php5.6

sudo apt install mysql-server mysql-client
sudo apt install php5.6-mysql

配置mysql

首先进入mysql交互式命令行

# 使用root账户
mysql -u root -p
# 输入密码

# 创建数据库内容
create database myzoo;
use myzoo; 

create table Person(PersonID int primary key auto_increment, Password varchar(100),Salt varchar(100),Username varchar(100),Token varchar(100),Zoobars int default 10, Profile varchar(5000));

# 退出数据库
exit

配置myzoo

# 1. 复制myzoo到 /var/www/
sudo cp -r myzoo /var/www/
# 2. 配置myzoo中的数据相关的用户名、密码、数据名字等
sudo vim /var/www/myzoo/includes/database.class.php

# 提高参考, 需要更改成你自己的数据库密码
private $db_host = 'localhost';
private $db_user = 'root';
private $db_pass = "";
private $db_dbname = "";

配置apache2

# 创建配置文件
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/myzoo.conf
sudo vim /etc/apache2/sites-available/myzoo.conf
# 修改DocumentRoot为 /var/www/myzoo

# 首先禁用默认的Apache虚拟主机:
sudo a2dissite 000-default.conf
# 启用这个站点
sudo a2ensite myzoo.conf

# 重启apache服务器
sudo service apache2 restart

到此浏览器中输入localhost应该可以访问myzoo

生成SSL证书

# 创建需要的文件
# 下面四句整体复制执行
mkdir -p ./demoCA/{private,newcerts} && \
touch ./demoCA/index.txt && \
touch ./demoCA/serial && \
echo 01 > ./demoCA/serial

# 生成CA根密钥,用于签名
openssl req -x509 -newkey rsa:2048 -keyout ./demoCA/private/cakey.pem -out ./demoCA/cacert.pem -outform PEM -days 3650

# 生成CA证书请求
# 注意CommonName必填, 比如www.myzoo.com
openssl req -days 3650 -newkey rsa:2048 -keyout ./demoCA/private/tempkey.pem -out tempreq.pem
openssl rsa < ./demoCA/private/tempkey.pem > ./demoCA/private/server_key.pem

# 签发证书
openssl ca -in tempreq.pem -out ./demoCA/server_crt.pem

# 配置apache2
sudo mkdir /etc/apache2/ssl
sudo cp ./demoCA/server_crt.pem /etc/apache2/ssl/server.crt
sudo cp ./demoCA/private/server_key.pem /etc/apache2/ssl/server.key

# 信任证书,请勿使用chrome,证书要求极为严格
## 为了可以通过www.myzoo.com访问本地
## 注意: 下一行的www.myzoo.com需要同 生成CA证书请求 中填写的CommonName相同 
sudo sh -c " echo \"127.0.0.1     www.myzoo.com\" >> /etc/hosts"
浏览器中信任cacert.pem, 此文件在demoCA文件夹下
    firefox57为例
    首选项 -> 隐私与安全(也就是左边的小锁) -> 查看证书 -> 证书机构 -> 导入 -> 文件管理器选择demoCA文件夹下的cacert.pem即可
    出现一个弹窗, 有三个勾选框, 第一个必选


## 生成pfx密钥串,此命令目前无需执行
# openssl pkcs12 -export -inkey ./demoCA/private/server_key.pem -in ./demoCA/server_crt.pem -out server.pfx

配置apache2

# 配置default-ssl.conf
sudo vim /etc/apache2/sites-available/default-ssl.conf

# 修改如下内容
DocumentRoot /var/www/myzoo
SSLCertificateFile      /etc/apache2/ssl/server.crt
SSLCertificateKeyFile   /etc/apache2/ssl/server.key

## 1. 开启SSL模块
sudo a2enmod ssl
## 2. 启用SSL站点
sudo a2ensite default-ssl

# 重启apache服务器
sudo service apache2 restart

浏览器输入https://www.myzoo.com查看结果
注意: 上面的www.myzoo.com需要修改成你输入的CommonName

你可能感兴趣的:(实验报告)