Skip to content
This repository has been archived by the owner on Sep 22, 2024. It is now read-only.

[sogoupinyin] add selinux support #39

Merged
merged 1 commit into from
Dec 13, 2015
Merged

[sogoupinyin] add selinux support #39

merged 1 commit into from
Dec 13, 2015

Conversation

1dot75cm
Copy link
Contributor

Policy violation:

  • read /etc/passwd
  • read/write user home directory content, (.config/fcitx/)
  • sogou-qimpanel may execution any command, (/bin/)
  • read all /proc pseudo filesystem
  • can access the network, may upload users data
    • Get the words from the server itself will leaked privacy
  • unknown portions

booleans:

  • sogou_access_network, default True.
  • sogou_enable_homedirs, default False.

see issue #32

@Endle
Copy link
Collaborator

Endle commented Oct 25, 2015

有一个问题,linux 上的搜狗输入法支持词库同步吗?如果支持,那我赞成网络访问功能默认开启

另外,仅仅是禁用 /etc/passwd 吗?可不可以把 /etc 都禁用掉?

@cicku
Copy link
Member

cicku commented Oct 25, 2015

can access the network, may upload users data

I'm sorry, do we have any terms covering this?

@1dot75cm
Copy link
Contributor Author

有一个问题,linux 上的搜狗输入法支持词库同步吗?如果支持,那我赞成网络访问功能默认开启。另外,仅仅是禁用 /etc/passwd 吗?可不可以把 /etc 都禁用掉?

linux 搜狗设置里支持细胞词库更新(但好像没怎么用过,词库还是需要手动添加)。 sogou-qimpanel 仅能读取 sogou_*_t 标签的内容,所有 /etc 的内容都无法读取。

关于访问网络,当前的策略有些问题,不管 bool 设置如何,目前都禁用网络。后期再修复。

I'm sorry, do we have any terms covering this?

开源的软件会好一些, 闭源的软件 可能 会泄露隐私,所以应当审查后使用。

@1dot75cm
Copy link
Contributor Author

已加入源, 如果大家测试没问题,就可以合并了。 @Endle @cicku @FZUG/tier1

@1dot75cm
Copy link
Contributor Author

泪奔,然而并没有人来处理 PR @FZUG/tier1

@Endle
Copy link
Collaborator

Endle commented Oct 26, 2015

@1dot75cm commented on 26 Oct 2015, 20:59 GMT+8:

泪奔,然而并没有人来处理 PR @FZUG/tier1

应该是大家都不太熟悉 SELinux 吧,所以不敢贸然合并
我觉得我们需要讨论一下合并负责人的问题了

就我而言,我觉得应该把3各commit合并成一个

@alick
Copy link
Member

alick commented Oct 26, 2015

同意 @Endle 应该把 commit 合成一个的建议。

我觉得我个人不想测试是因为对搜狗输入法无爱( ̄□ ̄)

@1dot75cm
Copy link
Contributor Author

应该是大家都不太熟悉 SELinux 吧,所以不敢贸然合并

@Endle SELinux 本身不会造成任何隐私泄露和安全问题,它只是在传统的 DAC 之外,提供针对进程的强制访问控制。

sogou_access_network 这个 bool 改好了,执行

# setsebool sogou_access_network=0

选择搜狗检查更新,会提示网络连接失败。

就我而言,我觉得应该把3各commit合并成一个

已合并为一个 commit

@cicku
Copy link
Member

cicku commented Oct 26, 2015

不熟悉?我们专业课就有selinux,正儿八经考试范围内的...

不合并主要是联网的那个我没想好,而且这个 repo 我并未做过大的操作,不敢贸然行事

@1dot75cm
Copy link
Contributor Author

@cicku 既然应试需要考,可以拿这个练手。
不允许联网,不影响 云候选词 的获取,云词可以通过 fcitx 关闭。

@1dot75cm
Copy link
Contributor Author

  • 关于词库/皮肤

selinux 默认会阻止对 home 其他文件的访问。皮肤安装按以下方式:

$ cp blue.ssf ~/.config/sogou-qimpanel/skin/
$ restorecon -Rv ~/.config/sogou-qimpanel
$ sogou-qimpanel ~/.config/sogou-qimpanel/skin/blue.ssf

词库按以下方式安装:

$ cp test.scel ~/.config/SogouPY/scd/
$ restorecon -Rv ~/.config/SogouPY/scd/
$ sogou-qimpanel ~/.config/SogouPY/scd/test.scel

禁用 sogou 访问网络:

# setsebool -P sogou_access_network=0

鉴于有小白使用 sogoupinyin ,建议合并以增强安全。

@Endle
Copy link
Collaborator

Endle commented Nov 8, 2015

@1dot75cm commented on 2015年10月30日 GMT+8上午4:43:

  • 关于词库/皮肤

selinux 默认会阻止对 home 其他文件的访问。皮肤安装按以下方式:

$ cp blue.ssf ~/.config/sogou-qimpanel/skin/
$ restorecon -Rv ~/.config/sogou-qimpanel
$ sogou-qimpanel ~/.config/sogou-qimpanel/skin/blue.ssf

词库按以下方式安装:

$ cp test.scel ~/.config/SogouPY/scd/
$ restorecon -Rv ~/.config/SogouPY/scd/
$ sogou-qimpanel ~/.config/SogouPY/scd/test.scel

禁用 sogou 访问网络:

# setsebool -P sogou_access_network=0

鉴于有小白使用 sogoupinyin ,建议合并以增强安全。

我突然有个想法
我们能不能写一个 bash 脚本,来安装搜狗拼音的词库和皮肤?

booleans:
- sogou_access_network, default True.
- sogou_enable_homedirs, default False.

see issue #32
@1dot75cm
Copy link
Contributor Author

1dot75cm commented Dec 6, 2015

抱歉,没看到。@Endle
已添加新的 bool, sogou_enable_homedirs,允许读取用户家目录的词库/皮肤。

$ sudo setsebool sogou_enable_homedirs=1
$ sogou-qimpanel blue.ssf
$ sogou-qimpanel test.scel

这样就可以了,也不太麻烦,不用写脚本。

1dot75cm added a commit that referenced this pull request Dec 13, 2015
add selinux support for sogoupinyin
@1dot75cm 1dot75cm merged commit 9ab9afc into FZUG:master Dec 13, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants