Створіть інтерфейс HTML 5 RDP/SSH за допомогою Guacamole в Ubuntu 16.04 LTS

Вступ

Метою цього посібника є позбавлення від загальнодоступних підключень SSH та RDP. Розмістивши все це за дуже зручним клієнтом HTML5, ми можемо додати рівень безпеки для доступу до нашої хмари.

Guacamole також реєструє будь-який віддалений доступ, тому несанкціонований доступ стає набагато легше відстежується.

Примітка: для Let's encrypt (варіант B) нам потрібно доменне ім’я. Якщо у вас немає, ви можете пропустити цей крок і просто виконати варіант А .

Крок 1 - Підготовка системи

Почніть з розгортання VPS у потрібній зоні Vultr. Досить 1024 MBбуде VPS, оскільки гуакамоле не такий вимогливий.

Увімкнення приватного IP

Почніть з увімкнення приватної мережі на VPS. Це добре документовані тут

Підготовка брандмауера

Спочатку давайте трохи посилимо зображення. І давайте перевіримо, чи ufwувімкнено зображення, яке було підготовлено .

root@vultr:~# ufw status
Status: inactive

За замовчуванням він вимкнено, тому нам потрібно буде додати кілька правил.

  • Правило 1: ssh: порт TCP 22
  • Правило 2: http: TCP-порт 8080 (тимчасове правило тестування для Guacamole)

Почнемо з налаштування цих портів.

ufw allow 22/tcp
ufw allow 8080/tcp

Далі увімкніть брандмауер.

ufw enable

Не хвилюйтеся, якщо ви отримаєте попередження. Якщо ви додали порт 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)

Крок 2 - Установка гуакамоле

Встановлення всіх залежностей

Перш ніж ми розпочнемо встановлення, нам потрібно оновити та оновити репо. З такими пакетами, як 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

Коли інсталятор запитає пароль root MySQL, надайте його та обов’язково візьміть його до уваги. Ми будемо використовувати цей пароль пізніше для створення бази даних Guacamole.

Завантаження гуакамоле

Тепер, коли у нас є всі наші залежності, ми можемо продовжити завантаження Guacamole. Сам гуакамоле надходить переважно у вихідній формі, а не у двійковому. Спочатку ми перейдемо до /tmpпапки, щоб не захаращувати інші частини диска. Потім завантажте весь вихідний код.

Є чотири вихідні/двійкові файли для завантаження:

  • guacamole-0.9.13-incubating.war: Це веб-додаток. 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папок, вони будуть використовуватися програмою guacamole та її залежностями.

mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions

Все готово для наших нових бінарних файлів Guacamole. Тепер ми можемо почати процес компіляції та встановлення. Перейдіть до витягнутої папки сервера Guacamole.

cd /tmp/guacamole-server-0.9.13-incubating

Налаштуйте програму на створення init.dфайлу для подальшого запуску як служби.

./configure --with-init-dir=/etc/init.d

Команда має закінчуватися на "так" для всіх бібліотек і протоколів. Якщо ні, поверніться назад і перевірте команду 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(Guacamole Daemon), щоб почати під час завантаження.

systemctl enable guacd

Бінарні файли Guacamole тепер встановлені. Тепер ми підготуємо веб-додаток для Tomcat.

Почніть з переміщення 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. Драйвер JDBC потрібен у extensionsпапці, роз’єм у 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/

Налаштування Guacamole і Tomcat

Once the connector and JDBC are in place, we need to edit the tocamt8 file. This file contains a lot of tomcat8 settings, and in our case we need to add the GUACAMOLE_HOME variable at the end of the file.

nano /etc/default/tomcat8

Append with the following.

GUACAMOLE_HOME=/etc/guacamole

Creating the database

Next up is creating the database. Guacamole stores its connection configuration in a database, not inside a file.

Login with the root password you used during the installation.

mysql -u root -p

The first step is to create a database called 'guacamole_db'.

create database guacamole_db;

Then run the create user command. This will create a user with a password mysupersecretpassword, this user will only be able to connect from localhost.

create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";

Grant CRUD operations to this user for the database guacamole_db.

GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';

Flush privileges and exit the shell.

flush privileges;
exit

Finish up by adding the Guacamole schema to our newly created database.

