引言
作者目前是浙江某高校研一在读的学生,此前在学校里一直有实验室的服务器可以用,不过那些服务器大多都是已经师兄师姐们配置好的,所以趁着假期期间,稍微捣鼓了一台属于自己的服务器。阿里云的这个计划还是在平时的各种推文里面看到的,觉得是一个练手的好机会。尽管平心而论,要跑程序还是得放实验室,但是平时搞一些小功能,拿自己的这台服务器做测试还是OK的。而且感觉最重要的,就是在这基本从0开始搭建环境的过程中,对许多基本的操作有了更加系统的认知和了解,所以还是大有收获的。本文主要介绍一下在
经历
Anaconda+Jupyter配置网页端
笔者平常用python还是比较多的,做些数据分析的工作比较方便。笔者给服务器装的是Linux,安装anaconda可以直接wget然后参照官网的教程运行.sh文件就好。
主要的问题是集中在Jupyter配置的时候。此前在windows pc上用jupyter时,实际上是在本地创建了一个网站的服务器,也就是我们在地址里面常见的localhost,然后在用浏览器访问本地的这个网站服务器。但是在服务器上配置时,是需要在服务器上设置,并且在本低PC通过浏览器访问。
在这个过程中,我们需要修改整个jupyter_notebook_config.py文件。从这个后缀我们也可以看出,这个配置文件实际上就是一个python文件,所以其中的一些语法还是很容易理解的。主要就是要设置c.NotebookApp.ip = '*',c.NotebookApp.open_browser = False,还有一个password的参数。ip参数表示你是远程访问,而open_browser设置为False可以避免在服务器上打开浏览器(访问服务器通常是通过命令行的方式,因此不设置这个就会出现非常讨厌的各种转发请求)
其实配置起来也是比较简单的,站里面也有很多的blog可以参考。
恶意访问的问题
在互联网上其实一直有很多黑客、挖矿的、或者各种不怀好意的人想要黑进你的电脑,只不过我们通常在用pc机的时候,动态ip、防火墙等安全设置已经帮我们把这些人给拒之门外了,但是在你搭建自己的服务器的时候,就需要自己考虑如何把这些恶意的访问屏蔽掉。所以,特别重要的一点:在设置服务器的root或者管理员账户的密码时千万要足够复杂!!!千万不能设置诸如123、abc、admin之类的。笔者在一开始就是图方便,结果服务器刚上线就被猛烈攻击了,黑客疯狂地暴力试错,没多久密码就被破了,然后我的服务器就被拿来挖矿了。。。。后面只能重装系统了。
应对方法主要有:
- 设置复杂度高的密码【最重要!!!最简单!!!】
- 在尚未被攻破时,通过lastb | more命令可以查看尝试登录的历史,如果里面有大量未知ip的访问,你的服务器通常就是被“瞄准”了
- 使用iptable等工具,对尝试过多次错误登录的ip地址进行封杀,从而避免暴力破解
- 阿里云的安全设置还是很不错的,在出现了可疑情况的时候会有多种提醒,帮你快速识别,及时应对。
展望
通过这次实践,一方面锻炼了自己的能力,另一方面也是体验了“真实”的互联网环境了。在这之后就很想说,服务器有足够好的安全性十分重要,不然有再好的性能也是白搭了。