好啊
每个企业迟早都会需要远程访问。
实际上,每个IT专家都面临着在企业中组织对其网络进行远程访问的需求。
我和许多人一样,需要在“昨天”盖章。 在分析了所有的利弊之后,挖掘了大量的信息并从理论上进行了一点研究,我决定继续进行安装。
出于安全原因,我在以下实现中选择了OpenVPN:在运行Windows Server 2012的服务器上安装了虚拟机,在其上还安装了Windows Server 2012,然后在其上又是发布和签名证书的OpenVPN服务器。
为了方便起见,我们将其称为“认证服务器”。 此外,他获得了服务器证书,将其推入Mikrotik,然后在路由器上,Mikrotik提出了带有帐户,配置文件的OpenVPN。 我还使用了认证服务器来颁发客户证书。
当然,实现起来很糟糕,尽管当时我在安全方面的经验还不够,但这并不是一个坏决定。
这个捆绑包工作了一段时间,我得到了一个新的介绍:将认证服务器转移到Linux,同时保持与Mikrotik的连接-客户端应该不会受到影响。
我当时对Linux的了解在Ubuntu 16.04LTS上以图形界面结束,该界面用作通过RDP连接到Windows服务器的终端。 也就是说,sudo apt-get -f install -y,而不是一厘米多。
在研究了Linux家族的哪种操作系统对我的组织来说更稳定,更有前途的问题后,我选择了CentOS 7 Minimal。
首先,我决定深入研究该理论,以了解其总体原理和工作原理。 我在
www.youtube.com/channel/UCKdRgZWgy42YxoFcTJ30LTA频道上观看了视频教程(通常不是广告,他们只是让我首先获得)。 这个声音柔和的女孩向我介绍了在所选OS中工作的基础知识。
首先,我在计算机上启动了Hyper-V,在该计算机上安装了CentOS 7 Minimal,在安装过程中,我创建了Admin用户并完全关闭了root的ssh。 与美丽的彩色屏幕告别,它已插入终端的黑白世界。
我认为描述软件安装过程没有任何意义,最好集中精力解决过程中出现的问题,并解决我必须编写一个小脚本的问题(这简直就是天方夜谭。每个实用程序的描述都可以在Internet上找到,但是那时我已经全部做到了,这个脚本还不存在,一切都是第一次完成,而且是随意的。
在脚本中,我尝试自动为服务器安装最小必需的实用程序,禁用Selinux,连接Epel存储库,安装OpenVPN等。下面是脚本本身,它很简单,但是可以使用。 我不会分解它,但是如果有人需要它,请写一个答复。
使用该脚本后,将出现一个已经配置好的OpenVPN服务器,眨着眼睛。
UPD:对脚本进行了一些调整,从评论中得出了结论。 他没有开始删除自己的错误,而只是将其注释掉,以免丢失注释线索。 添加了向后推的行以提高可见性。
安装OpenVPN并非完全成功。
由于不了解Linux系统上权限策略的功能,我花了很多时间研究日志并为所有文件分配所需的权限。
当OpenVPN按钮变成绿色时,我感到非常高兴,但是事实证明,这仅仅是开始。 为了简单起见,我希望替换根证书和crl.pem文件,希望一切正常。 结果,我需要将以下文件从服务器传输到Windows:
Serv.crt-服务器证书
Serv.key-服务器密钥
Ca.crt-根证书
Ca.key-根密钥
Crl.pem-证书吊销文件
Dh.pem-Diffie-Hellman密钥
Index.txt-包含有关当前证书信息的文件
序列号-它也负责证书的相关性
它还需要certs_by_serial文件夹,vars文件以及所有客户端密钥和证书。
在Mikrotik,证书仍然存在,因此可以正常工作。
当我尝试吊销证书时出现了问题,但从字面上看根本无法正常工作-index.txt文件需要转换为unix格式,但我没有立即执行。 使用了dos2unix实用程序。
现在证书被吊销了,但是继续工作没有任何问题,因为Mikrotik不知道吊销了证书,因此他需要以某种方式告知它。
阅读说明并咨询Alexander ERI(非常感谢!)之后,我在认证服务器上获得了一个简单的Apache http服务器,并在其上发布了一个吊销的证书文件。 完全关闭对它的访问,只有一个ip发布了文件。
在Mikrotik终端的/系统/证书/ CRL选项卡中,指示发布的crl.pem的路径。 这里应该澄清一下,Mikrotik仅接受http和CRL选项卡的绝对地址,即 它看起来应该像这样:
127.0.0.1/crl/1.crl一切正常,至少对于RouterOS 6.4.2.x版本有效,但是我不得不亲手创建客户端配置,这对我来说很不幸,并且带来了很多不便。 一个星期内,我需要为约50个客户端创建配置时,我决定加快此过程,为此,我使用了Internet上其他人的脚本。
该脚本的工作方式如下:启动后,指定“客户端名称”,回答问题“是否设置密码”,然后我们将现成的配置文件“ client.ovpn”与证书和设置集成到其中。 要使用它,您必须具有/ etc / openvpn。 我将在必须用您自己的路径替换路径的可疑行上签名。 还需要使用客户端设置创建文件,以便脚本在创建配置过程中替换它们。
一段时间后,新的禁止远程访问的介绍性禁令迫使该服务器和与Mikrotik一起使用的捆绑软件都被杀死。 为IT部门创建了一个新的OpenVPN服务器,该服务器现在可以完全在CentOS上运行。 但这是一个完全不同的故事。
我感谢Ivan和Pavel在撰写本文时所提供的帮助。