open edx近期笔记(2017.01)
文章目录
OpenedX安全相关
本周(2017.1.5)在Open edX开发研究
群里有2家公司/1所高校的系统被攻击(这是已知的,不清楚是否有更多案例),涉及的open edx版本包括D版和E版,造成mongo数据库被删(edxapp和cs_comments_service_development),群里一番讨论下来,原因主要是以下两点:
- 开发者未修改ansible脚本的mongo密码
- mongo端口外部可访问(阿里云默认所有端口开放,青云相反)
本次攻击的动机是勒索,攻击者先删除数据,留下信息说交0.2个比特币,将恢复数据。好在大家都有做好数据备份,暂无经济损失.
安全方面,建议做些基本防范,就服务器层面而言:
- 使用ssh key登陆,禁用密码登陆(如果你一定要用密码登陆,提高密码强度,并修改ssh端口)
- 修改安装脚本中的默认密码
- 服务器只对外暴露http端口(80/443)和ssh端口(默认是22,可以修改)
顺便把临时的补救措施记一下:
修改 /etc/mongodb.conf
, 使得 bind_ip = 127.0.0.1
, sudo service mongod restart
年底安全这块真是热闹非凡,最近全球 500 亿条数据被 Elasticsearch 勒索者删除.
edx的es非常老旧,建议对外关闭9200端口
默认9200对外开放,可以测试: lynx ip:9200
操作方法也简单:
sudo vim /etc/elasticsearch/elasticsearch.yml
使得network.host: localhost
重启es: sudo service elasticsearch
mongo数据库迁移
mongo用久了,数据会占据极大的空间,关于这块,网上讨论很多:
- MongoDB - file size is huge and growing
- MongoDB file size too big
- Is it safe to delete the journal file of mongodb?
对新手而言,一种简易做法是:db.repairDatabase()
如果你没用把握,对数据库做操作前最好做个备份
我的edx实例中mongo数据库文件(/edx/var/mongo/mongodb
)为8.8G大小,我最近想把它迁移到了外挂盘上,试了几种办法,目前只有软链接有效,大多教程建议的:修改mongo配置文件(修改/etc/mongod.conf
中的dbpath=/edx/var/mongo/mongodb
)始终无效,原因不明
我把有效操作列出如下(这个操作由@dsl完成):
|
|
视频集成
修改cms/envs/common.py
中的MAX_ASSET_UPLOAD_FILE_SIZE_IN_MB = 10
,单位是MB,修改为你允许的上传文件大小,就可以直接在studio里上传视频了。
注:用于早期的实验或小规模使用没用问题,如果是长期使用,建议使用云平台或是搭建流媒体服务器
镜像扩容
edustack.org发布的OpenedX D镜像默认空间为20G(E版默认为500G),D版本无法满足日常需求,对于想扩容的新司机来说,在虚拟机里扩容还挺麻烦的.我这边已将D版本扩容为500G,本来写在这里,发现步骤太多,就不放过来了,建议大家直接使用E版本
文章作者 种瓜
上次更新 2017-01-05