标签: best-practices

用于基本 HTTP(s) 网络服务器的安全标准 iptables 规则集

我一直在尝试组合一个基本的服务器 iptables 脚本,该脚本适用于大多数使用 HTTP(S) 和 SSH(端口 80、443 和 22)运行基本网络服务器的站点。毕竟,大多数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 all outbound traffic
#  You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

# Allows HTTP and HTTPS …
Run Code Online (Sandbox Code Playgroud)

security linux firewall iptables best-practices

16
推荐指数
1
解决办法
3万
查看次数

对于用户肯定少于 25 个的小型组织,在 Windows 2012 R2 域控制器上运行 Exchange 2016 有多糟糕?

我知道它一直不受官方支持,但我已经看到或听说过许多小型企业安装同时运行 AD DS 和 Exchange 的单个主机。对于资源匮乏的小型企业而言,节省的资金是非常有吸引力的。

所以假设我们知道使用需求永远不会超过 25 个用户,比如同时 10 个,

  1. 现在在同一台机器上运行 Exchange 和 AD DS 真的有多“糟糕” (没有任何类型的虚拟化)
  2. 它有什么特别不好的地方?(说出除了“微软这么说”之外最容易想到的 1 或 2 个原因)
  3. 如果有的话,可以做些什么来减轻“坏”的影响?

您可以假设相关业务:

  1. 拥有一台带有合理商业 ISP 的物理现场服务器或
  2. 有一个已经被挖掘出来的虚拟资源池,他们不想花更多的钱。

我想到的情况是第二种情况,只有一个 VM 可能是添加 Exchange 的候选对象,因为它是唯一的 Windows VM,并且有足够的多余内存来实现。

在任何情况下,推理可能都不是那么合理,但假设这些是您必须处理的约束。

exchange domain-controller best-practices

15
推荐指数
3
解决办法
1万
查看次数

IT 主管没有书面备份、灾难恢复计划

这是 IT 经理面临的一般管理问题。

我们是一家小公司,在我们的 colo 机柜中大约有 4 台服务器。没有全职 IT 经理。但是我们确实有一个人每月签订合同,我很难让他分享这些计划的实际内容。我相信他有一个计划(而且可能在他的脑海里......)但如果他被公共汽车撞到,那对我们没有好处......

你们会怎么处理这件事?他是一个老朋友,但我担心这对我们长期来说是危险的。我已经多次就此事与他对质,他告诉我不要担心,他已经解决了。

谢谢。

disaster-recovery best-practices

14
推荐指数
3
解决办法
800
查看次数

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
Run Code Online (Sandbox Code Playgroud)

....

模板 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
Run Code Online (Sandbox Code Playgroud)

模板 1

FOR 模板 1 的论点是,当您导出 VM 时,导出会创建一个带有机器名称的文件夹,为磁盘和 vm 放置单独的文件夹。然后,您可以在运行导入时简单地指向机器目录。

反对这种模板风格的论点是,如果只有一个文件,那么存在一个名为 Virtual Machines 的目录是没有意义的。另一个反对意见是,Hyper-V 服务器本身似乎希望所有硬盘都在一个文件夹中,而所有虚拟机都在不同的文件夹中。即它不会为每个 VM 创建单独的文件夹(虚拟机目录中由 GUID 命名的文件夹除外)

模板 2

FOR 模板 2 的论点是,这似乎是 Hyper-V 期望的布局。

反对模板 2 的论点是,除非您查看 xml 文件,否则您无法分辨哪些虚拟机文件与特定机器相关联。

我很想听听这两种布局的任何陷阱。

hyper-v best-practices hyper-v-server-2012

14
推荐指数
1
解决办法
9853
查看次数

在 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 password $password",
                require => Service['mysqld'],
        }
}
Run Code Online (Sandbox Code Playgroud)

我该如何保护$password?目前,我从节点定义文件中删除了默认的puppet全局可读权限,并通过 ACL明确授予了读取权限。

我假设其他人也遇到过类似的情况,所以也许有更好的做法。

mysql linux puppet best-practices

13
推荐指数
1
解决办法
7016
查看次数

商业文件夹结构的最佳实践是什么?

过去,我们倾向于将部门文件夹(销售、营销等)放在一个共享上,然后在需要时在这些临时文件夹下添加文件夹。

它变得有点乱 - 我的任务是创建一个“文件夹层次结构”。

有没有人有关于如何组织文件夹结构的最佳实践?

我们在当前文件服务器上运行 SBS2011。

windows directory best-practices

12
推荐指数
1
解决办法
2万
查看次数

Oracle 数据库创建设置的最佳实践

安装 Oracle 数据库时,您通常会应用(或考虑应用)哪些非默认设置?

我不是在追求硬件相关设置(例如内存分配)或文件位置,而是更一般的项目。类似地,任何对特定应用程序有特殊要求而不是普遍适用的东西都没有真正的用处。

您是否将代码/API 模式(PL/SQL 所有者)与数据方案(表所有者)分开?您使用默认角色还是非默认角色,如果是后者,您是否使用密码保护角色?

我也对是否有任何地方可以对默认安装的 GRANT 进行撤销。这可能取决于版本,因为 11g 的默认安装似乎更加锁定。

这些是我在最近的设置中使用的。我想知道我是否遗漏了什么或您不同意的地方(以及为什么)。

数据库参数

  • 审计(AUDIT_TRAIL 到 DB 和 AUDIT_SYS_OPERATIONS 到 YES)
  • DB_BLOCK_CHECKSUM 和 DB_BLOCK_CHECKING(都为 FULL)
  • GLOBAL_NAMES 为真
  • OPEN_LINKS 为 0(没想到它们会在这种环境中使用)

