
{"id":4550,"date":"2023-10-11T10:31:35","date_gmt":"2023-10-11T10:31:35","guid":{"rendered":"https:\/\/test.opensource-db.in\/wp1\/?p=4550"},"modified":"2023-11-21T10:08:25","modified_gmt":"2023-11-21T10:08:25","slug":"working-with-keepalived-and-selinux-ensuring-ha-and-security","status":"publish","type":"post","link":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/","title":{"rendered":"Working with Keepalived and SELinux: Ensuring HA and Security"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Introduction:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the realm of modern system administration, two paramount concerns often stand at the forefront: ensuring high availability and maintaining robust security. While high availability protocols and applications such as Keepalived have evolved to keep critical services online, SELinux, the Security-Enhanced Linux, has become a cornerstone for safeguarding system integrity. In this blog, we will delve into the synergy between Keepalived and SELinux. In this blog, you&#8217;ll ensure your services remain highly available and bolster the security fortifications of your Linux systems. Read on, as we explore the delicate balance between accessibility and defense in the realm of system administration. Apart from setting up this security groundwork, we&#8217;ll explore a few common issues faced while using keepalived scripts with SELinux in enforcing mode on Red Hat Enterprise Linux 8. We&#8217;ll discuss the error messages encountered and provide step-by-step instructions to resolve these problems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Challenge:<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Challenges often arise when running Keepalived scripts in conjunction with SELinux in Enforcing Mode, especially in High Availability setups. These challenges primarily revolve around executing custom scripts, as the tight security policies and permission restrictions can hinder their seamless operation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Error 1:<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Keepalived_vrrp&#91;10096]: Unsafe permissions found for script '\/usr\/libexec\/keepalived\/is_postgres_primary.sh' - disabling.\nKeepalived_vrrp&#91;10096]: Disabling track script postgres_service due to insecure\nKeepalived_vrrp&#91;10096]: Registering gratuitous ARP shared channel<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Error 2 (By script_user root in keepalived.conf):<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Keepalived_vrrp&#91;10127]: Unable to access script \/usr\/libexec\/keepalived\/is_postgres_primary.sh INSTANCENAME IP_TO_CHECK<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Resolution:<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>\/usr\/libexec\/keepalived<\/code> directory is automatically created and labeled with sufficient SELinux privileges. This directory is reserved for custom scripts created by users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Directory and Script Permissions: Opening Doors for Script<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure that the <code>\/usr\/libexec\/keepalived<\/code> directory and the custom script have the correct SELinux privileges and executable permissions (Should be the owner of the same user(script_user) in global_defs)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Set executable permissions for the script<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod o+x \/usr\/libexec\/keepalived\/is_postgres_primary.sh\n\n# Verify permissions\n\nls -l \"\/usr\/libexec\/keepalived\/is_postgres_primary.sh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. SELinux Policy and Software Versions: Updating for Success<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure you have the required versions of keepalived and SELinux policies installed. As of the date of writing this post:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>keepalived version should be above 1.3 or newer<\/li>\n\n\n\n<li>Ensure SELinux-policy and selinux-policy-targeted versions are at least 3.13.1-16.el7 or newer.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. Script Configuration: Setting Things Right<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Update the keepalived.conf file to include the correct script and permissions.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Update keepalived.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/keepalived\/keepalived.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global_defs {\n    script_user postgres postgres\n}\n\nvrrp_script postgres_service {\n    script \"\/usr\/libexec\/keepalived\/is_postgres_primary.sh\"\n    interval 2\n    rise 2\n    fall 2\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Service Status:<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Check the status of the keepalived service to ensure it&#8217;s running.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status keepalived.service<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion:<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the quest for a seamlessly functioning Keepalived setup in High Availability scenarios, tackling SELinux in enforcing mode can indeed be a formidable challenge. Our attempts were marred by script execution hurdles attributed to stringent security regulations and permission constraints. It began with cautionary warnings regarding unsafe permissions and access-related complications for our scripts. However, armed with the knowledge of the appropriate measures, we successfully navigated these obstacles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our journey commenced with the meticulous validation of SELinux privileges and executable permissions for both the script and its parent directory. This seemingly minor yet critical step was the key that unlocked previously obstructed pathways.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The following RedHat resources were a huge help, check them out:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/access.redhat.com\/solutions\/3880561\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/access.redhat.com\/solutions\/3880561<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction: In the realm of modern system administration, two paramount concerns often stand at the forefront: ensuring high availability and [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":4590,"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":"","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":""}},"footnotes":""},"categories":[23,42,89],"tags":[],"class_list":["post-4550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-postgresql-14","category-postgresql-15","category-postgresql-16"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Working with Keepalived and SELinux: Ensuring HA and Security - OpenSource DB<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Working with Keepalived and SELinux: Ensuring HA and Security - OpenSource DB\" \/>\n<meta property=\"og:description\" content=\"Introduction: In the realm of modern system administration, two paramount concerns often stand at the forefront: ensuring high availability and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/\" \/>\n<meta property=\"og:site_name\" content=\"OpenSource DB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-11T10:31:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-21T10:08:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Taraka Vuyyuru\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@opensource_db\" \/>\n<meta name=\"twitter:site\" content=\"@opensource_db\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Taraka Vuyyuru\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/\"},\"author\":{\"name\":\"Taraka Vuyyuru\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5\"},\"headline\":\"Working with Keepalived and SELinux: Ensuring HA and Security\",\"datePublished\":\"2023-10-11T10:31:35+00:00\",\"dateModified\":\"2023-11-21T10:08:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/\"},\"wordCount\":465,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png\",\"articleSection\":[\"PostgreSQL 14\",\"PostgreSQL 15\",\"PostgreSQL 16\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/\",\"name\":\"Working with Keepalived and SELinux: Ensuring HA and Security - OpenSource DB\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png\",\"datePublished\":\"2023-10-11T10:31:35+00:00\",\"dateModified\":\"2023-11-21T10:08:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png\",\"contentUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png\",\"width\":1080,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/test.opensource-db.in\/wp1\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Working with Keepalived and SELinux: Ensuring HA and Security\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#website\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/\",\"name\":\"OpenSource DB\",\"description\":\"Your Trusted OpenSource Databases partner\",\"publisher\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/test.opensource-db.in\/wp1\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\",\"name\":\"OPENSOURCE DB PRIVATE LIMITED\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png\",\"contentUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png\",\"width\":368,\"height\":120,\"caption\":\"OPENSOURCE DB PRIVATE LIMITED\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/\",\"https:\/\/x.com\/opensource_db\",\"https:\/\/www.youtube.com\/channel\/UCmTI5h\",\"https:\/\/www.linkedin.com\/company\/opensource-db\",\"https:\/\/www.instagram.com\/opensource_db\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5\",\"name\":\"Taraka Vuyyuru\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g\",\"caption\":\"Taraka Vuyyuru\"},\"url\":\"https:\/\/test.opensource-db.in\/wp1\/author\/taraka\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Working with Keepalived and SELinux: Ensuring HA and Security - OpenSource DB","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Working with Keepalived and SELinux: Ensuring HA and Security - OpenSource DB","og_description":"Introduction: In the realm of modern system administration, two paramount concerns often stand at the forefront: ensuring high availability and [&hellip;]","og_url":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/","og_site_name":"OpenSource DB","article_publisher":"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/","article_published_time":"2023-10-11T10:31:35+00:00","article_modified_time":"2023-11-21T10:08:25+00:00","og_image":[{"width":1080,"height":1080,"url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png","type":"image\/png"}],"author":"Taraka Vuyyuru","twitter_card":"summary_large_image","twitter_creator":"@opensource_db","twitter_site":"@opensource_db","twitter_misc":{"Written by":"Taraka Vuyyuru","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#article","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/"},"author":{"name":"Taraka Vuyyuru","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5"},"headline":"Working with Keepalived and SELinux: Ensuring HA and Security","datePublished":"2023-10-11T10:31:35+00:00","dateModified":"2023-11-21T10:08:25+00:00","mainEntityOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/"},"wordCount":465,"commentCount":0,"publisher":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#organization"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage"},"thumbnailUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png","articleSection":["PostgreSQL 14","PostgreSQL 15","PostgreSQL 16"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/","url":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/","name":"Working with Keepalived and SELinux: Ensuring HA and Security - OpenSource DB","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#website"},"primaryImageOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage"},"thumbnailUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png","datePublished":"2023-10-11T10:31:35+00:00","dateModified":"2023-11-21T10:08:25+00:00","breadcrumb":{"@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#primaryimage","url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png","contentUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png","width":1080,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/test.opensource-db.in\/wp1\/working-with-keepalived-and-selinux-ensuring-ha-and-security\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/test.opensource-db.in\/wp1\/"},{"@type":"ListItem","position":2,"name":"Working with Keepalived and SELinux: Ensuring HA and Security"}]},{"@type":"WebSite","@id":"https:\/\/test.opensource-db.in\/wp1\/#website","url":"https:\/\/test.opensource-db.in\/wp1\/","name":"OpenSource DB","description":"Your Trusted OpenSource Databases partner","publisher":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/test.opensource-db.in\/wp1\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/test.opensource-db.in\/wp1\/#organization","name":"OPENSOURCE DB PRIVATE LIMITED","url":"https:\/\/test.opensource-db.in\/wp1\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/","url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png","contentUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png","width":368,"height":120,"caption":"OPENSOURCE DB PRIVATE LIMITED"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/","https:\/\/x.com\/opensource_db","https:\/\/www.youtube.com\/channel\/UCmTI5h","https:\/\/www.linkedin.com\/company\/opensource-db","https:\/\/www.instagram.com\/opensource_db\/"]},{"@type":"Person","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5","name":"Taraka Vuyyuru","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g","caption":"Taraka Vuyyuru"},"url":"https:\/\/test.opensource-db.in\/wp1\/author\/taraka\/"}]}},"rttpg_featured_image_url":{"full":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",1080,1080,false],"landscape":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",1080,1080,false],"portraits":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",1080,1080,false],"thumbnail":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1-150x150.png",150,150,true],"medium":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1-300x300.png",300,300,true],"large":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1-1024x1024.png",1024,1024,true],"1536x1536":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",1080,1080,false],"2048x2048":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",1080,1080,false],"ultp_layout_landscape_large":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",800,800,false],"ultp_layout_landscape":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",570,570,false],"ultp_layout_portrait":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",600,600,false],"ultp_layout_square":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/10\/Blog-1.png",600,600,false]},"rttpg_author":{"display_name":"Taraka Vuyyuru","author_link":"https:\/\/test.opensource-db.in\/wp1\/author\/taraka\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-14\/\" rel=\"category tag\">PostgreSQL 14<\/a> <a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-15\/\" rel=\"category tag\">PostgreSQL 15<\/a> <a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-16\/\" rel=\"category tag\">PostgreSQL 16<\/a>","rttpg_excerpt":"Introduction: In the realm of modern system administration, two paramount concerns often stand at the forefront: ensuring high availability and [&hellip;]","_links":{"self":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/4550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/comments?post=4550"}],"version-history":[{"count":4,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/4550\/revisions"}],"predecessor-version":[{"id":4854,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/4550\/revisions\/4854"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/media\/4590"}],"wp:attachment":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/media?parent=4550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/categories?post=4550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/tags?post=4550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}