服务器管理员

系统和网络管理员的问答

13
Linux:无root的高效sysadmin(确保知识产权)?
有没有办法使经验丰富的Linux syadmin富有成效,而又没有给予他完全的root访问权限? 这个问题来自保护知识产权(IP)的角度,在我看来,它完全是代码和/或配置文件(即易于复制的小型数字文件)。我们的秘密调味料使我们比小巧的建议更成功。同样,我们曾经被一些曾经窃取知识产权的不道德的员工(不是系统管理员)一度咬伤,羞怯两次。最高管理者的立场基本上是:“我们信任人们,但是出于个人利益,不能承受给任何人提供超出其绝对需要的工作机会的风险。” 在开发人员方面,划分工作流和访问级别相对容易,这样人们可以提高工作效率,但只看到他们需要看的东西。只有高层人士(实际的公司所有者)才有能力组合所有成分并创造出特殊的酱汁。 但是我还没有找到在Linux管理员方面维护IP保密性的好方法。我们广泛使用GPG编写代码和敏感文本文件...但是,如何阻止管理员(例如)向用户起诉并跳到他们的tmux或GNU Screen会话,看看他们在做什么? (我们在所有可能会接触敏感信息的地方都禁用了Internet访问。但是,没有什么是完美的,而且聪明的系统管理员或网络管理员方面的错误也可能存在漏洞。甚至是老式的USB。当然还有许多其他措施,但是这些措施不在本问题的范围之内。) 我能想到的最好的方法是基本上使用带有sudo的个性化帐户,类似于在多个Linux系统管理员中以root用户身份进行的描述。具体来说:除公司所有者外,没有人可以直接访问root。其他管理员将拥有一个个性化的帐户,并拥有sudo root 的能力。此外,将建立远程日志记录,并将日志记录到只有公司所有者可以访问的服务器上。看到日志记录已关闭将引发某种警报。 聪明的系统管理员可能仍会在此方案中发现一些漏洞。除此之外,它仍然是被动的而不是主动的。我们IP的问题在于,竞争对手可能很快使用它,并在很短的时间内造成很多损害。 因此,最好的办法是限制管理员可以执行的操作。但我承认,这是一个微妙的平衡(尤其是在故障诊断和修复需要的生产问题的角度来解决现在)。 我不禁想知道其他拥有非常敏感数据的组织如何解决此问题?例如,军事系统管理员:他们如何在不能够看到机密信息的情况下管理服务器和数据? 编辑:在最初的发布中,我的意思是抢先解决开始浮出水面的“招聘惯例”评论。第一,这应该是一个技术问题,而IMO的聘用做法更倾向于社会问题。但是,有两个,我要这样说:我相信我们会做一切合理的聘用工作:面试多个公司的人;背景和参考检查;所有员工都签署了许多法律文件,其中包括说他们已经阅读并理解了我们的手册,其中详细介绍了知识产权问题。现在,它不在此问题/站点的范围内,但是,如果有人可以提出“完美”的招聘做法来过滤掉100%的不良行为者,我将不知所措。事实是:(1)我认为没有如此完美的招聘流程;(2)人们改变-今天的天使可能是明天的魔鬼;(3)在这个行业中,尝试进行代码盗窃似乎有些常规。
66 linux  security  root 


8
pg_dump和pg_restore:输入文件似乎不是有效的档案
我在一台机器上使用了pg_dump并将结果文件复制到另一台机器上,尝试在其中进行还原。我相信架构是相同的。但是,我得到: pg_restore: [archiver] input file does not appear to be a valid archive 我已经完成以下操作: pg_dump -a -f db.txt dbname 和: pg_restore -a -d dbname db.txt 可能是什么问题?
66 postgresql 


