Articles of 安全

Linux的安全隐含sudo,su服务帐户和添加辅助组到pipe理Tomcat?

我有一个指定的帐户login到Linux主机。 Tomcat正在名为“tomcat”的服务帐户下运行, 我需要定期修改tomcat-users.xml这样的pipe理员function -rw——-. 1 tomcat tomcat 1671 Mar 25 20:50 tomcat-users.xml 我想审核更改。 我是不是该 为具有授权的命名用户sudo编辑文件 给予命名用户su权限给tomcat帐户并进行任何必要的更改(通过sudo或给予pipe理员tomcat密码) 添加权限允许tomcat组的成员编辑文件并将tomcat作为辅助组添加到指定用户。 使用sudo会打开潜在的configuration错误,使命名用户比我想要的更多的访问,并允许他们使用sudo -i和绕过审计。 更改文件权限扩展谁可以读取文件似乎有风险。 我真的在寻找风险和优势/劣势,我没有在上面讨论,以帮助确定采取的方法,而不仅仅是意见和“我这样做”。

只接受通过SSH上传的新文件

我们希望通过OpenSSH在一些Linux主机之间发送文件,但我们不希望客户端能够列出/检索/修改服务器上的现有文件。 换句话说,它应该是一个“仅上载”服务在ssh协议上工作。 当然,这意味着客户端总是会有一种方法来知道在服务器上是否已经有一个给定名字的文件,只要文件内容不能被检索就没关系。 我们怎么能实现这一点,可能使用已经build立的软件在普通分布?

尽量减less新鲜2012 R2的攻击面

我在下面的情况,我将有一个新的服务器连接到互联网(如果需要与networking之间的防火墙,它只是把所有的数据包放在除了我的应用程序正在监听的端口上)。 它不需要任何服务/function,没有第三方安装,除了我的程序运行(控制台应用程序直接响应http请求)。 有什么具体的我应该做的,以减less暴露面积? 这是一个独立的服务器,没有内部networking,没有域,没有什么,只需要能够启动一个控制台应用程序和远程桌面(只是我,为了pipe理的目的)。 除了阻止除了我的应用程序和RDP在防火墙级别使用的所有端口之外,还有什么我应该更改/禁用,我可能没有想到或者是一个全新的安装已经很less暴露? 此服务器的安全性至关重要,因此只要不禁止应用程序监听和响应给定端口上的httpstream量,随意添加“偏执级别”build议

我怎样才能自动从脚本中检索和使用密码?

我们有自动化的脚本访问某些设备,并从根读取纯文本文件获取设备的密码。 是否有某种我们可以使用的体系结构,以便我们可以将这些密码移动到服务器,并让脚本通过Web服务访问它们? 或者也许有一个现有的技术,这样做?

不断的服务器ping

我有一个在Heroku上托pipe的Python / Django应用程序,在New Relic上进行监控,在Logentries上进行日志logging。 我注意到了大量的日志forms: 在=信息 方法= HEAD path= “/” 主机= mysite.com FWD = “xxx.xx.xxx.xx / ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com” 如果我看一下10分钟的时间,我就有50个乒乓球。 每分钟5次,每60分钟定时发生一次。 有5个人每分钟ping一次fwd地址。 其中之一是新的遗物,因为正向地址以“nr-ops.net”结尾,并且我已经为可用性监测设置了NR。 其他4个IP直接指向AWS机器或数字海洋机器。 所以我对New Relic检查感到满意,但是谁是其他人呢? 我有两个Web dynos和一个芹菜服务器设置在我的应用程序,那么这三个服务器相互ping通? 也许第三个是我的CloudAMQP服务器? 我应该关心这个吗? 我不相信HEAD请求会计入我的吞吐量监控,但这会影响请求排队和性能吗? 谢谢!

频繁的SIGTERM Apache

我怀疑sometings是在我的networking服务器出错(也许可能的拒绝服务攻击)。 其实我看到很多这样的条目: [Sun Jul 19 10:36:21 2015] [error] [client 141.212.122.18] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /x [Mon Jul 20 12:19:41 2015] [notice] caught SIGTERM, shutting down 是否有可能阻止他们? (的fail2ban?)

nginx垃圾邮件404错误

