Questions tagged «best-practices»

要求在给定领域的最佳实践的问题。请注意,有时可能没有公认的最佳实践,在这种情况下,该问题可能因主观而封闭。

4
基本HTTP Web服务器的安全,标准iptables规则集
我一直在尝试将基本服务器iptables脚本放在一起,该脚本适用于仅使用HTTP(S)和SSH(端口80、443和22)运行基本Web服务器的大多数站点。毕竟,大多数VPS仅需要这些起始端口规则,并且以后可以根据需要添加邮件或游戏端口。 到目前为止,我有以下规则集,我想知道是否有人知道更好的脚本或可以添加的任何改进。 *filter # Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT # Accepts all established inbound connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allows …

4
IT主管没有备份,书面的DR计划[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 对于那里的IT经理来说,这是一个普遍的管理问题。 我们是一家小型公司,在colo客舱中大约有4台服务器。没有专职的IT经理。但是,我们确实有一个月度合同的人,而我正经历着一段糟糕的时光,让他分享这些计划的实际内容。我确定他有一个计划(并且计划可能在他的脑海中。),但是如果他被公共汽车撞到,那对我们没有好处。 你们将如何处理?他是一个长期的朋友,但我担心这对我们长远来说是危险的。我对此多次面对他,他告诉我不要担心,他已将其掩盖。 谢谢。

4
在Puppet中,如何保护密码变量(在这种情况下为MySQL密码)?
我正在使用Puppet为MySQL提供参数化类: class mysql::server( $password ) { package { 'mysql-server': ensure => installed } package { 'mysql': ensure => installed } service { 'mysqld': enable => true, ensure => running, require => Package['mysql-server'], } exec { 'set-mysql-password': unless => "mysqladmin -uroot -p$password status", path => ['/bin', '/usr/bin'], command => "mysqladmin -uroot …

2
nginx上的维护页面,最佳实践
我想配置服务器以在存在时显示维护页面。我尝试了这段代码并工作: location / { try_files /maintenance.html $uri $uri/ @codeigniter; } 但是我注意到它会带有200个状态代码,并且可能导致搜索引擎混乱。我认为最佳做法是返回503状态代码。在google上,我找到了一些与此相关的页面,例如。但是,它们使用if进行重定向,根据nginx文档,使用ifs是不安全的。 有没有不使用if的方法吗?在这种情况下可以安全使用吗? 谢谢。

2
业务文件夹结构的最佳做法是什么?
过去,我们倾向于将部门文件夹(销售,市场营销等)放在单个共享上,然后在需要时在这些临时文件夹下面添加文件夹。 有点混乱-我的任务是创建“文件夹层次结构”。 是否有人对组织文件夹结构有最佳实践? 我们正在当前文件服务器上运行SBS2011。

3
Hyper-V服务器中文件布局的最佳做法?
我们已经设置了Hyper-V服务器,并且文件的布局不一致,因为它是由几个人设置的。这是使用的两个不同的“模板”: 范本1 D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Hard Disks\MACHINE_NAME_1.vhdx D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1 D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1.xml D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Hard Disks\MACHINE_NAME_2.vhdx D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2 D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2.xml .... 和 范本2 D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_1.vhdx D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_2.vhdx D:\Hyper-V\Virtual Machines\GUID_1 D:\Hyper-V\Virtual Machines\GUID_1.xml D:\Hyper-V\Virtual Machines\GUID_2 D:\Hyper-V\Virtual Machines\GUID_2.xml 范本1 FOR模板1的参数是,当您导出VM时,导出会创建一个具有计算机名称的文件夹,并为磁盘和vm放置单独的文件夹。然后,您可以在运行导入时简单地指向计算机目录。 反对这种模板样式的论点是,如果只有一个文件,则没有名为虚拟机的目录是没有意义的。另一个反对意见是,似乎Hyper-V服务器本身似乎期望所有硬盘都在一个文件夹中,而所有虚拟机都在另一个文件夹中。即,它不会为每个VM创建单独的文件夹(虚拟机目录中GUID命名的文件夹除外) 范本2 FOR Template 2的论点是,Hyper-V似乎希望布局如此。 参数AGAINST模板2的意思是,除非查看xml文件,否则您无法确定哪些虚拟机文件与特定计算机相关联。 我很想听听任何一种布局的陷阱。

1
服务器机房接线问题
我正在考虑重新布线我们的服务器机房,以使其更美观,更有条理,并且更易于故障排除。 目前,我们目前有4个HP机架(暂时不知道型号)。我们没有建筑物型UPS,因此我们要在每个机架(10K,5K)中放置UPS。这造成了很多混乱,但是不幸的是我没有其他方法可以做到这一点。我们也没有高架地板。 我的一个机架中包含防火墙,网络交换机和光纤交换机。当前,我们正在使用从主交换机到其他机架中的所有服务器/ SAN(直接)的电缆。其他机架主要包含服务器,其中一台还带有SAN。 这是我的问题: 我是否应该在每个机架中放置一个配线架,并将电缆从主交换机连接到配线架?然后将每个服务器连接到各自机架中的配线架吗? 正确,我们将空调指向机架前部的过道下方(准备在扩展时准备热通道/冷通道)。我之所以提出这一点,是因为我们的交换机位于机架的前部而不是后部。我应该将开关和配线架放在后面还是前面? 如果我将配线架放在机架的前面,那么将电缆从服务器背面连接到配线架的最佳方法是什么?我真的不能进入机架的侧面(打开面板),因为其他机架正在接触。 对于电源情况,我们目前有两个HP PDU,分别连接到每个机架中的HP Extensions扩展条。这些位于左侧,而LAN电缆位于右侧。我确实有混合服务器,其中电源在左侧,有些在右侧。因此,在左右各有扩展条和PDU会很棒,但是我读过您应该将CAT电缆和电源分开。我应该继续这样做吗? 如果您认为我有任何疑问,请告诉我!提前致谢!

2
Outlook电子邮件滥用-电子邮件礼节指南?
我花了很多时间为那些IT专注力很弱或没有专职人员处理常见问题的公司执行邮件迁移。结果,从未制定管理电子邮件使用和最佳流程的政策。这些环境中的最终用户是非技术人员,往往会抵制更改。 我绝对了解更改/移动/升级邮件平台的机制。在大多数情况下,我协助公司从基于Linux的POP3或IMAP迁移到Microsoft Exchange。这种类型的举动暴露了许多用户的不良习惯。 我所关心的并不完全是我过去遇到的电子邮件ho积问题所涉及的磁盘空间;每个公司总会有一个。与特定公司合作后,通常会遇到的问题和弊端。 在上一次迁移期间,我看到了: CC:自己在每封电子邮件中的用户(大概是跟踪消息线程的一种方式?)。 “已发送邮件”文件夹中的300 MB消息?!? 发送Outlook的人会在每封传出邮件中阅读回执。 为与其对应的每个联系人维护子文件夹的用户。有时是手动的。有时,客户端规则非常严格。 子文件夹的过度组织。(某些文件夹中仅包含一条消息)。 收件箱下的子文件夹(我不确定这是否不好,但是感觉不对)。 优先使用优先标记。一切都很 重要!! 已发送邮件文件夹中有4年以上的电子邮件。 收件箱中的25,000或更多项目(其中很大一部分未读)。 “ 已删除邮件”文件夹中的15,000条或更多邮件。 用户在“草稿”文件夹中有24,000个项目!(错误应用客户端规则的结果)。 自动存档不受控制。 这是怎么发生的? 电子邮件是不是相对较新,并且没有对用户进行很好的利用方面的教育? UI的问题是“ 已删除邮件”文件夹仅仅是一键提交系统吗? 管理员不是在尽自己的职责来轻轻地帮助纠正操作吗? 如果用户在使用基本电子邮件时遇到问题,我该如何解决向他们传授办公室外答复以及如何处理组日历(gulp)的难题? 我的问题是,关于如何管理电子邮件,是否有一套标准的准则?(甚至一本小册子?) 用户教育问题往往会减慢这些部署的速度,因为我正在通过各种方式来改变人们所依赖的工作流程。当这影响组织的各个级别/角色的人员时,似乎没有适当的标准。

4
自动化Linux更新的最佳做法
我们正在努力为基于RHEL / RHEL的服务器执行自动更新。 最初的想法:使用Puppet,我们禁用默认存储库并指向我们自己的存储库。然后,我们使用ensure => latest要自动更新的软件包。 问题:我们看到某些服务在更新(duh)后重新启动。 问题:对于如何更好地自动化Linux更新以及缓解服务自动重启的策略,是否有人有任何建议?我们希望包含Puppet的解决方案,但是,如果我们需要使用其他服务,那么这不是破坏交易的方法。 编辑 可能的解决方案:我提交了一个实现@ voretaq7和@ewwhite建议的解决方案的解决方案。似乎这是我暂时要走的路线。如果您还有其他建议,请发表评论或提出答案。

3
如何对负载均衡器进行负载均衡?
我将要将单服务器单数据库Web应用程序转换为物理分布的高可用性配置,其中服务器位于两个物理位置(目前)。现在,显然,我需要一个负载平衡器(在这种情况下更像是反向代理,但为简单起见,我将其称为“负载平衡器”),它将请求的路由mywebsite到node1.mywebsite或node2.mywebsite。但是,我假设如果负载均衡器出现故障,高可用性服务器将无用。因此,按照我的思路,我实际上需要两个负载均衡器,每个位置一个。但是,我仍然希望有一个外部访问点,因此我需要一个用于负载均衡器的负载均衡器,而该负载均衡器又需要在各个位置之间进行均衡……这种情况一直存在。 那我的推理怎么了?假设每个物理位置都可以长时间断开电源,那么在实践中如何确保负载均衡器的高可用性? PS:我意识到我对HA和负载平衡之间区别的理解充其量只是中等水平。我想要的是一台可用的服务器,即使一个位置的电源出现故障也是如此。感谢您的理解。

2
设置Oracle数据库创建的最佳实践
在安装Oracle数据库时,通常会应用(或考虑应用)哪些非默认设置? 我不是在依赖于硬件的设置(例如内存分配)或文件位置,而是更常规的项目。同样,对特定应用程序有特殊要求而不是普遍适用的任何内容都没有真正的用处。 您是否将代码/ API模式(PL / SQL所有者)与数据方案(表所有者)分开?您是否使用默认或非默认角色,如果使用默认角色,是否使用密码保护角色? 我还对您是否有任何地方可以撤销默认安装的GRANT感兴趣。这可能与版本有关,因为11g似乎更受默认安装的限制。 这些是我在最近的设置中使用的。我想知道我是否错过了什么,或者您在哪里不同意(以及原因)。 数据库参数 审核(将AUDIT_TRAIL转换为DB,将AUDIT_SYS_OPERATIONS转换为YES) DB_BLOCK_CHECKSUM和DB_BLOCK_CHECKING(都为FULL) GLOBAL_NAMES为true OPEN_LINKS设为0(不希望它们在此环境中使用) 字符集 -AL32UTF8 配置文件 我创建了一个修改的密码验证功能,该功能使用顶点字典表(FLOWS_030000.wwv_flow_dictionary $)作为防止简单密码的额外检查。 开发者登录 CREATE PROFILE profile_dev LIMIT FAILED_LOGIN_ATTEMPTS 8 PASSWORD_LIFE_TIME 32 PASSWORD_REUSE_TIME 366 PASSWORD_REUSE_MAX 12 PASSWORD_LOCK_TIME 6 PASSWORD_GRACE_TIME 8 PASSWORD_VERIFY_FUNCTION verify_function_11g SESSIONS_PER_USER unlimited CPU_PER_SESSION unlimited CPU_PER_CALL unlimited PRIVATE_SGA unlimited CONNECT_TIME 1080 IDLE_TIME 180 LOGICAL_READS_PER_SESSION …

5
Nagios服务器最佳做法?
我运行中型Nagios服务器。它目前监视着约40台具有180种服务的服务器,并且每天都在增长。 我从旧的Nagios设置迁移而来,该设置以非常深奥的方式配置,迫使我从头开始重新配置所有内容。 既然服务器已经在运行并且可以满足我们所需的大部分功能,我正在研究使其更具可扩展性。当前,每个主机是中的自己文件/etc/nagios/hosts/,每个主机在同一文件中具有所有服务。这显然不是最佳选择,但也不能将我的所有配置混淆到数百个不同的文件中。 所以我的问题是:对于任何经验丰富的Nagios管理员而言,在不使配置过于复杂的情况下利用主机组/服务组的最佳方法是什么?

2
使厨师食谱版本受到控制的最佳策略
我正在寻找有关厨师食谱版本管理的想法。我知道您将特定版本固定在环境中,但是我不确定该怎么做。 我们使用图书馆管理员来将3rd party社区书籍安装到cookbooks文件夹中。我们从不碰那些书,而只是不时更新到最新版本。 我们还提供了针对特定地点的自定义菜谱,其中包括社区菜谱(include_recipe)。 从理论上讲,我们可以指定自定义书籍所依赖的社区书籍的特定版本,然后在环境配置中设置我们的食谱版本,但是问题在于,这些社区书籍可能依赖其他一些没有指定版本的书籍。这种深层嵌套的依赖性可能会持续下去。 因此,没有保证,当您将食谱上传到Chef服务器时,它不会中断生产,因为从属食谱也可能会发生变化。 我目前看到的唯一解决方案是指定我们在环境配置中使用的每个食谱版本,包括社区和自定义版本。但是然后我必须仔细阅读每本食谱,并找出那些版本。 我们还会不时地进行图书管理员检查更新,我想这可能会变得很难跟踪已更改的版本,并且不要忘记及时更新环境中的版本。 请分享您的经验和最佳做法。我相信这对其他人将非常有用。

5
正常接管(UNIX)生产服务器的提示
经过数月的疏忽,电子邮件引发了激烈的争执,并且在管理方面进行了斗争,我们目前的系统管理员被解雇,并将“服务器凭据”交给了我。这样的凭据包含一个root密码,别无其他:没有过程,没有文档,没有提示,什么也没有。 我的问题是:假设他把诱饵丢在了后面,我该如何在尽可能短的停机时间内优雅地接管服务器? 详细信息如下: 位于地下室服务器场中的一台生产服务器;ubuntu server 9.x,可能带有grsec补丁(上次我问管理员的谣言) 一台包含所有内部文档,文件存储库,Wiki等的内部服务器。同样,ubuntu服务器已经使用了几年。 假设两个服务器都已打补丁并且是最新的,那么除非有充分的理由(即可以向高层管理人员解释),否则我不希望尝试破解。 生产服务器上托管了一些网站(标准apache-php-mysql),LDAP服务器,ZIMBRA电子邮件套件/服务器,据我所知,vmware工作站正在运行。不知道那里发生了什么。可能是LDAP主服务器,但这是一个疯狂的猜测。 内部服务器具有内部wiki / cms,从生产服务器复制凭据的LDAP从属服务器,更多的vmware工作站以及正在运行的备份。 我可以直接去服务器场的管理员,指向服务器,告诉他们“请sudo关闭该服务器”,以单用户模式登录并自行处理。内部服务器相同。尽管如此,那仍然意味着停机时间,高层管理人员不满,老系统管理员朝我开枪说:“看吗?您无法完成自己的工作”和其他烦扰,最重要的是,我将不得不失去数周的无薪时间。 在频谱的另一端,我可以以root用户和inch身份通过服务器登录,以尝试了解正在发生的事情。遗留引发意外的所有风险。 我正在寻找一种中间的解决方案:尝试让所有事物保持原样运行,同时了解正在发生的事情和发生的情况,最重要的是避免触发任何留下的诱杀陷阱。 您有什么建议? 到目前为止,我考虑过使用内部服务器进行“练习”,断开网络连接,使用实时cd重启,将根文件系统转储到USB驱动器中并将其加载到断开连接的隔离虚拟机上以了解以前的sysadmin方式。思考(“ la'知道你的敌人”)。可以在生产服务器上获得同样的成就,但是完全转储会使人注意到。也许我可以以root用户身份登录,检查crontab,检查.profile中是否有已启动的命令,转储lastlog以及所有想到的内容。 这就是为什么我在这里。任何提示,无论大小如何,都将不胜感激。 时间也是一个问题:可能在几小时或几周内发生触发因素。感觉就像是好莱坞那些糟糕的电影之一,不是吗?

3
Apache正常重启和用户体验的影响
graceful在生产服务器上重新启动Apache 是否安全?正常重启会产生什么影响?会有什么影响(如果有)?是否会有不利影响(例如,即使是短时间的停机)? 我已经考虑了以下资源,但仍不清楚会对用户产生什么影响: 查找“ apache2”的正常运行时间 http://httpd.apache.org/docs/2.2/stopping.html#graceful http://www.cyberciti.biz/faq/apache-making-changes-config-file-without-restarting/

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.