我有一个分类广告网站......
正如您可能想象的那样,作为网站管理员(管理员),我有时需要删除分类广告,编辑它们等等。
我有自己的Linux服务器,具有root访问权限。
目前我的网站有一部分包含所有管理php脚本,我用它来删除分类广告,编辑它们等等:
/www/adm/ //Location of administrative tools
上面的这一部分今天受到使用apache2.conf文件的简单身份验证的保护:
<Directory /var/www/adm>
AuthType Basic
AuthName "Adm"
AuthUserFile /path/to/password
Require user username
</Directory>
我的问题是,这是否足以阻止外人访问我的管理工具?
因为如果有错误意图的人得到了这些工具,那将是毁灭性的。他们可以删除我的数据库中的所有记录......我确实有备份,但这意味着大量的工作......
在这种情况下通常会做什么?
我能想到的只是在我计划使用它们时上传管理脚本,然后在使用它们之后将它们从服务器中删除。
其他可能有助于您决定我应该使用哪种解决方案的信息:
由于
答案 0 :(得分:2)
如果其他人有访问服务器的shell,你应该非常小心权限。
否则,基本的Apache身份验证是正常的,但请记住,如果您使用的是未加密的连接(而不是SSL),则您的密码将在网络上以明文形式发送,因此始终有可能被嗅探。< / p>
要启用SSL,您需要:
您可以参考本教程了解如何enable SSL on Debian。
答案 1 :(得分:1)
除了通常的密码保护,IP限制,SSL等之外,更好的选择是在完全独立的域上托管工具。有人可能会猜到你有example.com/admin
并尝试强行进入,但在somecompletelydifferentdomain.com
上托管一个简单的登录页面,没有品牌/标记将其与example.com
联系起来是一个更好的防御爱好。
答案 2 :(得分:0)
Apache auth也可以通过IP地址进行限制,因此如果你有一个静态IP,使用它和密码应该是非常安全的。如果您担心攻击,我也会使用AuthDigestFile而不是AuthUserFile。
This page explains it well: 与基本身份验证不同,摘要身份验证始终将密码从客户端浏览器作为MD5加密字符串发送到服务器,这使得数据包嗅探器无法查看原始密码。
答案 3 :(得分:0)
如果您必须可以直接远程访问管理工具,请找到一种带外方式,以防止Web服务器在不需要时运行它们。例如,您可以在正常情况下执行chmod 000 /var/www/adm
,在需要使用时将其更改为可用的内容(例如500
),并在完成后返回000
最好是确保您与管理工具之间的整个路径:
sshd
锁定为您的要求。/var/www/adm
的配置但限制访问仅限本地主持人。到了使用管理工具的时候: