标签: sysadmin

Web服务器的防火墙是否应该阻止端口80上的出站HTTP流量?

我理解需要将Web服务器放在DMZ中并阻止除80和443之外的所有端口的入站流量.我还可以看到为什么在服务器受到威胁时您应该也阻止大多数出站流量.

但是有必要阻止端口80上的出站HTTP流量吗?如果是这样,为什么?如今,许多Web应用程序依赖于从外部Web服务和API发送/检索数据,因此阻止端口80上的出站流量将阻止此功能.是否存在一个足以证明这一点的安全问题?

sysadmin security firewall http

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

无法通过 Laravel SQLSTATE[08006] [7] 连接到 PgSQL

我正在尝试通过 laravel 连接到 pgsql 并最终完成了所有设置(pgsql 服务器正在运行,pdo 已安装,所有库已安装)。我在通过 CPanel/WHM 管理的 VPS (CentOS) 上运行。

这是我正在做的事情:我正在尝试使用 migrate:install 通过 artisan(Laravel 的命令行)创建用户数据库。

对于那些不使用 Laravel 的,artisan 使用 php 的 PDO for pgsql 进行连接。这是我的设置:

    'pgsql' => array(
        'driver'   => 'pgsql',
        'host'     => 'localhost',
        'database' => 'dbname',
        'username' => 'username',
        'password' => 'password',
        'charset'  => 'utf8',
        'prefix'   => '',
    ),
Run Code Online (Sandbox Code Playgroud)

我还设置了一个 test.php 文件:

$dbconn = pg_connect("host=localhost port=5432 dbname=dbname user=username password=password");
Run Code Online (Sandbox Code Playgroud)

这也失败了。我使用 phpPgAdmin 来查看发生了什么,所有权限都设置正确,数据库显示,用户名正确,密码相同。我检查了 postgre(顺便说一句 8.4.12 版)在哪里运行,phpPgAdmin 告诉我“localhost:5432”。

我通过命令行得到的错误如下:

SQLSTATE[08006] [7] FATAL: no pg_hba.conf entry for host "::1", user …
Run Code Online (Sandbox Code Playgroud)

php sysadmin postgresql centos laravel

5
推荐指数
0
解决办法
2万
查看次数

Apache如何访问由root用户创建的SSL证书?

我有一个运行Apache HTTPD的Debian服务器。

我已将其配置为使用驻留在/ etc / ssl / private /中的某些SSL证书。只有root用户具有对该目录的读写权限。HTTPD进程以www-data用户身份运行,但由root用户使用init.d脚本(HTTP安装随附)启动。

当apache2进程作为www-data运行并且SSL证书只能由root用户读取时,Apache如何能够毫无问题地读取证书和功能?

我为使用Python编写的自定义服务器编写的init.d脚本面临类似的问题。只要我不使用SSL证书,此init.d脚本就可以正常工作。一旦我添加了这些证书,该过程就不会开始,因为它无法读取证书,因为www数据用户无法读取证书。

在相似的情况下,我也使用过nginx,结果与使用Apache时相似。那么这两个项目如何解决这个问题?

linux sysadmin apache apache2 nginx

5
推荐指数
1
解决办法
4144
查看次数

Nagios插件错误:(标准输出无输出)...失败。errno是2:没有这样的文件或目录

我第一次使用自定义Nagios插件,并且在为插件创建服务时遇到此错误。

(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load.py, ...) failed. errno is 2: No such file or directory
Run Code Online (Sandbox Code Playgroud)

当我在命令行上运行时,该插件可以工作,但是在Nagios中运行时,该插件不起作用。

我按照以下步骤将插件插入了Nagios https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf

这是Nagios UI中的外观

插件位于正确的路径中:/usr/local/nagios/libexec,resource.cfg文件中具有相同的路径。

我尝试了两个单独的插件,它们都在命令行上运行,结果是相同的错误。

该错误表明文件位置不正确,但是该插件位于指定目录中,并且在该目录中没有错误运行。

我完全感到沮丧,感谢您的帮助。

sysadmin system-administration nagios nagiosxi

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

3306端口没有监听?无法远程连接到 MySQL

我正在尝试使用 pymysql 远程连接到 MySQL,但收到错误消息:

(2003, "Can't connect to MySQL server on 'ip address' ([WinError 10061] 
No connection could be made because the target machine actively refused it)")
Run Code Online (Sandbox Code Playgroud)

