{"id":1639,"date":"2017-06-14T20:18:35","date_gmt":"2017-06-14T14:48:35","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=1639"},"modified":"2026-09-12T12:29:15","modified_gmt":"2026-09-12T06:59:15","slug":"install-configure-fail2ban-ubuntu-16-04","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/install-configure-fail2ban-ubuntu-16-04\/","title":{"rendered":"Install Fail2ban on Ubuntu 16"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Server security is one of the most important aspects of system administration. Attackers frequently attempt to gain unauthorized access through services such as SSH, IMAP, POP3, and other network services by repeatedly trying different username and password combinations. To protect servers from such brute-force attacks, <strong>Fail2ban<\/strong> is widely used.<\/p>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Fail2ban is an intrusion prevention framework that monitors log files and automatically blocks IP addresses that generate multiple failed authentication attempts. By dynamically updating firewall rules, Fail2ban helps reduce unauthorized access attempts and improves overall server security.<\/p>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">In this tutorial, we will explain how to install and configure Fail2ban on <strong>Ubuntu 16.04<\/strong>. We will also demonstrate how to create a custom jail to block IP addresses that repeatedly fail IMAP and POP3 authentication on a mail server.<\/p>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Before proceeding, ensure that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You have root or sudo access to the Ubuntu server.<\/li>\n\n\n\n<li>The server is running Ubuntu 16.04.<\/li>\n\n\n\n<li>Internet connectivity is available to install required packages.<\/li>\n<\/ul>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install Fail2ban<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Install Fail2ban using the <code dir=\"ltr\">apt-get<\/code> package manager:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt-get update\napt-get install fail2ban<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Press <strong>Y<\/strong> when prompted to continue the installation.<\/p>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Enable Fail2ban at Boot<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Configure Fail2ban to start automatically whenever the server reboots:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl enable fail2ban<\/pre>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Start the Fail2ban Service<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Start the Fail2ban service:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl start fail2ban<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Verify the service status:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl status fail2ban<\/pre>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring Fail2ban for Dovecot (IMAP\/POP3)<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">The following configuration will automatically ban IP addresses that generate multiple failed IMAP or POP3 login attempts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Create a Local Configuration File<\/h3>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Instead of modifying the default configuration directly, create a local copy:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cp \/etc\/fail2ban\/jail.conf \/etc\/fail2ban\/jail.local<\/pre>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Configure a New Jail<\/h3>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Open the configuration file:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/etc\/fail2ban\/jail.local<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Append the following section:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[dovecot-pop3imap]\nenabled = true\nfilter = dovecot-pop3imap\nport = pop3,pop3s,imap,imaps\nlogpath = \/var\/log\/mail.log\nmaxretry = 20\nfindtime = 1200\nbantime = 3600<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Parameter Explanation<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Parameter<\/th><th>Description<\/th><\/tr><tr><td>enabled<\/td><td>Enables the jail<\/td><\/tr><tr><td>filter<\/td><td>Filter name used to detect failed logins<\/td><\/tr><tr><td>port<\/td><td>Ports monitored by the jail<\/td><\/tr><tr><td>logpath<\/td><td>Mail server log file location<\/td><\/tr><tr><td>maxretry<\/td><td>Maximum failed login attempts allowed<\/td><\/tr><tr><td>findtime<\/td><td>Time window (in seconds) for counting failures<\/td><\/tr><tr><td>bantime<\/td><td>Duration (in seconds) the IP remains blocked<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Create the Filter File<\/h3>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Create the filter definition file:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/etc\/fail2ban\/filter.d\/dovecot-pop3imap.conf<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Add the following content:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[Definition]\nfailregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \\(auth failed|Aborted login \\(tried to use disabled|Disconnected \\(auth failed|Aborted login \\(\\d+ authentication attempts).*rip=(?P&lt;host>\\S*),.*\nignoreregex =<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">This filter identifies failed IMAP and POP3 authentication attempts in the Dovecot mail logs.<\/p>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Restart Fail2ban<\/h3>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Apply the new configuration by restarting the service:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl restart fail2ban<\/pre>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Verify Fail2ban Status<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Check whether the service and jail are running correctly:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fail2ban-client status<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Example output:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Status\n|- Number of jail: 2\n`- Jail list: dovecot-pop3imap, sshd<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">To view detailed information about a specific jail:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fail2ban-client status dovecot-pop3imap<\/pre>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Viewing Fail2ban Logs<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Fail2ban maintains its logs in:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/var\/log\/fail2ban.log<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Monitor logs in real time:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">tail -f \/var\/log\/fail2ban.log<\/pre>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">This helps administrators verify banned IP addresses and troubleshoot configuration issues.<\/p>\n\n\n\n<div contenteditable=\"false\">\n<hr>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Benefits of Using Fail2ban<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Protects against brute-force login attacks.<\/li>\n\n\n\n<li>Automatically blocks malicious IP addresses.<\/li>\n\n\n\n<li>Supports multiple services including SSH, FTP, SMTP, IMAP, POP3, and web applications.<\/li>\n\n\n\n<li>Lightweight and easy to configure.<\/li>\n\n\n\n<li>Improves server security without additional hardware or software.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"isSelectedEnd wp-block-paragraph\">Fail2ban is a simple yet powerful security tool that helps protect Ubuntu servers from unauthorized access attempts and brute-force attacks. By monitoring authentication logs and automatically banning suspicious IP addresses, it significantly reduces the risk of compromised accounts and services.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Following the steps in this guide, you can successfully install Fail2ban on Ubuntu 16.04 and configure custom protection for Dovecot IMAP and POP3 services. Regularly reviewing Fail2ban logs and adjusting ban policies based on your environment will further strengthen your server&#8217;s security posture.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Frequently Asked Questions (FAQ)<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. How do I check which IP addresses are currently banned by Fail2ban?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You can view the list of banned IP addresses for a specific jail using:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fail2ban-client status dovecot-pop3imap<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example output:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Status for the jail: dovecot-pop3imap\n|- Filter\n|  |- Currently failed: 0\n|  |- Total failed: 45\n`- Actions\n   |- Currently banned: 3\n   |- Total banned: 10\n   `- Banned IP list: 192.168.1.10 203.0.113.15 198.51.100.25<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This command helps administrators monitor blocked IPs and verify that the jail is functioning correctly.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">2. How can I manually unban an IP address in Fail2ban?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">If a legitimate user is accidentally blocked, you can remove the ban using:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fail2ban-client set dovecot-pop3imap unbanip 192.168.1.10<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace <code>192.168.1.10<\/code> with the actual IP address you want to unblock. The IP will immediately regain access to the monitored service.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">3. Can Fail2ban protect services other than IMAP and POP3?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Fail2ban supports a wide range of services and applications, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SSH<\/li>\n\n\n\n<li>FTP servers<\/li>\n\n\n\n<li>SMTP mail servers<\/li>\n\n\n\n<li>Apache and Nginx web servers<\/li>\n\n\n\n<li>WordPress login pages<\/li>\n\n\n\n<li>MySQL authentication logs<\/li>\n\n\n\n<li>Custom applications with log files<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can enable built-in jails or create custom filters and jails to protect virtually any service that generates log entries for failed authentication attempts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Related Articles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re looking to expand your Fail2ban configuration and secure additional services, these guides may be helpful:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Add Exim Service to Fail2ban on Ubuntu<\/strong><br><a href=\"https:\/\/pheonixsolutions.com\/blog\/add-exim-service-fail2ban-ubuntu\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">Add Exim Service to Fail2ban on Ubuntu<\/a><\/li>\n\n\n\n<li><strong>Add PureFTP Service to Fail2ban on Ubuntu<\/strong><br><a href=\"https:\/\/pheonixsolutions.com\/blog\/add-pureftp-service-fail2ban-ubuntu\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">Add PureFTP Service to Fail2ban on Ubuntu<\/a><\/li>\n\n\n\n<li><strong>Install Jenkins on Ubuntu 16.04<\/strong><br><a href=\"https:\/\/pheonixsolutions.com\/blog\/install-jenkins-ubuntu-16\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">Install Jenkins on Ubuntu 16.04<\/a><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Talk to our experts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Looking for the right technology solution for your business? Our team of experts can help you with development, cloud, DevOps, design, and a wide range of other technology needs. Get in touch with our team&nbsp;<a href=\"https:\/\/pheonixsolutions.com\/contact\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Server security is one of the most important aspects of system administration. Attackers frequently attempt to gain unauthorized access [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1022],"tags":[348,274],"class_list":["post-1639","post","type-post","status-publish","format-standard","hentry","category-web-architecture","tag-fail2ban","tag-ubuntu","psol-cat-web-architecture"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/phn2x7-qr","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=1639"}],"version-history":[{"count":3,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1639\/revisions"}],"predecessor-version":[{"id":11708,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1639\/revisions\/11708"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=1639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=1639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=1639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}