7
DNS无法在全球传播
我尚未更改与serverfault.com的DNS条目相关的任何内容,但是今天一些用户报告说serverfault.com的DNS无法为他们解决。 我运行了一个查询查询,我可以对此进行某种程度的确认-serverfault.com dns在少数国家/地区似乎无法解决,因为我没有发现任何特殊原因。(也已通过What's My DNS进行了确认,该DNS以类似的方式在全球范围内执行了ping操作,因此有两个不同的来源将其确认为问题。) 如果我还没有接触serverfault.com的DNS,为什么会发生这种情况? 我们的注册商是(gag)GoDaddy,我大部分时候都使用默认的DNS设置,而不会发生任何事件。难道我做错了什么?DNS的众神离弃了我吗? 有什么我可以解决的吗?有什么方法可以使DNS正常运行,或强制DNS在世界范围内正确传播? 更新:截至太平洋标准时间星期一凌晨3:30,一切看起来都正确。.JustPing报告站点可从所有位置访问。感谢您提供了许多非常有帮助的答复,我学到了很多东西,下次再发生时将参考此问题。

18
轮循DNS是否“足够好”以平衡静态内容?
我们在http://sstatic.net的网站之间提供了一组共享的静态内容。不幸的是,此内容目前根本没有负载均衡-它是由一台服务器提供的。如果该服务器出现问题,则依赖于该服务器的所有站点实际上都将关闭,因为共享资源是必不可少的共享JavaScript库和图像。 我们正在寻找在此服务器上平衡静态内容的负载的方法,以避免单个服务器的依赖性。 我意识到循环DNS充其量只是一个低端解决方案(有些甚至可能会说贫民窟),但我不禁要问- 循环DNS是否是静态内容基本负载平衡的“足够好”的解决方案? [dns] [load-balancing]标记中对此进行了一些讨论,并且我阅读了有关该主题的一些不错的文章。 我知道通过多个轮询A记录进行DNS负载平衡的常见弊端: DNS记录通常不会检测到心跳或故障,因此如果轮换中的给定服务器出现故障,则必须手动从DNS条目中删除其A记录 必须将生存时间(TTL)设置得很短才能完全起作用,因为DNS条目会在整个Internet上积极缓存 客户端计算机负责查看有多个A记录并选择正确的一个 但是,对于我们的静态内容,轮循DNS是否足以作为启动器,而不是总比没有强,而“在我们研究和实现更好的替代方案时”负载均衡形式呢?还是在任何情况下DNS轮询几乎一文不值?


8
您如何采取措施保护Debian服务器的安全?[关闭]
我正在安装直接连接到Internet的Debian服务器。显然,我想使其尽可能安全。我希望你们/大家添加一些想法来确保它的安全以及使用什么程序。 我希望这个问题的一部分涵盖您用作防火墙的什么?只是手动配置iptables还是使用某种软件来帮助您?最好的方法是什么?阻止一切,只允许需要什么?是否有针对该主题的初学者的好教程? 您是否更改SSH端口?您是否使用Fail2Ban之类的软件来防止暴力破解?


4
Nginx-根还是别名,用于提供单个文件?
经过多个小时的nginx服务robots.txt(例如:提示:每次清除浏览器缓存),我结束了两种不同的方式,一种使用别名指令,另一种使用root指令,如下所示: location /robots.txt { alias /home/www/static/robots.txt; } location /robots.txt { root /home/www/static/; } 两者之间有功能上的区别吗?还是安全问题?与其他指令有冲突吗?(在另一个/ static位置,两者看起来都不错)。还是有任何理由选择另一个? 注-我没有使用这两个在同一时间 :)而我想每一个,一次一个,两者的工作。我不是在问他们如何在同一个文件中一起交互,而是要使用哪个更好。
66 nginx 

5
负载均衡器后面的每个服务器是否需要自己的SSL证书?
如果您在负载均衡器(例如haproxy)后面有5台Web服务器,并且它们正在为同一域提供内容,那么您是否需要所有服务器的SSL证书,或者可以在每台服务器上使用相同的证书? 我知道您可以将所有SSL请求放在特定的服务器上,但这需要分布式的会话信息,并希望它不会实现。

2
memtest86 +是否测试用于自身运行的内存?
常见的服务器故障情况之一是DRAM损坏,有时甚至使用ECC内存也是如此。 memtest86+是诊断DRAM问题的最有用的工具之一。当它在内存的开头加载自身时,我一直想知道是否memtest86+检查内存中memtest86+已加载的部分。 分配给的内存是否memtest86+小到都没关系,还是memtest86+由于无法测试其所在的内存位置而可能错过DRAM中的缺陷?
65 linux  memory  boot 

6
伤心欲绝:HTTPS以外的服务是否受到影响?
OpenSSL的“心脏出血”漏洞(CVE-2014-0160)影响服务HTTPS的Web服务器。其他服务也使用OpenSSL。这些服务是否还容易遭受类似流血的数据泄漏? 我特别在想 sshd 安全SMTP,IMAP等-dovecot,exim和postfix VPN服务器-OpenVPN和朋友 至少在我的系统上,所有这些都链接到OpenSSL库。

4
如何使用iptables预先设置规则而不是APPENDs?
一个非常基本的问题:如何在IPTABLES上预先设置规则而不是APPEND? 我DROP在规则的底部有陈述。我有一个添加新规则的软件,但是在DROP语句后添加规则不是很好。每当我想添加新规则时,都必须刷新表(效率低下)。 有没有一种可以添加规则的方法,即将规则添加到表的顶部而不是底部? 非常感谢。

8
设置gitlab外部Web端口号
如何将gitlab的默认端口80更改为自定义端口号? 我尝试了两种方法: 在/etc/gitlab/gitlab.rb中设置端口 external_port "8888" 然后运行重新配置: gitlab-ctl reconfigure 在/var/opt/gitlab/gitlab-rails/etc/gitlab.yml中设置端口 production: &base # # 1. GitLab app settings # ========================== ## GitLab settings gitlab: ## Web server settings (note: host is the FQDN, do not include http://) host: gitlab.blitting.com port: 8888 https: false 然后重新启动gitlab gitlab-ctl stop gitlab-ctl start 通过这两种方式,gitlab继续在默认的80端口号上运行。
65 gitlab 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.