AI 能否應對越來越多的勒索軟件攻擊?
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
本教程的目的是摆脱公共SSH和公共RDP连接。通过将所有这些都放置在非常方便的HTML5客户端之后,我们可以添加用于访问云的安全层。
鳄梨酱还记录任何远程访问,因此未经授权的访问变得更加可追踪。
注意:对于我们进行加密(选项B),我们需要一个域名。如果您没有,则可以跳过此步骤,而只需执行选项A即可。
首先在所需的Vultr区域中旋转VPS。一个1024 MB
VPS就足够了,如鳄梨是不是苛求。
首先在VPS上启用专用网络。这充分证明这里
首先,让我们稍微增强一下图像。让我们检查是否已配置了映像ufw
。
root@vultr:~# ufw status
Status: inactive
默认情况下它是禁用的,因此我们将需要添加一些规则。
让我们从配置这些端口开始。
ufw allow 22/tcp
ufw allow 8080/tcp
接下来启用防火墙。
ufw enable
如果收到警告,请不要担心。如果添加了port 22
,那么您将不会遇到任何问题。
root@vultr:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
启用后,请求防火墙的状态,我们将看到我们的端口配置。
ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
8080/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
8080/tcp (v6) ALLOW Anywhere (v6)
在开始安装之前,我们需要更新和升级存储库。使用Tomcat
基于Java的软件包(如),可以不断发现被发现的错误及其相关的错误修正。通常最好先执行此操作,而不是直接进入我们的安装。
apt-get update
apt-get -y upgrade
接下来是所有依赖项。鳄梨调味酱有很多。(可以在此处找到依赖项及其功能的完整列表)。让我们继续安装所有这些。
apt-get -y install build-essential tomcat8 freerdp libcairo2-dev libjpeg-turbo8-dev libpng12-dev libossp-uuid-dev libavcodec-dev libavutil-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvorbis-dev libwebp-dev mysql-server mysql-client mysql-common mysql-utilities libswscale-dev libvncserver-dev libpulse-dev libssl-dev
当安装程序要求提供MySQL根密码时,请提供一个,并请务必注意。我们稍后将使用此密码来创建Guacamole数据库。
现在我们有了所有的依赖关系,我们可以继续下载Guacamole。鳄梨酱本身主要以源代码形式提供,而不是二进制文件。首先,我们将移至该/tmp
文件夹,以避免使磁盘的其他部分混乱。然后下载所有源代码。
有四个源/二进制文件可供下载:
guacamole-0.9.13-incubating.war
:这是Web应用程序。一个WAR
文件是一个压缩包网站提供托管的Tomcat的网站上的一个单一的网站guacamole-server-0.9.13-incubating.tar.gz
:此文件将提供后端guacd
应用程序。这将通过RDP和SSH创建流。guacamole-auth-jdbc-0.9.13-incubating.tar.gz
:我们将使用本地MySQL数据库,因此我们需要关联的JDBC
连接器。mysql-connector-java-5.1.43.tar.gz
注意:没有数据库驱动程序,JDBC连接器将无法执行任何操作。该文件由MySQL团队自己提供。注意:下载已解析到最近的服务器。
cd /tmp
wget http://apache.belnet.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-0.9.13-incubating.war
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/source/guacamole-server-0.9.13-incubating.tar.gz
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-auth-jdbc-0.9.13-incubating.tar.gz
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.43.tar.gz
下载完所有这些文件后,提取tar.gz
。
tar -xzvf guacamole-server-0.9.13-incubating.tar.gz
tar -xzvf guacamole-auth-jdbc-0.9.13-incubating.tar.gz
tar -xzvf mysql-connector-java-5.1.43.tar.gz
现在,我们已经提取了所有源代码,让我们创建一些guacamole
文件夹,这些文件将被鳄梨调味酱应用程序及其依赖项使用。
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions
所有新的鳄梨调味酱二进制文件都已准备就绪。现在,我们可以开始编译和安装过程。移至解压缩的Guacamole Server文件夹。
cd /tmp/guacamole-server-0.9.13-incubating
将应用程序配置为还创建一个init.d
文件,以便以后将其作为服务运行。
./configure --with-init-dir=/etc/init.d
在所有库和协议上,该命令应以“ yes”结尾。如果不是,请返回并检查apt-get命令以确保您没有错过任何软件包。
------------------------------------------------
guacamole-server version 0.9.13-incubating
------------------------------------------------
Library status:
freerdp ............. yes
pango ............... yes
libavcodec .......... yes
libavutil ........... yes
libssh2 ............. yes
libssl .............. yes
libswscale .......... yes
libtelnet ........... yes
libVNCServer ........ yes
libvorbis ........... yes
libpulse ............ yes
libwebp ............. yes
Protocol support:
RDP ....... yes
SSH ....... yes
Telnet .... yes
VNC ....... yes
Services / tools:
guacd ...... yes
guacenc .... yes
Init scripts: /etc/init.d
Type "make" to compile guacamole-server.
接下来编译并安装Gucamole服务器。
make && make install
完成所有操作后,请运行ldconfig
以重建已添加库的搜索路径。
ldconfig
通过使用systemctl
设置guacd
程序(鳄梨酱守护程序)来继续启动。
systemctl enable guacd
鳄梨酱二进制文件现已安装。现在,我们将为Tomcat准备Web应用程序。
首先将war
文件移动到guacamole
我们刚刚创建的文件夹中,完成后在tomcat目录中创建一个逻辑链接以指向我们的war
文件。
cd /tmp
mv guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
然后我们需要mysql连接器和JDBC。extensions
文件夹中需要JDBC驱动程序,文件夹中需要连接器lib
。
cp mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar /etc/guacamole/lib/
cp guacamole-auth-jdbc-0.9.13-incubating/mysql/guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions/
连接器和JDBC安装到位后,我们需要编辑tocamt8
文件。该文件包含许多tomcat8
设置,在我们的情况下,我们需要GUACAMOLE_HOME
在文件末尾添加变量。
nano /etc/default/tomcat8
追加以下内容。
GUACAMOLE_HOME=/etc/guacamole
接下来是创建数据库。鳄梨酱将其连接配置存储在数据库中,而不是文件中。
root password
使用安装期间使用的登录名。
mysql -u root -p
第一步是创建一个名为“ guacamole_db”的数据库。
create database guacamole_db;
然后运行create user
命令。这将创建一个具有密码的用户mysupersecretpassword
,该用户只能从进行连接localhost
。
create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";
CRUD
向该用户授予数据库操作guacamole_db
。
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
刷新特权并退出外壳。
flush privileges;
exit
通过将Guacamole模式添加到我们新创建的数据库中来完成。
cat /tmp/guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/*.sql | mysql -u root -p guacamole_db
完成后,我们需要编辑guacamole.properties
文件。该文件包含我们最近创建的MySQL服务器配置。
nano /etc/guacamole/guacamole.properties
附加MySQL连接详细信息和凭据。
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword
通过创建指向tomcat共享文件夹的符号链接来完成操作,因为WAR
文件将在其中搜索这些属性。
ln -s /etc/guacamole /usr/share/tomcat8/.guacamole
通过重新启动tomcat8
服务器结束并启动guacd
服务器守护程序。
service tomcat8 restart
service guacd start
您可以使用status命令进行验证。
service tomcat8 status
service guacd status
现在,您可以在端口上浏览到VPS 8080
http://<yourpublicip>:8080/guacamole/
使用用户名guacadmin
和相同的密码guacadmin
。这将授予您访问一个空的Guacamole服务器的权限。
单击用户名的右上角,guacadmin
然后选择Settings
。进入设置页面后,转到Users
选项卡并选择用户guacadmin
。
现在,将您的密码更改为其他密码,或创建一个新的管理员用户并删除默认密码guacadmin
。
这些是最后的步骤:完成后进行清理。
从/tmp
文件夹中删除下载的源代码和二进制文件。
rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*
另外,将Guacamole Web应用程序设置为默认应用程序。在tomcat生态系统中,获取ROOT
文件夹的应用程序是在您访问网站时默认启动的应用程序。
删除旧的ROOT
占位符。
rm -rf /var/lib/tomcat8/webapps/ROOT
并为鳄梨酱服务器创建一个符号链接ROOT
。
ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT
这需要重新启动tomcat。
service tomcat8 restart
编辑tomcat8/server.xml
文件并更改连接器端口。
nano /etc/tomcat8/server.xml
搜索Connector port
。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
并替换8080
为80
。
默认情况下,tomcat不允许绑定下面的端口1024
。为此,我们需要告诉tomcat8创建经过身份验证的绑定。
编辑default
tomcat8 的文件并取消注释该AUTHBIND
行,并使用该选项yes
nano /etc/default/tomcat8
AUTHBIND=yes
一旦完成,请安装intall authbind
。
apt-get install authbind
配置它,以便80
tomcat8可以声明端口。
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80
允许端口80
穿过防火墙并删除的规则8080
。
ufw allow 80/tcp
ufw delete allow 8080/tcp
重新启动tomcat。
service tomcat8 restart
就是这样,现在鳄梨调味酱应该在port上运行80
。
Tomcat确实不是可与结合使用的最佳,最可靠的应用程序之一certbot
。幸运的是Nginx是。我们只是将tomcat代理到Nginx。它使用certbot的即用型功能,但要牺牲一点RAM。
apt-get install nginx
安装完成后,编辑默认配置。
nano /etc/nginx/sites-available/default
删除所有示例配置,然后添加以下配置。
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
这将为运行在的网站创建代理8080
。重新启动Nginx,并在启动时启用它。
systemctl restart nginx
systemctl enable nginx
检查是否一切正常。
systemctl status nginx
禁用测试端口,8080
并允许端口上的流量80
。
ufw allow 80/tcp
ufw delete allow 8080/tcp
在使用之前certbot
,我们需要向ppa
包含certbot软件包的系统中添加正确的内容。
add-apt-repository ppa:certbot/certbot
按“ ENTER
”接受配置更改。
更新apt
以收集新软件包。
apt-get update
最后,安装用于分配证书的Nginx模块。
apt-get -y install python-certbot-nginx
配置防火墙以允许HTTPS
。
ufw allow 443/tcp
在我们可以请求新证书之前,我们需要一个DNS名称。
nano /etc/nginx/sites-available/default
添加以下server_name
设置。
server_name rdp.example.com;
更改配置以反映此新设置。
server {
server_name rdp.example.com;
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
检查是否一切正常,然后重新启动Nginx。
nginx -t
service nginx restart
现在向certbot申请证书。
certbot --nginx -d rdp.example.com
提供您的电子邮件,并同意安装程序提出的问题。(您可以安全地选择“ No
”来共享您的电子邮件。)Certbot会自动询问它需要做什么HTTPS
。我们将使用选项2 :redirect to HTTPS
。
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
我们要做的最后一件事是更新DH
参数。默认情况下,对于2017年标准而言,这些功能有些薄弱。
创建一些新的。
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
接下来,将它们添加到Nginx中的默认站点。
nano /etc/nginx/sites-available/default
将它们添加到服务器配置。
server {
server_name rdp.example.com;
listen 0.0.0.0:80;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
检查错误。
nginx -t
通过重新启动服务器来应用更改。
service nginx restart
清理旧8080
规则
ufw delete allow 8080/tcp
注意:如果您收到“ 502 Bad Gateway”,则需要重新启动tomcat8。
service tomcat8 restart
让我们加密证书需要续订。我们可以为此创建一个cron作业。首先编辑crontab
。
crontab -e
添加以下行。
00 2 * * * /usr/bin/certbot renew --quiet
如果任何证书需要续签,它将在2:00 AM进行检查,如果需要续签,则将对其进行续签。
转到您的Guacamole服务器(http://<ip>/
或https://rdp.example.com)
)。
对于此测试,您将需要两个以上的实例:一个Linux VM和另一个都启用了私有IP的Windows Server 2012 R2。
点击右上角的“ username
”,然后转到“ Settings
”。然后转到“ Connections
”并选择“ New Connection
”。
填写以下设置(您可以将其他设置保留为默认设置)。
Name: Windows Server 2012 R2
Location: ROOT
Protocol: RDP
Maximum number of connections: 1
Maximum number of connections per user: 1
Parameters > Hostname: 10.99.0.12
Parameters > Port: 3389
Username: Administrator
Password: <password> (provided by Vultr)
Security mode: Any
Ignore server certificate: <checked>
按“ save
”并返回主屏幕。现在您可以单击“ Windows Server 2012 R2
”连接,它将RDP连接到此计算机。
按“ Ctrl+Shift+Alt
”。这将弹出侧面的菜单。您可以在此处断开鳄梨调味酱或执行鳄梨调味酱的其他管理任务。
点击username
菜单顶部的,然后转到“ Settings
”。然后转到“ Connections
”标签,然后选择“ New Connection
”。
填写以下设置(您可以将其他设置保留为默认设置)。
Name: Linux
Location: ROOT
Protocol: SSH
Maximum number of connections: 5
Maximum number of connections per user: 2
Parameters > Hostname: 10.99.0.11
Parameters > Port: 22
Username: root
Password: <password> (provided by Vultr)
按“ save
”并返回主屏幕。现在,您可以单击此新创建的连接,并通过SSH连接到Linux服务器。
您现在有了Web RDP / SSH HTML5网关。现在,您可以对平台的公共RDP和SSH访问进行防火墙保护,并可以从任何现代浏览器访问您的环境。有关鳄梨酱可以提供的更多信息,请在此处观看一个很棒的视频,展示该平台的所有可能性。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息
大數據的13個商業數據提取工具
我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true
隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。
洞察 26 種大數據分析技術:第 1 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。