简介:
同济大学 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