美文网首页GoldMap项目笔记
GoldMap项目笔记(三)

GoldMap项目笔记(三)

作者: titainium | 来源:发表于2017-01-13 16:04 被阅读0次

新的问题很快就出现了,嗯,不过我觉得在这个项目运行的初期,还不算是什么大的问题,不过个人觉得还是有必要加以关注,同时也做一点学习和了解。
这个问题的引发是由于使用了asnycpg这个库操作postgresql,当访问postgresql创建连接池的时候,调用的参数包括了用户密码,当时我写入了访问数据库的密码,而且是明文写入的。因为目前项目是保存在github上面的,当代码上传之后,等于访问数据库的帐号以及密码就完全公开了,然后这就引发了我的困扰。因为这完全就是安全的隐患嘛!
昨天一天都在试图解决这个问题。
最先从脑海里产生的思路是,这是asyncpg的问题,为什么会明文写入密码,时候可以先进行加密,然后将加密后的密码串发送给pg,由pg端进行解密,然后验证用户?但是很快这个思路就被我否定了,因为这样操作,似乎并不能解决问题。因为即使我预先加密了原始的密码,但是只要调用asyncpg操作创建连接池的时候,还是要在参数中输入密码,密码同样也等于暴露了。
然后我想到的思路就是做ssl访问,客户端和服务器端核对认证证书。这样就无需输入密码即可访问操作postgresql了,而且在我的印象中,postgresql也是支持ssl和ssh访问的。于是,接下来就一直在按照这个思路在查询相关的资料。
首先查找的是postgresql的官方文档,不得不说,postgresql的官方文档相当详细,几十章的内容,介绍了这个产品的方方面面。介绍客户端认证的内容在第十九章(我使用的postgresql版本号为9.5,而最新版则是9.6),整整一个章节介绍了认证的各个方法。其中就包括了关于ssl认证的说明。而第十七章第九节则详细介绍了如果设置ssl认证。postgresql的ssl认证是需要制作证书,客户端的证书尤其麻烦。不过在该小节末尾介绍了如何自行制作ssl证书。于是我就按照该章节的说明进行了配置。
很不幸的是,尝试没有成功。然后就在网络上搜集其他人的文章,看看有没有配置成功的操作案例,虽然找到了不少,而且每个人设置的方法也都不尽相同。只好跟着每个人的设置,尝试解决自己的问题。就这样折腾了一个晚上,一直到了半夜。问题依然没有解决。
我的系统是ubuntu16.10,看起来似乎是权限的问题,只要我在pg_hba.conf文件中设置了认证方式为hostssl,postgresql的服务就无法启动,/var/run/postgresql/.s.PGSQL这里就没有权限获取,从而导致服务不能起来。关于这一点,可能需要在后面学习了postgresql的相关知识后才能找到问题的原因了吧。
不过在查阅官方文档的过程中,我倒是发现了避开我的困扰的方法。根据文档中的说明,在postgresql的本机上客户端访问时候,是可以不用输入密码,直接就可以进行访问并操作的,于是我尝试着修改了一下代码。果然,虽然去掉了password的参数,但是程序依旧成功地进行了数据库的操作。这个晚上总算有了一点点小小的收获!
对于现在的情况来说,关于安全这一块,则是将风险转移到了操作系统上面,只要系统不被入侵,访问数据库的操作还是比较安全的。就算以后整个系统正式上线,只要不是需要多台机器访问数据库,这一个困扰我的问题都不需要面对。不过我想,到了那个时候,或许这个系统已经相当庞大了,而我也许找到了更好的办法。毕竟对于psotgresql来说,可以进行安全认证的方法并不只有ssl这一种。
前几天在蜂鸟上面看到了一组外国的摄影师为自己女儿拍摄的写真,爸爸将女儿打造成了《星球大战:原理觉醒》的女主角,非常的可爱。不知道未来将会诞生的我的宝贝,会不会有一天也会让我给她拍一组这样的片子?

相关文章

  • GoldMap项目笔记(三)

    新的问题很快就出现了,嗯,不过我觉得在这个项目运行的初期,还不算是什么大的问题,不过个人觉得还是有必要加以关注,同...

  • GoldMap项目笔记(五)

    时隔了许久,终于有时间继续更新这个项目笔记,实在有些惭愧。 还是首先简短说明一下原因吧。 上次笔记发布之后,整理了...

  • GoldMap项目笔记(二)

    每写一个新的项目,都是一次学习新知识的过程。同样的,也是在锻炼自己的编码能力。这一回也不例外。公司的项目一直运行在...

  • GoldMap项目笔记(四)

    目前的进度是爬虫系统刚刚完成了雏形,正在进行代码的优化。之后需要做的事情就是学习、学习,学习!在早先的项目设计中,...

  • GoldMap项目笔记(一)

    其实这个项目在一年之前就有了想做的年头,兴冲冲准备了好多资料,还学习了一阵子自然语言处理。可是由于没有沉下心来专...

  • 三类笔记

    看了《卡片笔记写作法》提到的三种笔记类型,分别是闪念笔记、永久笔记和项目笔记。 卡片盒笔记系统 一种自下而上的信息...

  • 笔记的分类和管理影响笔记的价值

    申克.阿伦斯在《卡片笔记写作法:如何实现从阅读到写作》里指出笔记分为三类:闪念笔记、永久笔记和项目笔记—— 闪念笔...

  • 直播项目笔记(三)

    IM编程 整合工具栏 UITextField设置leftView和rightView 使用闭包传值 监听键盘的高度...

  • 2017年1月week2

    一、已完成项目。 看书资格证三章 二、未完成项目,没有把意志力书看完。 也没有学做笔记, 三...

  • 《卡片笔记写作法》/20

    【提炼标题】记项目笔记 【见】项目笔记(Project Notes):它们只与某一特定项目有关,保存在特定项目的文...

网友评论

    本文标题:GoldMap项目笔记(三)

    本文链接:https://www.haomeiwen.com/subject/znhsbttx.html