我的服务器被多个XXX域垃圾邮件,我的日志中有很多404错误,我无法find解决scheme来阻止。 2015/07/31 09:13:20 [error] 7070#0: *610 open() "/var/www/domain/mobile/www/www-sexvideo-shifuni.html" failed (2: No such file or directory), client: 162.158.252.53, server: m.domain.com, request: "GET /www-sexvideo-shifuni.html HTTP/1.1", host: "www.sextoysnmore.com" 正如你可以看到我有这些错误logging每秒.. 我试图把一个文件与糟糕的查阅者: map $http_referer $bad_referer { hostnames; default 0; # Put regexes for undesired referers here "~sextoysnmore.org" 1; } 和 if ($bad_referer) { return 444; } 但总是有垃圾邮件从这个域..或其他.. 任何人都有解决scheme? 谢谢 ;)

即使密码authenticationclosures,许多sshlogin失败

有一些机器人试图ssh(每天数百)所有我的服务器在数字海洋。 在/ etc / ssh / sshd_config我已经设置: PermitRootLogin without-password PermitEmptyPasswords no PasswordAuthentication no 我testing过从没有configurationSSH密钥的机器SSH,我得到权限被拒绝(按预期)。 那些失败的尝试我没有被logging。 那么……下面怎么可能呢? Aug 31 13:26:07 margarita sshd: Invalid user appfire from 219.153.15.122 Aug 31 13:26:07 margarita sshd: input_userauth_request: invalid user appfire [preauth] Aug 31 13:26:12 margarita sshd: Invalid user appfire from 219.153.15.122 Aug 31 13:26:12 margarita sshd: input_userauth_request: invalid user appfire […]

有关为用户权限部署GPO的可能性和最佳实践“作为服务login”

背景 我有一种情况,开发人员计算机处于IT部门为用户权限分配策略“作为服务login”设置强制组策略的环境中。 策略设置为强制且不可编辑,因此完全replace了本地设置。 由于这是一台安装了SQL Server Developer Edition的开发计算机,并且正在运行的IIS,所以默认的SQL Server帐户以及应用程序池的虚拟帐户都使用此用户权限(这些用户权限是dynamic地添加/删除的当应用程序池添加或删除时用户权限)。 没有SQL Server服务帐户添加到此用户权限,SQL Server甚至不会启动。 就个人而言,我觉得有一个强制GPO禁止本地用户权限的默认行为是很奇怪的。 IT部门添加了一大堆pipe理服务组以及一些特殊的用户组,这些组织似乎已被添加为组织中其他开发人员部门的解决方法。 纯粹的安全方面,我也质疑为什么其他开发部门应该在我们的计算机上访问“login即服务”时,他们真的只需要访问本地计算机。 问题 是否可以部署一个GPO的方式,所以它只会将服务器设置添加到本地设置而不是replace它们? 是可以部署一个GPO,仍然让它可以由本地用户编辑? 是否有可能以任何其他方式部署GPO,所以它不会影响本地设置? 它是否可以在解决方法中将用户组添加到服务器GPO,并且开发人员计算机上的本地pipe理员有权访问pipe理本地服务帐户并将其添加到此组? No 4中的方法是否可以与应用程序池中的虚拟帐户一起工作,还是需要直接访问用户权限,而不是通过用户组隐式地访问? 用户权限“login为服务”的GPO的最佳实践是什么? 自然而然地,用这个IT部门的方式处理用户似乎很奇怪。 环境 开发人员计算机:Windows 8.1企业工程 AD Server:domainControllerFunctionality:5 =(WIN2012); domainFunctionality:4 =(WIN2008R2); 森林function:4 =(WIN2008R2); 不知道这是否表示Win2008R2或Win2012服务器。 如果有关GPO部署的可能性的详细信息以及特定问题的最佳实践和创造性解决scheme,我们将非常感激!

TACACS +configuration:如何获得priv-lvl值?

我需要configurationTACACS +服务器来知道给定的用户是否被authentication*以及他的priv-lvl是什么。 作为客户端,我使用的是tactest(tacacs.net)和TACACS +客户端Java库(AXL)。 我试过这个: user = admin { name = “Admin User” login = cleartext admin service = exec { priv-lvl = 10 } } 并可以作为pipe理员进行身份validation,但不能得到他的特权。 这是来自tactest的输出: C:\Program Files (x86)\TACACS.net>tactest -s xxxx -k testing123 -u admin -p admin -author -service exec Trying to open connection to xxxx:49 Sending: MajorVersion=12 MinorVersion=0 Type=Authorization SeqNum=1 IsEncrypted=True IsSingleConnect=True […]