让AWS虚机访问公司内网资源,Linux系统文件权限

2019-09-11 16:04栏目:公司领导
TAG:

泄库事件让所有的企业IT管理人员都如履薄冰,如何才能保护企业的敏感数据不泄漏,成了目前企业IT管理人员的必修课。以下是我们总结出来的企业IT管理人员在保护企业数据时应了解的八件事情,以供大家参考:

让AWS虚机访问公司内网资源(SSH反向代理),aws虚机

Linux系统文件的权限,Linux系统文件权限

1、每个企业都有敏感数据。

背景说明

今天我要将AWS虚机升级到beta版本并进行一些测试。

由于beta版本只在公司内网提供,因此我需要将升级用的文件手动拷贝到AWS虚机中。原始的方法,很容易理解:

然而这就遇到一个问题,因为镜像文件有4.2GB大小,传输过程不仅占用带宽资源,而且还会浪费很多时间。

一、文件的属性

如上图,ls列出文件的基本属性,共有八部分,其中 1.-代表文件类型(具体-代表普通文件,如果是d代表目录;c代表字符设备;s代表套接字;p代表管道;b代表块设备;1代表链接) 2.rw-r--r--代表了文件的读写执行权限。红线隔开三个一组 |rw-|r--|r--|第一组表示所有人的权限,第二组表示所有组的权限;第三组表示其他人的权限 。r表示都的权限(查看);w表示写的权限(添加删除);x表示执行的权限(进入目录)。 3.“1”对文件:文件内容被系统记录的次数。         对目录:目录中文件属性的字节数。 4.root表示文件的所有人(文件是谁的) 5.root表示文件所有组(文件是哪个组的) 6.“0”表示文件内容大小 7.Jan 3 02:46表示文件最后一次被修改的时间 8.file表示文件的名字

敏感数据是指你不希望未授权的人看到的数据,不论企业大小,每个企业都有这类数据。包括员工工资,银行账户,客户信用卡账户,交易机密和体检记录等。

研究过程

监控文件属性的命令:watch  -n  1  ls  -lR /mnt  如下图

=

2、数据丢失时有发生。

方案1【被舍弃】

解决办法我首先想到将目录http://download.eng.pek2.redhat.com/pub/rhel/rel-eng/RHEL-7.4-20170621.0/compose/Server/x86_64/debug/tree/拷贝到虚机上,然后用它来做YUM源进行升级。但我很快就发现自己并不能确定哪些package是升级所需要的,因此只能上传全部的文件,这样做并不能有效解决问题。

二、文件所有人所有组的管理

IT行业几十年来都致力于让用户更快速更便捷地共享数据。我们现在希望复杂的信息可以迅速传播到全球,使其随时供用户使用。然而,其负面影响便是导致数据容易丢失。比如,大多数人都有过把电子邮件发错邮箱的经历。而且,你只需几秒就可以将文件上传到USB或CD上,而这样存储设备也很容易丢失。

方案2【被舍弃】

其次,我想到在AWS虚机上安装客户端,通过VPN方式访问内网资源。这样做当然是可行的,只是openvpn配置起来需要将证书拷来拷去,这使我担心潜在的安全问题,也担心后续会过多地占用VPN服务器资源,因此这个想法只能作罢。

1.更改文件所有人:如下图,原所有人为root,更改命令后变为student 2.更改文件所有人和所有组: 3。更改目录和目录本身所有人:-R表示递归更改 . 4.更改目录及目录一下的所有组:chown变为chgrp . 三、文件的读写执行权限更改 1.上面提到文件的读(r)写(w)执行(x)分为三组,第一组表示所有人用u表示;第二组表示所有组用g表示;第三组表示其他人用o表示 2.chmod命令修改其权限 (1)字符方式修改,如下图,删除所有人的执行权利 (2)给所有组添加写权限 (3):删除所有人的读权限并删除所有组和其他人的执行权限 (4):数字方式修改。在linux系统中r+4,w=2,x=1,如下图为打开了所有权限命令

另外,现在非常流行的移动设备,如笔记本,平板电脑和智能手机也是如此。所有数据丢失中有75%都是意外,因此这显然是一个安全焦点区域。