在我的 my.cnf 文件中,我将绑定地址设置为 0.0.0.0 并且跳过网络不存在。运行 "sudo netstat -atn" 显示端口 3306 仅在 localhost 上侦听:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
Run Code Online (Sandbox Code Playgroud)

我的防火墙允许来自 3306 的流量:

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/udp                     ALLOW       Anywhere
80/udp                     ALLOW       Anywhere
80/tcp                     ALLOW …
Run Code Online (Sandbox Code Playgroud)

mysql sysadmin remote-access pymysql

5
推荐指数
1
解决办法
6866
查看次数

如何正确使用 ansible 主机名模块?

我正在尝试使用 ansible 来修改十几个新创建的虚拟机的主机名,但我无法理解如何正确循环。

这是我写的剧本:

---
- hosts: k8s_kvm_vms
  tasks:
  - name: "update hostnames"
    hostname:
      name: "{{ item }}"
    with_items:
      - centos01
      - centos02
      ...
Run Code Online (Sandbox Code Playgroud)

结果是它用每个主机名更新每个主机。所以如果我有 12 台机器,每个主机名在剧本的末尾都是“centos12”。

我希望这种行为基本上产生与以下相同的结果:

num=0
for ip in ${list_of_ips[*]}; do 
    ssh $ip hostnamectl set-hostname centos${num}
    num=$((num+1))
done
Run Code Online (Sandbox Code Playgroud)

如果我自己用 bash 编写

此页面上的答案让我相信我必须在我的剧本中包含所有 IP 地址。在我看来,脚本的优点是即使它们的 IP 发生变化,我也可以拥有相同的主机名(我只需要将 IP 地址复制到 /etc/ansible/hosts 中),我可以将其与其他剧本重用。我已经阅读了主机名模块上的 ansible 页面,但是他们的示例让我相信我不必使用循环,而是必须为每个单独的 IP 地址定义一个任务。如果是这种情况,为什么要在 bash 脚本上使用 ansible?

ansible 主机名模块

sysadmin bash virtual-machine ansible

5
推荐指数
1
解决办法
6979
查看次数

如何获取LAN上的活动IP地址,MAC地址和NetBIOS名称列表?

如何获取LAN上的活动IP地址,MAC地址和NetBIOS名称列表?

我想为局域网上的每个主机获取NetBIOS名称,IP和MAC地址,最好不要走到每台PC并自己记录这些东西.

如何使用Windows Script Host/PowerShell /做什么?

windows sysadmin powershell networking wsh

4
推荐指数
2
解决办法
3万
查看次数

版本控制在多大程度上有助于系统管理?

我目前正在修改一个OpenBSD系统,以便建立自己的防火墙和其他一些东西.

因为这是相当实验性的(我是一个OpenBSD n00b,我已经把我的系统破坏了3到4次),我想知道其他人制作部分或全部文件系统的经验(我特别想到的是/ etc)某些VCS或其他的工作副本.

  • 这是一个好主意吗?

  • 我特别感兴趣的是VCS用户为此做了什么.我正在考虑颠覆,集市和git; 这不是一个共享的存储库,所以我对基本的vcs功能比对distributed-or-not参数更感兴趣.

  • 我也想知道人们发现的想象或实际陷阱.我可以想象保存文件所有权和权限需要仔细考虑!

  • 当然,任何不涉及VCS的替代方法

unix linux sysadmin version-control openbsd

4
推荐指数
1
解决办法
1741
查看次数

每个SysAdmin都应该知道什么编程?

这是这个问题的镜像:https: //serverfault.com/questions/4176/what-sysadmin-things-should-every-programmer-know

原作由Nathan DeWitt发布.应该归功于他.如果您有一个服务器故障帐户,请访问他原来的问题,并提出它以表示对此查询的感谢.

用内森的话说:

作为SysAdmin,我们倾向于将程序员视为理所当然.我没有一个优秀程序员的几次真的让我很欣赏你们所做的事情.当我们冒险进入一个没有程序员的环境时,你能为我们提供什么样的智慧?

sysadmin

4
推荐指数
1
解决办法
1922
查看次数

在没有GTK的情况下安装Erlang

我试图让Erlang在我的Fedora服务器上运行,特别是运行rabbitmq,但是当我yum install erlang抱怨wxGTK 需要一堆软件包时.

跆拳道?为什么erlang试图安装GUI?我打算在无头服务器上部署它.

我需要从源代码编译erlang吗?我可以使用没有没有GUI的erlang版本吗?

sysadmin erlang fedora

4
推荐指数
1
解决办法
1220
查看次数