{"id":97224,"date":"2020-10-16T20:42:34","date_gmt":"2020-10-16T18:42:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/ustanovka-i-ekspluatacziya-rudder"},"modified":"2020-10-16T20:42:34","modified_gmt":"2020-10-16T18:42:34","slug":"ustanovka-i-ekspluatacziya-rudder","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ustanovka-i-ekspluatacziya-rudder","title":{"rendered":"Installation and operation of 'Rudder'","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/7db738d5178280b3af84077541c16e70.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Preface<\/h2>\n<p>Our 'friendship' began two years ago. I started a new job where the previous admin casually passed on this software to me. It was impossible to find anything online besides the official documentation. Even now, if you Google 'rudder,' in 99% of cases, you'll get results about ship steering wheels and drones. I managed to find my way around it. Since the community for this software is incredibly small, I decided to share my experience and the pitfalls I've encountered. I think it will be useful to someone.<\/p>\n<h2>So, Rudder <\/h2>\n<p>Rudder \u2014 is an open-source auditing and configuration management tool that helps automate system setup. It operates on the principle of installing an agent on each end user\u2019s device. Through a user-friendly interface, we can observe how well our infrastructure complies with all specified policies. <\/p>\n<h2>Using<\/h2>\n<p>Below, I will outline how I use Rudder.<\/p>\n<ul>\n<li>\n<p>File and config control: .\/ssh\/authorized_keys; \/etc\/hosts; iptables; (and then wherever imagination takes us)<\/p>\n<\/li>\n<li>\n<p> Control of installed packages: zabbix.agent or any other software<\/p>\n<\/li>\n<\/ul>\n<h2>Server Installation<\/h2>\n<p>Recently upgraded from version 5 to 6.1, everything went smoothly. Below are the commands for Debian\/Ubuntu, but support also exists for: <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.rudder.io\/reference\/6.1\/installation\/server\/rhel.html\">RHEL\/CentOS<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.rudder.io\/reference\/6.1\/installation\/server\/sles.html\">SLES<\/a><\/noindex>.<\/p>\n<p>I will hide the installation in spoilers so as not to distract you.<\/p>\n<p>Spoiler<\/p>\n<h2>Dependencies<\/h2>\n<p>For rudder-server, Java RE version 8 or higher is required, which can be installed from the standard repository:<\/p>\n<p>Check if it is installed<\/p>\n<pre><code class=\"bash\">java -version<\/code><\/pre>\n<p>if the output<\/p>\n<pre><code class=\"bash\">-bash: java: command not found<\/code><\/pre>\n<p>then we install it<\/p>\n<pre><code class=\"bash\">apt install default-jre<\/code><\/pre>\n<h2>Server<\/h2>\n<p>Import the key<\/p>\n<pre><code class=\"bash\">wget --quiet -O- \"https:\/\/repository.rudder.io\/apt\/rudder_apt_key.pub\" | sudo apt-key add -<\/code><\/pre>\n<p>Here is the fingerprint<\/p>\n<pre><code class=\"bash\">pub  4096R\/474A19E8 2011-12-15 Rudder Project (release key) \n      Key fingerprint = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8<\/code><\/pre>\n<p>Since we do not have a paid subscription, we add the following repository<\/p>\n<pre><code class=\"bash\">echo \"deb http:\/\/repository.rudder.io\/apt\/6.1\/ $(lsb_release -cs) main\" &gt; \/etc\/apt\/sources.list.d\/rudder.list<\/code><\/pre>\n<p>Update the repository list and install the server<\/p>\n<pre><code class=\"bash\">apt update\napt install rudder-server-root<\/code><\/pre>\n<p>Create an admin user<\/p>\n<pre><code class=\"bash\">rudder server create-user -u admin -p \"Your Password\"<\/code><\/pre>\n<p>In the future, we can manage users through the configuration<\/p>\n<p>All set, the server is ready.<\/p>\n<h2>Server Configuration<\/h2>\n<p>Now we need to add the IP addresses of the Rudder agents or an entire subnet, according to the security policy. <\/p>\n<p>Settings \u2192 General <\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/4a019dfffd6bc5de03b640bf6c13ff3a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>In the 'Add a network' field, enter the address and mask in the format x.x.x.x\/xx. To allow access from all addresses on the internal network (if this is a test network and you are behind NAT), enter: 0.0.0.0\/0 <\/p>\n<p><strong>Important \u2014 after adding the IP address, don\u2019t forget to click Save changes; otherwise, nothing will be saved.<\/strong><\/p>\n<h2>Ports<\/h2>\n<p>On the server, we open the following ports<\/p>\n<ul>\n<li>\n<p>443 \u2014 tcp<\/p>\n<\/li>\n<li>\n<p>5309 \u2014 tcp<\/p>\n<\/li>\n<li>\n<p>514 \u2014 udp<\/p>\n<\/li>\n<\/ul>\n<p>We have dealt with the initial server setup.<\/p>\n<\/p>\n<h2>Installing the Agent<\/h2>\n<p>Spoiler<\/p>\n<p>Adding the key<\/p>\n<pre><code class=\"bash\">wget --quiet -O- \"https:\/\/repository.rudder.io\/apt\/rudder_apt_key.pub\" | sudo apt-key add -<\/code><\/pre>\n<p>Key fingerprint<\/p>\n<pre><code class=\"bash\">pub  4096R\/474A19E8 2011-12-15 Rudder Project (release key) \n      Key fingerprint = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8<\/code><\/pre>\n<p>Adding the repository<\/p>\n<pre><code class=\"bash\">echo \"deb http:\/\/repository.rudder.io\/apt\/6.1\/ $(lsb_release -cs) main\" &gt; \/etc\/apt\/sources.list.d\/rudder.list<\/code><\/pre>\n<p>Installing the agent<\/p>\n<pre><code class=\"bash\">apt update\napt install rudder-agent<\/code><\/pre>\n<h2>Agent configuration<\/h2>\n<p>We will specify the agent's IP address of the policy server<\/p>\n<pre><code class=\"bash\">rudder agent policy-server  #Without brackets. You can also use the domain name <\/code><\/pre>\n<p>By running the following command, we will send a request to add the new agent to the server; in a couple of minutes, it will appear in the list of new agents. I will explain how to add it in the next section.<\/p>\n<pre><code class=\"bash\">rudder agent inventory<\/code><\/pre>\n<p>We can also forcibly start the agent, and it will send the request immediately.<\/p>\n<pre><code class=\"bash\">rudder agent run<\/code><\/pre>\n<p>Our agent is configured, let's move on.<\/p>\n<h2>Adding agents <\/h2>\n<p>We log in <\/p>\n<p>https:\/\/127.0.0.1\/rudder\/index.html<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/b3370143670761ca69c90270a11d773a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>In the 'Accept new nodes' section, your agent will appear; check the box and click Accept<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/a9702fcf43c4aef6733fb3d317884d60.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>It will take some time for the system to check the server for compliance. <\/p>\n<\/p>\n<h3>Creating server groups <\/h3>\n<p>Let's create a group (what a hassle), no idea why the developers made such a cumbersome group formation, but as far as I understand, there\u2019s no other way. Go to the Node management -&gt; Groups section and click Create, choose a static group and name it.<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/d220fff4e8a22d798f15c6f2eb0cc96f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>We filter the server we need based on specific features, for example, by IP address, and save it.<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/9ddb9315a651a0a6e1200adc584f4ffb.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>The group is configured.<\/p>\n<h3>Setting up rules<\/h3>\n<p>Go to Configuration policy \u2192 Rules, and create a new rule.<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/6cfa6e9f598e2b5610dfad8bd373e768.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Add the previously prepared group (this can also be done later).<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/edcde485f8cf1e493e66989f4b1cb399.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>And we create a new directive.<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/4ba3816e058d7fc175bc2e89dfab8cd1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Let's create a directive to add public keys to .ssh\/authorized_keys. I use this in the case of a new employee leaving, or as a precaution, for example, if someone accidentally deletes my key. <\/p>\n<p>Go to Configuration policy \u2192 Directives, on the left we see 'Directive library.' Find 'Remote access \u2192 SSH authorized keys,' and on the right, click Create Directive<\/p>\n<p>We enter the user's data and add their key. Then we choose the application policy.<\/p>\n<ul>\n<li>\n<p>Global \u2014 The policy set by default<\/p>\n<\/li>\n<li>\n<p>Enforce \u2014 Execute on selected servers<\/p>\n<\/li>\n<li>\n<p>Audit \u2014 Will conduct an audit and inform which clients have the key<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/4ebb8c98a480541acaa8b840bd909970.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>We must state our rule. <\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/b53807114e53994e20c233282f602b1c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Then we save it, and everything is ready. <\/p>\n<p>Checking<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/51cfd888b93d67d72caa5bd82cfc7e14.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Key successfully added.<\/p>\n<h2>Perks.<\/h2>\n<p>The agent provides complete information about the server, including lists of installed packages, interfaces, open ports, and much more that you can see in the screenshot below.<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/5e0db29e27d2fa97e3393afc912c4141.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>You can also install and manage software not only on Linux but also on Windows; I haven't checked the latter, as there was no need.<\/p>\n<h2>From the author.<\/h2>\n<p>You might ask, why reinvent the wheel when Ansible and Puppet have long existed?<\/p>\n<p>Let me answer: Ansible has its drawbacks; for instance, we cannot see the current state of this config, or the familiar situation when you run a role or playbook and encounter errors about crashes, leading you to investigate what package has been updated on the server. I have just not worked with Puppet. <\/p>\n<p>Does Rudder have any downsides? Yes, quite a few... Starting from agents falling off and needing to be reinstalled or using the rudder reset command (though, by the way, I haven't seen that in version 6), to extremely complicated setup and a non-intuitive interface.<\/p>\n<p>Are there any advantages? There are plenty: Unlike the well-known Ansible, we have a web interface that clearly shows our compliance. For example \u2014 are ports exposed to the outside world, what state is the firewall in, are security agents or other tools installed. <\/p>\n<p>This software is excellent for the information security department, as the state of the infrastructure will always be visible, and if any rules turn red, that is a reason to check the server. As I mentioned, I have been using Rudder for two years now, and if you delve into it a bit, life gets better. The most challenging aspect in a large infrastructure is not remembering the state of the server, whether a junior missed the installation of security agents or configured iptables correctly; Rudder will help keep you informed about all events. Knowledge is power! )<\/p>\n<p>P.S. It turned out much more than I planned; I won't describe how to install packages. If there are requests, I will write a second part.<\/p>\n<p>P.S.S This article is for informational purposes; I decided to share it as there is very little information available online. Perhaps this will be of interest to someone. Have a good day, dear friends :)<\/p>\n<p><strong>Advertising<\/strong><\/p>\n<p><strong>Epic servers<\/strong> \u2014 this <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr133\">VPS on Linux<\/a><\/noindex> or Windows with powerful AMD EPYC processors and very fast Intel NVMe disks. Hurry to order!<\/p>\n<p><img decoding=\"async\" alt=\"Installation and operation of &#039;Rudder&#039;\" src=\"\/wp-content\/uploads\/2020\/10\/907f0ce8236fd2e0e6cfae84e5530b6a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/522480\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 \u041d\u0430\u0448\u0430 &#171;\u0434\u0440\u0443\u0436\u0431\u0430&#187; \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0434\u0432\u0430 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434. \u042f \u043f\u0440\u0438\u0448\u0435\u043b \u043d\u0430 \u043d\u043e\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u044b, \u0433\u0434\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0430\u0434\u043c\u0438\u043d \u043d\u0435\u043f\u0440\u0438\u043d\u0443\u0436\u0434\u0435\u043d\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u043b \u043c\u043d\u0435 \u0432 \u043d\u0430\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u043e \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u043e\u0444\u0442\u0438\u043d\u0443. \u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043a\u0440\u043e\u043c\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430\u0439\u0442\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c. \u0414\u0430\u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441, \u0435\u0441\u043b\u0438 \u0437\u0430\u0433\u0443\u0433\u043b\u0438\u0442\u044c &#171;rudder&#187; \u0442\u043e \u0432 99% \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c: \u0448\u0442\u0443\u0440\u0432\u0430\u043b\u044b \u043a\u043e\u0440\u0430\u0431\u043b\u0435\u0439 \u0438 \u043a\u0432\u0430\u0434\u0440\u043e\u043a\u043e\u043f\u0442\u0435\u0440\u044b. \u041c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043a \u043d\u0435\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u041a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":97225,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-97224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435\u041d\u0430\u0448\u0430 &quot;\u0434\u0440\u0443\u0436\u0431\u0430&quot; \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0434\u0432\u0430 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ustanovka-i-ekspluatacziya-rudder\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u00abRudder\u00bb | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435\u041d\u0430\u0448\u0430 &quot;\u0434\u0440\u0443\u0436\u0431\u0430&quot; \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0434\u0432\u0430 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ustanovka-i-ekspluatacziya-rudder\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-16T18:42:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-16T18:42:34+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Installation and operation of 'Rudder' | ProHoster","description":"Foreword Our \"friendship\" began two years ago.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ustanovka-i-ekspluatacziya-rudder","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u00abRudder\u00bb | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435\u041d\u0430\u0448\u0430 &quot;\u0434\u0440\u0443\u0436\u0431\u0430&quot; \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0434\u0432\u0430 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ustanovka-i-ekspluatacziya-rudder","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-16T18:42:34+00:00","article:modified_time":"2020-10-16T18:42:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"97224","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:24:27","updated":"2022-10-02 23:51:13","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/97224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=97224"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/97224\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/97225"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=97224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=97224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=97224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}