方案3【被舍弃】

后来,我想到了一个办法,将公司内网的HTTP代理服务器,用反向连接的方式,共享给AWS虚机,用到的命令大概会是这样:

ssh -R 8080:squid.corp.redhat.com:3128 -i ~/.pem/ap-northeast-1-cheshi.pem [email protected]13-113-60-192.ap-northeast-1.compute.amazonaws.com

这样做应该是最简单的方案了,但是它还有一个小问题,所有流量都要去公司代理服务器上绕一圈,数据通路看起来会是这样的:

AWS虚机 <=> MyHost(内网主机) <=> ProxyServer(内网代理服务器) <=> FileServer(内网更新服务器)

浪费资源是一方面,更重要的是如果更新量很大,过多地占用了公司代理服务器的资源,有可能会被IT部门审计出来。

四、系统默认权限设定

3、不法分子正觊觎你的数据。

方案4【被采纳】

于是,我将这个方案进行了一些改进。我直接将MyHost做成了ProxyServer,并将代理服务器端口映射到AWS虚机中,这样就不会过多地占用公司服务器的资源,速度也应该会快一些。此时的数据通路会是这样的:

AWS虚机 <=> MyHost(内网主机即代理服务器) <=> FileServer(内网更新服务器)

下面是我的实现步骤。

1.查看方式:umask命令,如下图,可以看出系统默认权限为022 (2)修改方式 1).暂时修改方式,只在当前shell中有用,umask直接加想设置的权限 2).永久修改,在vim/etc/bashrc和vim/etc/profile下找到umask的信息,将其直接修改两者必须修改一致,如下图: 如上图,我都修改为077,修改完毕后需要输入source /etc/bashrc和source /etc/profile才能成功,如下图 现在直接创建文件,他的读写执行属性已经生效,如下图:(所有人部分为6因为内核会拿走执行权利)

为了名气写病毒的做法已经过时。现在很多恶意软件旨在偷取未检测数据。有些数据,如信用卡账户,显然对不法分子有价值。但是,这些人的目标范围也越来越广,他们试图从邮件地址及公司智力资产等途径获利。当然,黑客不是仅有的数据偷窃者。企业还有小心员工盗取数据及USB存储设备以及其他保存了敏感信息的硬件。

搭建代理服务

ProxyServer我用的是Squid,它是一款开源软件,配置十分简单,几乎不用修改任何配置就可以拿来当HTTP代理服务器用。首先,登录MyHost并执行:

[[email protected]1-202 ~]# yum install -y squid
[[email protected]1-202 ~]# squid -z  # 初始化数据库
[[email protected]1-202 ~]# systemctl start squid.service

五、特殊权限

4、敏感数据丢失会带来严重损失。

反向映射端口(Reverse SSH tunnel)

我需要将本地的3128端口(也就是Squid服务的默认端口)映射到AWS虚机的8080端口,让虚机可以直接使用这个代理服务器。用到的命令是:

# ssh反向映射端口
ssh -R [服务器IP或省略]:[服务器端口]:[客户端能访问的IP]:[客户端能访问的IP的端口] [登陆服务器的用户名@服务器IP] -p [服务器ssh服务端口(默认22)]

换成我的情况,我需要使用下面这样的命令:

[[email protected]1-202 ~]# ssh -R 8080:127.0.0.1:3128 -i ~/.pem/ap-northeast-1-cheshi.pem -l ec2-user ec2-13-113-60-192.ap-northeast-1.compute.amazonaws.com
Last login: Wed Jul  5 05:00:34 2017 from 119.254.120.66
[[email protected]172-31-2-249 ~]$ 

这样的命令会同时打开一个到服务器(也就是AWS虚机)的console,在这个console连通的时候,代理服务器都是有效的,关闭这个console后,端口映射也就终止了。如果你想在不打开console的情况下使端口映射生效,你可以在上述命令中添加-Nf选项。

