Skip to content

同济大学信息安全原理课程设计大作业.(SSH原型系统,2023)Comprehensive Assignment of Course Design of Information Security Principles in Tongji University.

License

Notifications You must be signed in to change notification settings

ChestnutSilver/Linux-SSH-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

信息安全原理课程设计

简介:

同济大学 2020级 信息安全原理课程设计 作业

总评为“优”。

引用:

如您在作业中使用了我们的代码或报告的任何部分,请在参考文献中列出。

引文格式(yyyy.mm.dd是您访问本网站的日期):

[1] ChestnutSilver. 同济大学信息安全原理课程设计[EB/OL]. 2023[yyyy.mm.dd]. https://github.com/ChestnutSilver/Linux-SSH-System

帮助:

如果你有更好的建议或想法,或者在操作过程中遇到问题,欢迎在本仓库 Issues 与我联系。


一、题目

考虑若干智能手机为用户终端,数据存储和web服务部署在一个linux服务器上,服务器与终端间应用层至少采用TLS保护,设计一个基于ssh对该服务器远程配置和管理的原型系统。

(1)摘要

(2)问题及需求分析

(3)功能及流程设计

(4)安全风险分析与安全策略设计

二、摘要

我们将问题拆解为以下步骤,并逐一完成,并在《四、功能与流程设计》详细介绍。

1.配置基础实验环境

我们使用腾讯云CentOS 7.8云服务器、使用129.211.214.29公网IP(南京)、使用www.tongji.crs.cn作为域名、在服务器配置LNMP(Nginx 1.22、MySQL 5.7、Pure-Ftpd 1.0.49、PHP 7.4、phpMyAdmin 5.2)

2.在linux服务器部署web服务

我们通过创建站点、配置DNS解析、添加html等web源代码文件,在linux服务器部署了web服务。

3.考虑若干智能手机为用户终端,服务器与终端间应用层至少采用TLS保护

我们假定用户终端为若干智能手机,通过配置SSL,并要求强制使用HTTPS安全连接,使得服务器与终端间应用层部署了SSL VPN,实现了对连接的保护。

4.设计一个基于ssh对该服务器远程配置和管理的原型系统

我们首先开放linux服务器的ssh服务,通过OpenSSL、libssh2编写C++程序,实现了对服务器进行配置和管理的代码,得到了原型系统。

5.正确性验证

我们验证了linux服务器提供的服务必须使用安全连接,验证了ssh服务的开放,并基于OpenSSL、libssh2编写了多种配置和管理代码,充分检验了系统的正确性。

我们部署的网站在本学期成绩录入截止之前(2023.07.01 23:59)均开放访问。

6.原创性说明

我们的部署保证了极高的原创性,所有步骤均是在学习大量网络资料的基础上,自己一步步实现的,所有参考文献均已在文末列出。小组成员贡献率均为50%。

7.作业迭代说明

截至2023.06.24:

(1)实现了web服务部署在一个linux服务器上;

(2)实现了考虑若干智能终端,服务器与终端间应用层至少采用TLS保护;

(3)实现了设计一个基于ssh对该服务器远程配置和管理的原型系统;

(4)分析了系统面临的安全风险和安全策略。

更新2023.06.25:

(1)实现了数据存储服务部署在一个linux服务器上;

(2)分角色、功能及优先级,按照数据生命周期,进一步分析了安全风险和安全策略;

(3)进行了SSH的攻击实验,并通过SSH配置的相应的防御措施。

三、问题及需求分析

1.问题分析

问题分析:考虑若干智能手机为用户终端,数据存储和web服务部署在一个linux服务器上,服务器与终端间应用层至少采用TLS保护,设计一个基于ssh对该服务器远程配置和管理的原型系统。

对于上述问题,设计网络拓扑结构

2.需求分析

(1)要使Linux服务器提供服务,则需要配置web和数据库,即配置LNMP(Nginx 1.22、MySQL 5.7、Pure-Ftpd 1.0.49、PHP 7.4、phpMyAdmin 5.2)等必须的环境。

(2)要使若干智能手机为用户终端,且能够访问Linux服务器提供的web服务,则应当配置公网IP和域名。

(3)要使服务器与终端间应用层至少采用TLS保护,则需要申请并设置SSL证书,建立SSL隧道,实现安全连接。

(4)要使原型系统能够基于ssh对该服务器远程配置和管理,则需要使用OpenSSL、libssh2等,通过编写C++程序,实现对服务器的配置和管理。

四、功能及流程设计

详见设计报告pdf文件。

五、安全风险分析与安全策略设计

详见设计报告pdf文件。

六、参考文献

[1]公有云服务器配置、安装环境、部署ssl. https://www.bilibili.com/video/BV1r34y1C772/

[2]如何在CentOS中设置SSH连接?https://blog.csdn.net/LYX_WIN/article/details/130401168

[3]Windows VS2017 编译 libssh2 1.7.0(执行命令、文件上传、下载).http://www.taodudu.cc/news/show-1478015.html?action=onClick

[4]libgit2编译教程.https://www.bilibili.com/read/cv13684782/

[5]OpenSSL.http://slproweb.com/products/Win32OpenSSL.html

[6]libssh2.https://www.libssh2.org/

[7]ssh——渗透篇.https://zhuanlan.zhihu.com/p/455461931?utm_id=0

About

同济大学信息安全原理课程设计大作业.(SSH原型系统,2023)Comprehensive Assignment of Course Design of Information Security Principles in Tongji University.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published