{"id":264127,"date":"2021-06-01T21:00:04","date_gmt":"2021-06-01T18:00:04","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/"},"modified":"2021-06-01T21:00:04","modified_gmt":"2021-06-01T18:00:04","slug":"how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/","title":{"rendered":"#How to Automate Docker Security Audits with Docker Bench for Security \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a4169eee13e6\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a4169eee13e6\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Running_the_Script\" >Running the Script<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Understanding_the_Report\" >Understanding the Report<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Host_Configuration\" >Host Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Daemon_Configuration\" >Daemon Configuration<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Container_Images\" >Container Images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Container_Runtime\" >Container Runtime<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Docker_Swarm\" >Docker Swarm<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Addressing_Common_Issues\" >Addressing Common Issues<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Enabling_Auditing_for_Docker_Files\" >Enabling Auditing for Docker Files<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Strengthening_the_Daemon\" >Strengthening the Daemon<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Customizing_Report_Output\" >Customizing Report Output<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automate-docker-security-audits-with-docker-bench-for-security-cloudsavvy-it\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Automate Docker Security Audits with Docker Bench for Security \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage alignnone wp-image-503 size-full\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/06\/c454d054.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Docker logo\" width=\"700\" height=\"300\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Docker\u2019s convenient, but it can be a security risk, too. It\u2019s important to protect Docker Engine against possible threats, especially if you\u2019re running a Docker host in production.<\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/docker\/docker-bench-security\">Docker Bench for Security<\/a> is an automated <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">script<\/a> that can help you find issues with your configuration. The Bench script scans your host to find weaknesses in your Docker Engine setup. It\u2019s provided by Docker itself as an open-source, security-auditing tool.<\/p>\n<h2 id=\"running-the-script\"><span class=\"ez-toc-section\" id=\"Running_the_Script\"><\/span>Running the Script<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The easiest way to use Docker Bench is to download the script and run it directly. You can inspect it <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/docker\/docker-bench-security\/blob\/master\/docker-bench-security.sh\">on GitHub<\/a> if you\u2019re concerned about its contents.<br \/>Use Git to clone the Bench repository. Execute the script using your shell. Docker Bench should be run with <code>sudo<\/code>, as it includes checks that require root access.<\/p>\n<pre>git clone https:\/\/github.com\/docker\/docker-bench-security.git&#13;\ncd docker-bench-security&#13;\nsudo sh docker-bench-security.sh<\/pre>\n<p>You\u2019ll see the audit results displayed in your terminal. Scanning will take several seconds. It might be a minute or more if you have a lot of running containers.<\/p>\n<h2 id=\"understanding-the-report\"><span class=\"ez-toc-section\" id=\"Understanding_the_Report\"><\/span>Understanding the Report<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The report\u2019s color-coded, so you can quickly identify issues. Blue <code>INFO<\/code> lines log entry into different scanning sections. A green <code>PASS<\/code> line shows that your system met the check. Red <code>WARN<\/code> lines are indicative of a potential vulnerability.<br \/><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11566\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/05\/dbdcb70a.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1304\" height=\"732\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><br \/>Docker Bench runs over 200 individual checks in total. The exhaustive list is available <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/docker\/docker-bench-security\/blob\/master\/tests\/TESTS.md\">in the project\u2019s GitHub repository<\/a>. Here\u2019s how tests are categorized.<\/p>\n<h3 id=\"host-configuration\"><span class=\"ez-toc-section\" id=\"Host_Configuration\"><\/span>Host Configuration<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This group of tests focuses on weaknesses in your host\u2019s security auditing. Checks are made for proper auditing of Docker directories, use of a dedicated partition for containers, and installation of an updated Docker version.<\/p>\n<h3 id=\"daemon-configuration\"><span class=\"ez-toc-section\" id=\"Daemon_Configuration\"><\/span>Daemon Configuration<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The daemon-oriented tests check for the Docker\u2019s socket not being exposed over an unsecured connection. Network traffic between containers on the default <code>bridge<\/code> network should be restricted and insecure registries removed.<\/p>\n<p>This section also looks for inappropriate privilege grants to containers. Containers shouldn\u2019t be able to acquire new privileges. This could allow an attacker to outgrow the container.<\/p>\n<p>The next section, Docker daemon configuration files, has a similar focus. It ensures that the Docker installation directory and Unix socket have appropriate permissions and ownership. Docker\u2019s filesystem should be owned by <code>root:root<\/code> with restrictive permissions of <code>644<\/code>.<\/p>\n<h2 id=\"container-images\"><span class=\"ez-toc-section\" id=\"Container_Images\"><\/span>Container Images<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Docker Bench performs a basic check of the Dockerfiles for your known images. It will look for dedicated container users, the presence of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/reference\/builder\/#healthcheck\"><code>HEALTHCHECK<\/code> instructions<\/a>, and the use of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/security\/trust\">Content Trust<\/a> to verify data integrity.<\/p>\n<p>This test section will also emit warnings that remind you of basic image-hardening steps. Use trusted base images, apply new security patches, and avoid the installation of unnecessary packages. These measures help to eliminate vulnerabilities <em>within<\/em> containers.<\/p>\n<h2 id=\"container-runtime\"><span class=\"ez-toc-section\" id=\"Container_Runtime\"><\/span>Container Runtime<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The Container Runtime tests inspect your running containers. This section contains over 30 tests, ranging from SELinux and AppArmor availability to the use of appropriate filesystem mounts and networking options.<\/p>\n<p>You\u2019ll drop points if you use privileged containers or mount the Docker socket into a container. Containers must not be able to gain additional privileges or interfere with the host system.<\/p>\n<p>Bench also looks for SSH servers running <em>inside<\/em> containers. This is inadvisable, as direct container access should be avoided. It\u2019s preferable to use <code>docker exec<\/code> from the host to interact with containers.<\/p>\n<p>Additional tests look at the use of CPU and memory limits. An unlimited container could consume excessive resources and eventually cause an out-of-memory condition on the host. Networking checks flag unused ports as well as requests to map privileged ports into containers.<\/p>\n<h2 id=\"docker-swarm\"><span class=\"ez-toc-section\" id=\"Docker_Swarm\"><\/span>Docker Swarm<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Docker Bench includes an additional section for Docker Swarm users. It focuses on flagging unsecured secrets and certificates that aren\u2019t being rotated correctly. It also requires correct networking configuration, including the use of encrypted <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.docker.com\/network\/overlay\">overlay networks<\/a>.<\/p>\n<p>The Swarm section will raise a warning if Swarm mode is enabled but not actually used. If you don\u2019t plan on using Swarm, turn it off by running <code>docker swarm leave --force<\/code>.<\/p>\n<h2 id=\"addressing-common-issues\"><span class=\"ez-toc-section\" id=\"Addressing_Common_Issues\"><\/span>Addressing Common Issues<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Most Docker hosts will present several warnings if you haven\u2019t taken active steps to harden them. Here are some measures that you can take to address some of the most common Docker Bench reports.<\/p>\n<h3 id=\"enabling-auditing-for-docker-files\"><span class=\"ez-toc-section\" id=\"Enabling_Auditing_for_Docker_Files\"><\/span>Enabling Auditing for Docker Files<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Docker advises the use of system-level auditing on key Docker directories. Auditing logs any operations that affect monitored files and directories. This lets you track potentially destructive changes.<\/p>\n<p>Make sure that you have\u00a0<code>auditd<\/code> installed. Edit <code>\/etc\/audit\/audit.rules<\/code> and add the following lines to the bottom of the file:<\/p>\n<pre>-w \/etc\/default\/docker -p wa&#13;\n-w \/etc\/docker -p wa&#13;\n-w \/etc\/docker\/daemon.json -p wa&#13;\n-w \/lib\/systemd\/system\/docker.service -p wa&#13;\n-w \/lib\/systemd\/system\/docker.socket -p wa&#13;\n-w \/usr\/bin\/docker -p wa&#13;\n-w \/usr\/bin\/docker-containerd -p wa&#13;\n-w \/usr\/bin\/docker-runc -p wa&#13;\n-w \/var\/lib\/docker -p wa<\/pre>\n<p>The <code>-p wa<\/code> instruction means that\u00a0<code>auditd<\/code> will log writes and attribute changes that affect the files. If your Docker Bench output suggests that you use auditing for additional directories, add them to the list, too. Docker\u2019s directories might change over time.<\/p>\n<p>You\u2019ll need to restart <code>auditd<\/code> to apply your changes:<\/p>\n<pre>sudo systemctl restart auditd<\/pre>\n<h3 id=\"strengthening-the-daemon\"><span class=\"ez-toc-section\" id=\"Strengthening_the_Daemon\"><\/span>Strengthening the Daemon<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Docker Bench will usually find issues with your daemon configuration. Adding the following to <code>\/etc\/docker\/daemon.json<\/code> will quiet several daemon warnings.<\/p>\n<pre class=\"json\"><code>{&#13;\n    \"icc\": false,&#13;\n    \"live-restore\": true,&#13;\n    \"no-new-privileges\": true,&#13;\n    \"userland-proxy\": false,&#13;\n    \"userns-remap\": \"default\"&#13;\n}<\/code><\/pre>\n<ul>\n<li><strong>icc:\u00a0<\/strong>This prevents containers from communicating with each other over the default <code>bridge<\/code> network. Containers will only reach each other if they\u2019re explicitly linked together using a\u00a0<code>--link<\/code>.<\/li>\n<li><strong>live-restore:<\/strong>\u00a0Setting this allows containers to keep running even if the daemon stops. This is advisable in production environments where you want to minimize downtime.<\/li>\n<li><strong>no-new-privileges:<\/strong>\u00a0This prevents containers from elevating their privileges using commands such as <code>setuid<\/code> and <code>setgid<\/code>.<\/li>\n<li><strong>userland-proxy:\u00a0<\/strong>Disabling this means that\u00a0<code>iptables<\/code> is used to route host port traffic into containers. Without it, Docker\u2019s userland proxy process is used, which increases the attack surface of your daemon.<\/li>\n<li><strong>userns-remap:\u00a0<\/strong>This enables the use of user namespaces, so <code>root<\/code> in a container maps to a less privileged host user. This reduces the risk of a compromised container being able to run <code>root<\/code> commands on your host. Using <code>default<\/code> will instruct Docker to set up a dedicated user account for this purpose.<\/li>\n<\/ul>\n<p><strong>RELATED:<\/strong> <strong><em>How to Use Cron With Your Docker Containers<\/em><\/strong><\/p>\n<h2 id=\"customising-report-output\"><span class=\"ez-toc-section\" id=\"Customizing_Report_Output\"><\/span>Customizing Report Output<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Docker Bench supports several flags that you can use to adjust its output:<\/p>\n<ul>\n<li><strong>-b:\u00a0<\/strong>Disable colors. Useful if you\u2019re running the script in a CI environment that doesn\u2019t support full ANSI output.<\/li>\n<li><strong>-p:\u00a0<\/strong>Do not include suggested re<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/social-mediaa\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Social Media\" target=\"_blank\" rel=\"noopener\">media<\/a>tion measures. Helpful when you want to focus on the warnings and reduce the noise in the output.<\/li>\n<li><strong>-l report.txt:\u00a0<\/strong>Write output to <code>report.txt<\/code> instead of the terminal.<\/li>\n<li><strong>-c check_5.1,check_5.2:\u00a0<\/strong>Run checks 5.1 and 5.2 only. The test list is available <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/docker\/docker-bench-security\/blob\/master\/tests\/TESTS.md\">on GitHub<\/a>.<\/li>\n<li><strong>-e check_5.1,check_5.2:\u00a0<\/strong>Exclude checks 5.1 and 5.2.<\/li>\n<\/ul>\n<p>You can combine flags together to produce the report that you need. If a whole section of checks doesn\u2019t apply to you, consider creating a shell alias so that you can quickly run Docker Bench with a sequence of flags applied.<\/p>\n<h2 id=\"conclusion\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Using the Docker Bench for Security script helps you find and resolve weaknesses in your Docker host\u2019s security. Addressing any warnings that it emits will help to harden your host and improve your security posture.<\/p>\n<p>Remember that Docker Bench isn\u2019t an exhaustive test. There are other aspects to maintaining Docker security that shouldn\u2019t be overlooked either.<\/p>\n<p>A compromised container could give attackers a foothold into your systems, even if you have strong host-level security. You can reduce this risk by using Docker Bench, alongside active container vulnerability scanners like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/aquasecurity\/trivy\">Trivy<\/a> and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/quay\/clair\">Clair<\/a>. These will help you identify problems <em>within<\/em> your containers, such as outdated dependencies that could be exploited.<\/p>\n<p>While a good secure is always the target, you should also note that Docker Bench is aimed at production workloads. Not all of the checks are relevant to a developer\u2019s local Docker installation. Run the script, read the warnings, and assess which ones apply to your environment.\n<\/p><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/11563\/how-to-automate-docker-security-audits-with-docker-bench-for-security\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Automate Docker Security Audits with Docker Bench for Security \u2013 CloudSavvy IT&#8221; Docker\u2019s convenient, but it can be a security risk, too. It\u2019s important to protect Docker Engine against possible threats, especially if you\u2019re running a Docker host in production. Docker Bench for Security is an automated script that can help you find&#8230;<\/p>\n","protected":false},"author":1,"featured_media":264128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/06\/c454d054.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-264127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/264127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=264127"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/264127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/264128"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=264127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=264127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=264127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}