[[email protected]1-202 ~]# ssh -Nf -R 8080:127.0.0.1:3128 -i ~/.pem/ap-northeast-1-cheshi.pem -l ec2-user ec2-52-193-95-192.ap-northeast-1.compute.amazonaws.com
[[email protected]1-202 ~]# ps -ef | grep "ssh -Nf"
root     25126     1  0 13:10 ?        00:00:00 ssh -Nf -R 8080:127.0.0.1:3128 -i /root/.pem/ap-northeast-1-cheshi.pem -l ec2-user ec2-52-193-95-192.ap-northeast-1.compute.amazonaws.com
root     25176 16347  0 13:16 pts/0    00:00:00 grep --color=auto ssh -Nf
[[email protected]1-202 ~]# 

扩展阅读:使用ssh正向连接、反向连接、做socks代理的方法

注意:使用-Nf选项建立tunnel有可能使你在将来忘记它的存在。为此,出于安全考虑,我建议你使用不带-Nf选项的“阅后即焚”的连接方式。

1.suid冒险位:只针对二进制可执行文件,文件内记录的程序产生的进程的所有人为文件所有人和进程发起人的身份无关。所有人执行位变为S 设定方式:1)chmod  u+s设定,如下图  2)chmod  4xxx设定,如下图 2.sgid强制位,对文件:只针对二进制可执行文件,任何人运行二进制文件程序时,程序产生的进程的所有组都是文件的所有组和程序发起人组的身份无关。对目录:当目录有sgid权限后,目录中新建的所有文件的所有组都自动归属到目录的所有组之中和文件建立者所在的组无关。所有组执行位变为S 设定方式:1)chmod g+s设定,如下图 2)chmod 2xxx设定,如下图 示例如下:在student用户下在目录中touch文件他的所有人 和所有组都为student,此时在root下发起sgid强制命令,再切换到student用户下建立文件发现他的所有组为root,即验证,如下图 3.sticky ##粘制位:只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除。其他人的执行位显示t 设定方式:1)chmod o+t设定,如下图: 2)chmod 1xxx设定,如下图: 示例如下:root用户下执行此命令,切换到student用户下,其没有权限删除root建立的文件,如下图 六、文件的访问权限控制 可以直接让某个用户对某个文件有你需要的权限 1.例如: setfacl -m u:student:rwx  /mnt/file(让student用户对/mnt/file的有rwx的权限);getfacl  /mnt/file查看权限列表,操作执行如下图: 2.列出文件属性时,如果一个文件在读写执行部分后有加号,即代表其有特殊权限,可getfacl查看,如果要关闭这个权限,只需要setfacl -b 文件名即可,如下图:

许多国家和行业都有针对数据丢失的金融处罚。即便你不想被罚款,但是后果仍会很严重。这包括消除数据泄露的成本,如通知受影响单位并使其免受损失。更糟糕的是,泄露的R&D秘密可能落入竞争对手的手里,这会对企业造成长期影响。对名誉的损坏也是另一大威胁,因为消费者也开始意识到了数据丢失的破坏性。

在虚机中使用yum

来到AWS虚机中,添加YUM源,并为其设置代理服务器(http://127.0.0.1:8080/)。

[[email protected]172-31-10-95 ~]$ cat /etc/yum.repos.d/rhel7u4.repo
[rhel7u4-debug]
name=rhel7u4-debug
baseurl=http://download.eng.pek2.redhat.com/pub/rhel/rel-eng/RHEL-7.4-20170621.0/compose/Server/x86_64/os
enabled=1
gpgcheck=0
proxy=http://127.0.0.1:8080/
[[email protected]172-31-10-95 ~]$ 

备注:因为有代理服务器在,所以这里的baseurl可以直接填写MyHost可以访问的任何一台更新服务器。

然后,就可以通过YUM源进行更新了:

[[email protected]172-31-10-95 ~]$ sudo yum update --enablerepo=rhel7u4-debug
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.8.0-0.4.rc3.el7 will be updated
---> Package NetworkManager.x86_64 1:1.8.0-9.el7 will be an update
......
Complete!
[[email protected]172-31-10-95 ~]$ 

备注:如果没有设置代理服务器,或者代理服务器的连接有问题(通常是由于MyHost上的防火墙所致),就会收到"Could not resolve host: download.eng.pek2.redhat.com; Name or service not known"的消息。

版权声明:本文由ag真人发布于公司领导,转载请注明出处:让AWS虚机访问公司内网资源,Linux系统文件权限