Lui*_*ado 75 permissions security apache2 www
在本地主机上开发页面时,我有时会收到“权限被拒绝”错误,我可以通过运行chmod -R 777 /var/www. 但是,人们告诉我,出于安全原因,这是一个坏主意。
为什么不应该/var/www有 777 的 chmod?
Mar*_*ppi 87
777 通常是一个不好的许可,我会告诉你原因。
不管在赌场或拉斯维加斯看起来如何,777 对您来说并不意味着中奖。相反,任何希望修改您的文件的人都可以获得大奖。777(及其丑陋的表亲 666)允许对其他. 您可以了解有关文件权限如何工作的更多信息,但简而言之,权限分为三组:所有者、组和其他。通过权限设置为6或7(rw-或rwx)为其他你给任何用户的能力,编辑和操纵这些文件和文件夹。通常,正如您想象的那样,这对安全性不利。
这是我的例子:
marco@desktop:~/Projects/AskUbuntu/20105$ cd ..
marco@desktop:~/Projects/AskUbuntu$ chmod 0777 20105
marco@desktop:~/Projects/AskUbuntu$ cd 20105/
marco@desktop:~/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:32 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
marco@desktop:~/Projects/AskUbuntu/20105$ touch test
marco@desktop:~/Projects/AskUbuntu/20105$ chmod 0666 test
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经创建了一个文件夹并创建了一个具有“错误”权限(777 和 666)的文件。现在我将切换到另一个用户并尝试操作这些文件。
marco@desktop:~/Projects/AskUbuntu/20105$ sudo su - malicious
malicious@desktop:~$ cd /home/marco/Projects/AskUbuntu/20105
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls
test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:33 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
-rw-rw-rw- 1 marco marco 0 2011-01-04 20:33 test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ touch bad
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ echo "OVERWRITE" > test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cat test
OVERWRITE
Run Code Online (Sandbox Code Playgroud)
作为这个“恶意”用户,我能够将文件放入目录并将文本注入到已经存在的文件中。而在下面,在具有 755 的目录和具有 644 的文件中,我能够看到内部文件和目录,但我无法编辑文件或创建新文件:
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cd /home/marco/Projects
malicious@desktop:/home/marco/Projects$ touch hey
touch: cannot touch `hey': Permission denied
Run Code Online (Sandbox Code Playgroud)
对于 Apache 权限,您将要umask 022分别为文件夹和文件坚持 0755 和 0644 (AKA )。这允许您作为文件的所有者编辑和操作它们,同时为 Apache 提供操作所需的最低限度的访问权限。
Ima*_*ots 18
从本质上讲,拥有 777 的权限不会让您自己被黑客入侵,但如果有人在任何地方获得立足点,它可用于升级权限并完全控制您的计算机。最糟糕的是,您的权限使用了“7”——这意味着读取、写入和执行权限。
假设黑客想要接管您的计算机。他可能会使用网络浏览器连接到您的计算机,连接到http://yourcomputer.example.com:80/. 如果您有任何可让他上传图像的页面,他可以将可执行文件重命名为以“.jpg”结尾并将其上传到您的服务器。现在他在他的 web 浏览器中浏览到那个文件并运行它,因为 linux 不关心扩展名,它只看到它是一个可执行文件。这可能不会给他带来太多好处,但是因为它完全可以运行,所以他知道它是以 apache 用户身份运行的。然后他上传了一个修改过的版本,该版本将编辑 apache 的配置文件,授予他更多的访问权限 - 假设 apache 将输出 /etc/passwd 的内容。然后,他可以使用该信息查看系统上存在哪些用户。然后他可以使用 ssh 进行连接并尝试使用常用密码以这些用户身份登录 - 如果这不起作用,他将加紧使用完整的蛮力攻击。如果他以具有 sudo 访问权限的用户身份进入,
现在,您可能会说这不太可能,或者这不是真正的黑客的工作方式。确实如此,但关键是通过将文件设置为 chmod 777,您打开了一个安全漏洞,黑客可以随意使用该漏洞。
如果您改为遵循最小权限原则,则不会出现该漏洞,并且您的系统更难被破解。即使正确地做事情比较困难,你仍然应该尽一切努力去做。
| 归档时间: |
|
| 查看次数: |
59104 次 |
| 最近记录: |