字符集- AL32UTF8

配置文件
我创建了一个修改后的密码验证函数,该函数使用 apex 字典表 (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 unlimited LOGICAL_READS_PER_CALL unlimited;
Run Code Online (Sandbox Code Playgroud)

应用登录

CREATE PROFILE profile_app LIMIT FAILED_LOGIN_ATTEMPTS …
Run Code Online (Sandbox Code Playgroud)

oracle best-practices

11
推荐指数
1
解决办法
2829
查看次数

如何对负载均衡器进行负载均衡?

我即将将单服务器单数据库 Web 应用程序转换为物理分布式高可用性配置,服务器位于两个物理位置(目前)。现在,很明显,我需要一个负载均衡器(在这种情况下更像是一个反向代理,但为了简单起见,我将其称为“负载均衡器”),它将请求路由mywebsitenode1.mywebsitenode2.mywebsite。但是,如果我的负载均衡器出现故障,我认为高可用服务器没有用。因此,按照我的思路,我实际上需要两个负载均衡器,每个位置一个。但是,我仍然需要一个单一的外部访问点,因此我需要一个负载平衡器的负载平衡器,这反过来又需要跨位置平衡......这种情况一直在继续。

那么我的推理有什么问题呢?假设每个物理位置都可以长时间断电,我将如何在实践中确保负载均衡器的高可用性?

PS:我知道我对 HA 和负载平衡之间区别的理解充其量是平庸的。我想要的是一个可用的服务器,即使一个位置的电源断电。感谢您的理解。

high-availability load-balancing best-practices

11
推荐指数
2
解决办法
2044
查看次数

Outlook 电子邮件滥用 - 电子邮件礼仪指南?

我花了很多时间为那些很少关注 IT 或没有全职员工来处理常见问题的公司执行邮件迁移。因此,从未制定管理电子邮件使用和最佳流程的政策。这些环境中的最终用户是非技术人员,并且倾向于抵制变化。

我绝对了解更改/移动/升级邮件平台的机制。在大多数情况下,我协助公司从基于 Linux 的 POP3 或 IMAP 迁移到 Microsoft Exchange。这种类型的举动暴露了许多用户的坏习惯。

我担心的并不完全是我过去遇到电子邮件囤积问题所涉及的磁盘空间;每家公司总会有一个。这是关于我在与特定公司合作时经常看到的问题和滥用。

在上次迁移期间,我看到:

  • CC:自己处理每封电子邮件的用户(大概是作为跟踪消息线程的一种方式?)。

  • 发送邮件文件夹中有300 兆字节的邮件?!?

  • 发送 Outlook 的人会阅读封外发邮件的回执。

  • 为其对应的每个联系人维护子文件夹的用户。有时手动。有时客户端规则非常糟糕。

  • 子文件夹过度组织。(某些文件夹中只有一封邮件)。

  • 收件箱下的子文件夹(我不确定这是否是一种不好的做法,但感觉不对)。

  • 无偿使用优先标志。一切都很 重要!!

  • 发送邮件文件夹中4 年以上的电子邮件。

  • 收件箱中有25,000 或更多项目(其中很大一部分未读)。

  • 已删除邮件”文件夹中有15,000 封或更多邮件

  • 草稿文件夹中24,000 个项目的用户(错误应用客户端规则的结果)。

  • 自动存档增长失控。

这是怎么发生的?

  • 是不是电子邮件相对较新,而用户未受过如何很好地利用它的教育?
  • 已删除邮件”文件夹只是一个一键归档系统,这是否是 UI 问题?
  • 管理员是否没有尽其所能温和地帮助纠正行动?
  • 如果用户在使用基本电子邮件时遇到问题,我该如何应对教他们外出回复以及如何使用群组日历 (gulp) …

email users exchange-2010 best-practices

11
推荐指数
1
解决办法
541
查看次数

服务器机房布线问题

我正在考虑重新布线我们的服务器机房,使其更美观、更有条理且更易于故障排除。

现在我们目前有 4 个 HP 机架(现在不知道型号)。我们没有建筑物 UPS,因此我们将 UPS 放置在每个机架(10K、5K)中。这造成了很多混乱,但不幸的是我没有其他方法可以做到这一点。我们也没有活动地板。

我的一个机架包含防火墙、网络交换机和光纤交换机。目前,我们正在将电缆从主交换机连接到其他机架中的所有服务器/SAN(直接)。其他机架主要包含服务器,其中一个也有 SAN。

以下是我的问题:

  • 我是否应该在每个机架中放置一个接线板并将电缆从我们的主交换机连接到接线板?然后将每台服务器连接到各自机架中的接线板?
  • 没错,我们将空调指向机架前部的过道(在我们扩展时准备热通道/冷通道设置)。我提出这个的原因是因为我们的交换机在机架的前面而不是后面。我应该将交换机和接线板放在后面还是前面?
  • 如果我将接线板放在机架前面,将电缆从服务器后部连接到接线板的最佳方法是什么?我无法真正接触到机架的侧面(打开面板),因为其他机架正在接触。
  • 对于电源情况,我们目前有两个 HP PDU,它们连接到每个机架中的 HP 扩展条。这些位于左侧,而 LAN 电缆位于右侧。我确实有多种服务器,它们的电源在左侧,有些在右侧。因此,在左右两侧安装延长杆和 PDU 会很棒,但我读过您应该将 CAT 电缆和电源分开。我应该继续这样做吗?

如果您认为我遗漏了任何问题,请告诉我!提前致谢!

networking cable-management wiring cable best-practices

11
推荐指数
1
解决办法
8218
查看次数