cat /tmp/guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/*.sql | mysql -u root -p guacamole_db

Once this is done, we need to edit the guacamole.properties file. This file contains our recently created MySQL server configuration.

nano /etc/guacamole/guacamole.properties

Append the MySQL connection details and credentials.

mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword

Finish up by creating a symbolic link to the tomcat share folder, as this is where the WAR file will search these properties.

ln -s /etc/guacamole /usr/share/tomcat8/.guacamole

Testing the setup

End by restarting the tomcat8 server and start the guacd server daemon.

service tomcat8 restart
service guacd start

You can verify by using the status command.

service tomcat8 status
service guacd status

Now you can browse to your VPS on port 8080

http://<yourpublicip>:8080/guacamole/

Use the username guacadmin and the same password guacadmin. This will grant you access to an empty Guacamole server.

Click in the top right corner on your username guacadmin and select Settings. Once you are in the settings page go to the Users tab and select the user guacadmin.

Now change your password to something else or create a new admin user and delete the default guacadmin one.

Step 3 - Fine tuning and cleanup

These are the final steps: cleaning up after you are done.

Delete the downloaded source code and binaries from the /tmp folder.

rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*

Also, make the Guacamole web application the default one. In the tomcat ecosystem the application that gets the ROOT folder is the one that is started by default when you access the website.

Delete the old ROOT placeholder.

rm -rf /var/lib/tomcat8/webapps/ROOT

And make a symbolic link for the guacamole server to be the ROOT one.

ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT

This requires a tomcat restart.

service tomcat8 restart

Step 4 (option A) - Running on HTTP only

  • If you are not going to use Let's Encrypt certificates and not use a DNS, execute the actions in this step and afterwards go directly to Step 6. - Option A
  • If you want to create a more secure site and you have a DNS ready, you can skip this and go straight to option B (Step 5).

Edit the tomcat8/server.xml file and change the connector port.

nano /etc/tomcat8/server.xml

Search for the Connector port.

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" />

And replace 8080 with 80.

By default, tomcat doesn't allow the binding of ports below 1024. To enable this we need to tell tomcat8 to create authenticated binds.

Edit the default file of tomcat8 and uncomment the AUTHBIND line and use the option yes

nano /etc/default/tomcat8

AUTHBIND=yes

Once this is done, intall authbind.

apt-get install authbind

Configure it so that port 80 can be claimed by tomcat8.

touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80

Allow port 80 through the firewall and delete the rule for 8080.

ufw allow 80/tcp
ufw delete allow 8080/tcp

Restart tomcat.

service tomcat8 restart

That's it, now Guacamole should be running on port 80.

Step 5 (option B) - Setting up Nginx

Installation and configuration of Nginx

Tomcat really isn't one of the best and most robust applications to use with certbot. Luckily Nginx is. We will just to proxy tomcat to Nginx. It uses the out-of-the-box functionality of certbot at the cost of sacrificing a little bit of RAM.

apt-get install nginx

Once installed, edit the default configuration.

nano /etc/nginx/sites-available/default

Delete all example configurations and add the following configuration.

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;
  }
}

This will create a proxy for the website running at 8080. Restart Nginx, and enable it at boot.

systemctl restart nginx
systemctl enable nginx

Check if everything is working.

systemctl status nginx

Disable the testing port 8080 and allow traffic on port 80.

ufw allow 80/tcp
ufw delete allow 8080/tcp

Installing Let's Encrypt

Before we can use certbot, we need to add the correct ppa to the system containing our certbot packages.

add-apt-repository ppa:certbot/certbot

Press "ENTER" to accept the configuration change.

Update apt to gather the new packages.

apt-get update

Finally, install the Nginx module for assigning the certificates.

apt-get -y install python-certbot-nginx

Configure Nginx to use certificates

Configure the firewall to allow HTTPS.

ufw allow 443/tcp

Before we can request new certificates, we need a DNS name.

nano /etc/nginx/sites-available/default

Add the following server_name setting.

server_name rdp.example.com;

Change the configuration to reflect this new setting.

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;
  }
}

Check if all is working and restart Nginx.

nginx -t
service nginx restart

Now request a certificate with 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», вам потрібно перезапустити tomcat8 .

service tomcat8 restart

Автоматичне поновлення сертифікатів

Сертифікати Let's Encrypt вимагають поновлення. Для цього ми можемо створити роботу cron. Почніть з редагування файлу crontab.

crontab -e

Додайте наступний рядок.

00 2 * * * /usr/bin/certbot renew --quiet

Це перевірить о 2:00 ранку, чи вимагають поновлення якісь сертифікати, і поновить їх, якщо потрібно.

Крок 6 - Перевірка всього

Перейдіть на свій сервер Guacamole ( http://<ip>/або https://rdp.example.com)).

Для цього тесту вам знадобляться ще два екземпляри: одна віртуальна машина Linux та інша Windows Server 2012 R2 з увімкненою приватною IP-адресою на обох.

Додавання підключення Windows RDP

Натисніть « 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 на цю машину.

Додавання з'єднання Linux SSH

Натисніть " 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" і поверніться на головний екран. Тепер ви можете натиснути це щойно створене з’єднання та підключитися до свого сервера Linux через SSH.

Висновок

Тепер у вас є веб-шлюз RDP/SSH HTML5. Тепер ви можете закрити загальнодоступний доступ RDP і SSH вашої платформи та отримати доступ до свого середовища з будь-якого сучасного браузера. Для отримання додаткової інформації про те, що може запропонувати Guacamole, є чудове відео, що показує всі можливості платформи тут .


Встановіть Plesk на CentOS 7

Встановіть Plesk на CentOS 7

Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Вступ Lets Encrypt — це служба центру сертифікації, яка пропонує безкоштовні сертифікати TLS/SSL. Certbot спрощує процес встановлення,

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер

Як встановити та налаштувати PHP 7.0 або PHP 7.1 на Ubuntu 16.04

Як встановити та налаштувати PHP 7.0 або PHP 7.1 на Ubuntu 16.04

PHP та пов’язані з ним пакети є найбільш часто використовуваними компонентами під час розгортання веб-сервера. У цій статті ми дізнаємося, як налаштувати PHP 7.0 або PHP 7.1 o

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити

Три безкоштовні панелі керування сервером (швидке встановлення)

Три безкоштовні панелі керування сервером (швидке встановлення)

1. Virtualmin/Webmin Virtualmin — це потужна та гнучка панель керування веб-хостингом для систем Linux та UNIX на основі відомої веб-бази з відкритим вихідним кодом.

Налаштування програми Yii на Ubuntu 14.04

Налаштування програми Yii на Ubuntu 14.04

Yii — це PHP-фреймворк, який дозволяє розробляти програми швидше та легше. Установка Yii на Ubuntu проста, як ви дізнаєтеся

Використання Screen в Ubuntu 14.04

Використання Screen в Ubuntu 14.04

Screen — це програма, яка дозволяє багаторазово використовувати термінальні сеанси в одному вікні. Це дозволяє моделювати декілька вікон терміналу, де це ma

Використання Logrotate для керування файлами журналу

Використання Logrotate для керування файлами журналу

Вступ Logrotate — це утиліта для Linux, яка спрощує адміністрування файлів журналів. Зазвичай він запускається раз на день через завдання cron і керує базою журналів

Як встановити Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Як встановити Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої

Як встановити Vanilla Forum на Ubuntu 16.04

Як встановити Vanilla Forum на Ubuntu 16.04

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити Kanboard на Ubuntu 18.04 LTS

Як встановити Kanboard на Ubuntu 18.04 LTS

Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Gitea на Ubuntu 18.04

Як встановити Gitea на Ubuntu 18.04

Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом, яка працює на базі git. Gitea написана на Голанг і є

Встановлення Docker CE на Ubuntu 16.04

Встановлення Docker CE на Ubuntu 16.04

Використання іншої системи? Docker — це програма, яка дозволяє розгортати програми, які запускаються як контейнери. Це було написано в популярному програмі Go

Виправлення експлойту Dirty Cow на CentOS

Виправлення експлойту Dirty Cow на CentOS

Що таке Dirty Cow (CVE-2016-5195)? Уразливість Dirty Cow використовується через те, як Linux обробляє код. Це дозволяє непривілейованому користувачеві використовувати gai

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Наявність лише одного користувача, який є root, може бути небезпечним. Тож давайте це виправимо. Vultr надає нам свободу робити з нашими користувачами та нашими серверами, що нам заманеться

Встановіть Adminer на Debian/Ubuntu

Встановіть Adminer на Debian/Ubuntu

Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться

Як встановити Nextcloud на Ubuntu 17.04

Як встановити Nextcloud на Ubuntu 17.04

У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування

Як встановити GoAccess на Ubuntu 16.04

Як встановити GoAccess на Ubuntu 16.04

Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше