背景资料
我有一个带有两个运行 Docker 的网络接口的服务器。Docker 和一些虚拟化工具一样,创建了一个名为docker0. 默认情况下,此接口配置了一个 IP,172.17.42.1所有 Docker 容器都使用此接口作为网关进行通信,并分配了相同/16范围内的IP 地址。据我了解,所有进出容器的网络流量都经过 NAT,因此出站流量似乎来自172.17.42.1,入站流量则发送到172.17.42.1.
我的设置看起来像这样:
+------------+ /
| | |
+-------------+ Gateway 1 +-------
| | 10.1.1.1 | /
+------+-------+ +------------+ |
| eth0 | /
| 10.1.1.2 | |
| | |
| DOCKER HOST | |
| | | Internet
| docker0 | |
| (bridge) | |
| 172.17.42.1 | |
| | |
| eth1 | |
| 192.168.1.2 …Run Code Online (Sandbox Code Playgroud) 我从源代码安装 NGinx,因为 ubuntu 存储库中的软件包很旧。我想知道升级这些类型的安装的最佳方法是什么?
我目前的工作流程涉及。
有人告诉我这不是最好的路线。
建议?
关于保护源代码访问的行业最佳实践是什么?我认为 SSL 只允许通过 apache 的连接通过一个不与其他任何东西冲突的模糊端口连接到我们的服务器。困扰我的是将源代码存储在面向公众的服务器上,即不仅可以通过 LAN 访问。此外,该服务器有多种用途。Apache 已经在为其他一些公司内部网站提供服务。我希望每个人都能够从任何地方(家中、机场等)访问源代码,只要他们拥有正确的凭据。建议?
我从源代码在我的 Fedora 13 机器上安装了 ruby 1.9。我想回去使用旧的 1.8.6(我将用 yum 安装),不幸的是,我似乎不能通过“make uninstall”(make: *** No rule to make target卸载'。停止。`)简单地卸载我当前的版本。
除了删除每个单独的文件之外,还有什么方法可以做到这一点?
我正在设计一个新的服务器设置来托管多个网站。(在SliceHost 上为我的客户共享主机。)我最近摆脱了传统的 LAMP 设置并选择了 Ubuntu、Nginx、php-fpm和 mysql。
我比我的旧 Apache、suphp、mysql 设置更喜欢它。它工作得很好,提供了站点之间的封装并且使用的内存显着减少。但是,我有一个主要的维护问题。为了拥有最新版本的 Nginx 并为了使用 php-fpm,我不得不从源代码编译这些程序。
我认为这是一个问题的原因是跟踪更新和构建配置最终将成为大量工作。对于两个程序(和一个补丁),我可以处理它,但是这个设置似乎无法扩展到许多包和服务器。有没有好的方法来管理这种情况?我相信人们一直都在这样做。
我想知道是否有可能告诉 Linux 内核通过 interface/ip Y 路由所有目的地为 X 的数据包,但前提是源 IP 地址是特定的。
知道这是否可能吗?
感谢致敬,
Ubuntu 16 Server -load_module modules/ngx_http_headers_more_filter_module.so无法从全新安装中解决问题。
root@ /etc/nginx # nginx -V
nginx version: nginx/1.15.8
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
built with OpenSSL 1.0.2g 1 Mar 2016
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 …Run Code Online (Sandbox Code Playgroud) 在我的公司,我们非常保护我们的源代码。我们通过建立一个开发 LAN 来满足我们的偏执,我们将它与 Internet 和公司其他网络隔离开来。在开发网络中,我们有几台安全机器(源控制服务器、构建服务器、域控制器),所有源都需要加密或保存在上锁的房间里。能够向我们的客户解释这样一个简单的安全策略对我们来说是一个竞争优势,但随着我们公司的发展,维护这个网络的成本也变得越来越高。为了应对过去一年的痛苦,我们放弃了严格的气隙政策,允许通过两因素身份验证的仅限 RDP 的 VPN 访问网络。
然而,我们的开发网络与我们公司网络的其余部分之间缺乏连接仍然严重阻碍了在网络内部工作的团队与在网络外工作的团队之间的合作。我们想考虑对我们的网络架构进行重大改革,但我们不确定什么是保护源代码的行业最佳实践。我们可能会考虑的是:
在您工作过的主要软件开发组织中,这会被视为令人满意的安全策略吗?软件开发组织还遵循哪些其他实践来保护其源代码?例如,入侵检测系统是源安全的常见部分吗?
在“我们如何保护我们的源代码?” 问题与我们密切相关,但我们更关心网络架构,而不是员工策略或备份策略。
我想知道一般偏好是什么,它来自哪里。在积极使用 FreeBSD 几年后,我倾向于使用 Gentoo,但我有过浪费宝贵时间的不愉快经历,因为 Gentoo 安装在一台非常旧的机器上,构建时间很短。
如果它是基于预先构建的包,那么浪费的时间就会更少。(我知道 FreeBSD 有二进制包,但这些包的问题在于它们似乎在版本发布后就没有维护了,获得新东西的唯一方法是自己编译它。真的不了解 Gentoo)。
您对此有何看法,您是否有任何经验使您从基于源的发行版切换到其他发行版?
编辑:我想我应该澄清一下最近的“我的经验”
故事是这样展开的。换了工作后,我必须维护一台相当旧的机器,它承载带有办公室用户登录信息的 LDAP (OpenLDAP)。我不得不重新启动野兽(它没有重新启动 8 个月)。重启后,OpenLDAP 没有上线。似乎 slapd 和其他一些二进制文件在系统运行时以某种方式被删除了。第一次构建 ldap 包后,我想知道为什么我没有得到 slapd 二进制文件(花了 15 分钟)。一段时间后,我将问题追溯到默认情况下打开“最小”标志,它只构建库,没有服务器二进制文件。最终结果 - 大约 1 小时的办公效率低下,同事们借口“我没有这样做,因为我们的主服务器停机了”。
——
非常感谢您的回答,但到目前为止还没有令人信服的论据来使用基于源代码和基于预构建包的。如今,存储空间不再是问题。
如何根据源 IP 地址使 BIND 表现不同?例如,我想为我网络上的不同人使用不同的转发 DNS 服务器。