
{"id":765,"date":"2010-08-09T08:45:54","date_gmt":"2010-08-09T11:45:54","guid":{"rendered":"https:\/\/www.talsoft-security.com\/site\/?p=765"},"modified":"2010-08-09T08:45:54","modified_gmt":"2010-08-09T11:45:54","slug":"fortificacion-de-mysql-13-2","status":"publish","type":"post","link":"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/","title":{"rendered":"Fortificaci\u00f3n de MySQL &#8211; 1\/3"},"content":{"rendered":"<div>MySQL se ha convertido en el motor de  bases de datos m\u00e1s usado y potente del mundo opensource. Pero debido a  la versatilidad que ofrece,\u00a0 la configuraci\u00f3n por defecto en los  paquetes de distribuci\u00f3n y el suyo propio no considera todos los  aspectos de seguridad que se han de contemplar en un entorno controlado.<\/div>\n<div>Las siguientes entradas pretenden  enumerar brevemente cuales son los puntos m\u00e1s importantes que se  deber\u00edan revisar en una implantaci\u00f3n segura de esta aplicaci\u00f3n.<\/div>\n<div>El archivo de configuraci\u00f3n de MySQL se encuentra en el archivo: &#8220;<em>C:\\Program Files\\MySQL\\MySQL Server 5.x<\/em>&#8221; en el caso de Windows o <em>\/etc\/mysql\/my.cnf <\/em>en el caso de sistemas Linux.<\/div>\n<div><strong>1.- Restringir o deshabilitar el acceso mediante red<\/strong>:  si el servicio se encuentra en el mismo equipo que la aplicaci\u00f3n que  realiza las consultas no es necesario que mysql escuche peticiones en  todos los interfaces de red. Una de las medidas m\u00e1s importantes es dejar  \u00fanicamente el puerto abierto en aquellas IPs donde sea estrictamente  necesario. Para efectuar este cambio y que solo se pueda conectar  localmente, en la secci\u00f3n<em> [mysqld] <\/em>indicar:<\/div>\n<pre>[mysqld]\r\nbind-address=127.0.0.1\r\n<\/pre>\n<p>Si por el contrario queremos deshabilitar por completo el acceso  mediante un socket de red, basta con a\u00f1adir la directiva skip-network:<\/p>\n<pre>[mysqld]\r\nskip-networking\r\n<\/pre>\n<p>Por \u00faltimo, si se ha de utilizar el servicio en remoto, todos los  usuarios de las aplicaciones que conecten deben estar limitados mediante  su direcci\u00f3n de origen (host). Desde el prompt de mysql:<\/p>\n<pre>mysql&gt; GRANT SELECT, INSERT ON basededatos.* TO 'usuario'@'host';\r\n<\/pre>\n<div><strong>2.- Eliminar el acceso a la tabla &#8220;user&#8221; de la base de datos a todos los usuarios excepto los de administraci\u00f3n:<\/strong> de esta forma otros usuarios del motor no podr\u00e1n consultar las contrase\u00f1as y accesos que contiene MySQL.<\/p>\n<p>Para ver los privilegios de un usuario:<\/p>\n<pre>mysql&gt; SHOW GRANTS FOR 'usuario'@'host';\r\n<\/pre>\n<p>Para eliminar privilegios:<\/p>\n<pre>mysql&gt; REVOKE ALL PRIVILEGES, GRANT OPTION FROM usuario;\r\n<\/pre>\n<p><strong>3.- Deshabilitar el uso de LOCAL INFILE: <\/strong>mediante estos permisos  se pueden leer ficheros del sistema operativo desde la base de datos,  algo com\u00fan cuando se explota una inyecci\u00f3n de c\u00f3digo SQL. Para  deshabilitar esta funci\u00f3n se configura la variable local-infile a 0:<\/p>\n<pre>[mysqld]\r\nset-variable=local-infile=0\r\n<\/pre>\n<p><strong>4.- Cambio de nombre de usuario root y su contrase\u00f1a:<\/strong> al igual  que en los sistemas operativos, se recomienda que el administrador de la  base de datos no sea el usuario root y mantenga una contrase\u00f1a segura.  Si MySQL es una versi\u00f3n superior a 5.0.2<\/p>\n<pre>mysql&gt; RENAME USER root TO r00tz\r\n<\/pre>\n<p>En caso de que la versi\u00f3n de MySQL sea inferior:<\/p>\n<pre>mysql&gt; use mysql;\r\nmysql&gt; update user set user=\"nuevousuario\" where user=\"root\";\r\nmysql&gt; flush privileges;\r\n<\/pre>\n<p>Para modificar la contrase\u00f1a de un usuario se puede utilizar el comando mysqladmin o se puede hacer mediante SQL:<\/p>\n<pre>mysql&gt; use mysql;\r\nmysql&gt; SET PASSWORD FOR 'username'@'%hostname' = PASSWORD('newpass');\r\n<\/pre>\n<p><strong>5.- Eliminar la base de datos &#8220;test&#8221;:<\/strong> que se distribuye con el servicio y no es necesaria. Para hacerlo directamente en SQL:<\/p>\n<pre>mysql&gt; drop database test;\r\n<\/pre>\n<p>O mediante l\u00ednea de comandos:<\/p>\n<pre>shell&gt; mysqladmin -u username -p drop test\u00a0\r\n<\/pre>\n<p><strong>6.- Eliminaci\u00f3n de cuentas obsoletas y acceso an\u00f3nimo:<\/strong> que son creadas en algunas instalaciones de MySQL, para comprobar si existen este tipo de usuarios:<\/p>\n<pre>mysql&gt; select * from mysql.user where user=\"\";\r\n<\/pre>\n<p>Si se muestran usuarios, se pueden eliminar mediante DROP USER (en MySQL 5)<\/p>\n<pre>mysql&gt; DROP USER \"\";\r\n<\/pre>\n<p>Si la versi\u00f3n de MySQL es inferior a 5.0:<\/p>\n<pre>mysql&gt; use mysql;\r\nmysql&gt; DELETE FROM user WHERE user=\"\";\r\nmysql&gt; flush privileges;\r\n<\/pre>\n<p><strong>Referencias:<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/www.greensql.net\/publications\/mysql-security-best-practices\" target=\"_blank\">http:\/\/www.greensql.net\/publications\/mysql-security-best-practices<\/a><\/li>\n<li><a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/default-privileges.html\" target=\"_blank\">http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/default-privileges.html<\/a><\/li>\n<li><a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/security-guidelines.html\" target=\"_blank\">http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/security-guidelines.html<\/a><\/li>\n<li><a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.1\/en\/replication-solutions-ssl.html\" target=\"_blank\">http:\/\/dev.mysql.com\/doc\/refman\/5.1\/en\/replication-solutions-ssl.html<\/a><\/li>\n<\/ul>\n<p>Fuente:\u00a0 SecurityByDefault<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>MySQL se ha convertido en el motor de bases de datos m\u00e1s usado y potente del mundo opensource. Pero debido a la versatilidad que ofrece,\u00a0 la configuraci\u00f3n por defecto en los paquetes de distribuci\u00f3n y el suyo propio no considera todos los aspectos de seguridad que se han de contemplar en un entorno controlado. Las [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-765","post","type-post","status-publish","format-standard","hentry","category-profesional"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>TalSoft - Seguridad Inform\u00e1tica Empresarial - Fortificaci\u00f3n de MySQL - 1\/3<\/title>\n<meta name=\"description\" content=\"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leandro Ferrari\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated 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:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/\"},\"author\":{\"name\":\"Leandro Ferrari\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8\"},\"headline\":\"Fortificaci\u00f3n de MySQL &#8211; 1\/3\",\"datePublished\":\"2010-08-09T11:45:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/\"},\"wordCount\":541,\"publisher\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#organization\"},\"articleSection\":[\"Profesional\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/\",\"name\":\"TalSoft - Seguridad Inform\u00e1tica Empresarial - Fortificaci\u00f3n de MySQL - 1\/3\",\"isPartOf\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#website\"},\"datePublished\":\"2010-08-09T11:45:54+00:00\",\"description\":\"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#website\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/\",\"name\":\"TalSoft TS - Services IT Security\",\"description\":\"Talsoft is transforming awareness, control and decision-making power so that companies can protect their critical and confidential information from computer attacks.\",\"publisher\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.talsoft-security.com\/site\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#organization\",\"name\":\"Talsoft TS\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png\",\"contentUrl\":\"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png\",\"width\":270,\"height\":125,\"caption\":\"Talsoft TS\"},\"image\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.facebook.com\/talsoftsrl\",\"https:\/\/x.com\/talsoft\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8\",\"name\":\"Leandro Ferrari\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g\",\"caption\":\"Leandro Ferrari\"},\"sameAs\":[\"http:\/\/www.talsoft.com.ar\",\"https:\/\/www.facebook.com\/talsoftsrl\/\",\"https:\/\/x.com\/avatar_leandro\"],\"url\":\"https:\/\/www.talsoft-security.com\/site\/author\/leandro\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TalSoft - Seguridad Inform\u00e1tica Empresarial - Fortificaci\u00f3n de MySQL - 1\/3","description":"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/","twitter_misc":{"Written by":"Leandro Ferrari","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/#article","isPartOf":{"@id":"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/"},"author":{"name":"Leandro Ferrari","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8"},"headline":"Fortificaci\u00f3n de MySQL &#8211; 1\/3","datePublished":"2010-08-09T11:45:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/"},"wordCount":541,"publisher":{"@id":"https:\/\/www.talsoft-security.com\/site\/#organization"},"articleSection":["Profesional"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/","url":"https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/","name":"TalSoft - Seguridad Inform\u00e1tica Empresarial - Fortificaci\u00f3n de MySQL - 1\/3","isPartOf":{"@id":"https:\/\/www.talsoft-security.com\/site\/#website"},"datePublished":"2010-08-09T11:45:54+00:00","description":"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.","inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.talsoft-security.com\/site\/fortificacion-de-mysql-13-2\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.talsoft-security.com\/site\/#website","url":"https:\/\/www.talsoft-security.com\/site\/","name":"TalSoft TS - Services IT Security","description":"Talsoft is transforming awareness, control and decision-making power so that companies can protect their critical and confidential information from computer attacks.","publisher":{"@id":"https:\/\/www.talsoft-security.com\/site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.talsoft-security.com\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.talsoft-security.com\/site\/#organization","name":"Talsoft TS","url":"https:\/\/www.talsoft-security.com\/site\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/","url":"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png","contentUrl":"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png","width":270,"height":125,"caption":"Talsoft TS"},"image":{"@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.facebook.com\/talsoftsrl","https:\/\/x.com\/talsoft"]},{"@type":"Person","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8","name":"Leandro Ferrari","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g","caption":"Leandro Ferrari"},"sameAs":["http:\/\/www.talsoft.com.ar","https:\/\/www.facebook.com\/talsoftsrl\/","https:\/\/x.com\/avatar_leandro"],"url":"https:\/\/www.talsoft-security.com\/site\/author\/leandro\/"}]}},"_links":{"self":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts\/765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/comments?post=765"}],"version-history":[{"count":1,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts\/765\/revisions"}],"predecessor-version":[{"id":766,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts\/765\/revisions\/766"}],"wp:attachment":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/media?parent=765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/categories?post=765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/tags?post=765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}