{"id":30716,"date":"2019-10-31T21:37:05","date_gmt":"2019-10-31T18:37:05","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-zapretit-standartnye-paroli-i-zastavit-vseh-tebya-nenavidet\/"},"modified":"2019-10-31T21:37:05","modified_gmt":"2019-10-31T18:37:05","slug":"kak-zapretit-standartnye-paroli-i-zastavit-vseh-tebya-nenavidet","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-zapretit-standartnye-paroli-i-zastavit-vseh-tebya-nenavidet","title":{"rendered":"How to prohibit standard passwords and make everyone hate you","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>As we know, humans are lazy creatures. <br \/>\nEspecially when it comes to choosing a strong password.<\/p>\n<p>I believe every administrator has faced the issue of using easy and standard passwords at some point. This phenomenon is quite common among the upper echelons of company management. Yes, indeed, among those who have access to secret or commercial information, and it would be extremely undesirable to deal with the consequences of a password leak\/hack and subsequent incidents.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIn my experience, there was a case where in an Active Directory domain with password policy enabled, accountants independently came up with the idea that a password like 'Pas$w0rd1234' fits the policy's requirements perfectly. The result was widespread usage of this password everywhere you looked. It sometimes only differed by a few digits. <\/p>\n<p>I really wanted to have the ability not only to enable a password policy and define the character set but also to filter against a dictionary. To exclude the possibility of using such passwords.<\/p>\n<p>Microsoft kindly informs us via a link that anyone who knows how to handle a compiler, an IDE, and can correctly pronounce C++ can compile the necessary library for themselves and use it as they see fit. Your humble servant is not capable of such things, so I had to look for a ready-made solution.<\/p>\n<p>After a long hour of searching, two solution options were presented to my eyes. I am, of course, talking about the OpenSource solution. After all, there are paid options\u2014from A to Z.<\/p>\n<p><u>Option \u21161.<\/u> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jephthai\/OpenPasswordFilter\"><b>OpenPasswordFilter<\/b><\/a><\/noindex><\/p>\n<p>No commits for about two years. The native installer works inconsistently, requiring manual adjustments. It creates its own separate service. When updating the password file, the DLL does not automatically pick up the modified content; you need to stop the service, wait for a timeout, edit the file, and restart the service. <\/p>\n<p><b><u>Not great!<\/u><\/b><\/p>\n<p><u>Option \u21162.<\/u> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ryanries\/PassFiltEx\"><b>PassFiltEx<\/b><\/a><\/noindex><\/p>\n<p>The project is active, alive, and doesn't even need a push to keep going.<br \/>\nSetting up the filter involves copying two files and creating several registry entries. The password file is not in a lock, meaning it is editable and, according to the author's design, is simply read every minute. Additionally, with extra registry entries, you can perform further customization of both the filter itself and the intricacies of the password policy.<\/p>\n<p>So. <br \/>\nGiven: Active Directory domain test.local<br \/>\n test workstation Windows 8.1 (which is irrelevant for the task conditions)<br \/>\n PassFiltEx password filter<\/p>\n<ul>\n<li>Download the latest release from the link <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ryanries\/PassFiltEx\/releases\">PassFiltEx<\/a><\/noindex><\/li>\n<li>Copying <i>PassFiltEx.dll<\/i> downward API support (simultaneously with this in <i>C:\\Windows\\System32<\/i> (or <i>%SystemRoot%\\System32<\/i>).<br \/>\nCopying <i>PassFiltExBlacklist.txt<\/i> downward API support (simultaneously with this in <i>C:\\Windows\\System32<\/i> (or <i>%SystemRoot%\\System32<\/i>). If necessary, add your own templates<br \/>\n<img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/c14d6bbd157b85ff4834caab40dbf0c7.png\" style=\"display:block;margin: 0 auto;\" \/>\n<\/li>\n<li>Editing the registry branch: <b>HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa<\/b> =&gt; <i>Notification Packages<\/i><br \/>\nAdd <i>PassFiltEx<\/i> at the end of the list. (No need to specify the extension.) The complete list of packages used for verification will look like this &#171;<i>rassfm scecli PassFiltEx<\/i>&#171;.<br \/>\n<img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/438c34e142f15140860a1f2cf9d007af.png\" style=\"display:block;margin: 0 auto;\" \/>\n<\/li>\n<li>Restart the domain controller.<\/li>\n<li>Repeat the above procedure for all domain controllers.<\/li>\n<\/ul>\n<p>\nYou can also add the following registry entries, which provide greater flexibility in using this filter:<\/p>\n<p>Section: <b>HKLM\\SOFTWARE\\PassFiltEx<\/b> \u2014 created automatically.<\/p>\n<ul>\n<li> <b>HKLM\\SOFTWARE\\PassFiltExBlacklistFileName<\/b>, REG_SZ, Default: PassFiltExBlacklist.txt\n<p><i>BlacklistFileName<\/i> \u2014 allows you to specify a custom path to the file with password templates. If this registry entry has an empty value or does not exist, the default path will be used, namely \u2014 <i>%SystemRoot%\\System32<\/i>. You can even specify a network path, BUT you must remember that the password template file must have clear read, write, delete, and modify permissions.\n<\/li>\n<li> <b>HKLM\\SOFTWARE\\PassFiltExTokenPercentageOfPassword<\/b>, REG_DWORD, Default: 60\n<p><i>TokenPercentageOfPassword<\/i> \u2014 allows you to specify the percentage occurrence of the mask in the new password. By default, the value is 60%. For example, if the occurrence percentage is set to 60 and the template file contains the string starwars, then the password <b>Starwars1!<\/b> will be rejected, while the password <b>starwars1!DarthVader88<\/b> will be accepted since the percentage occurrence of the string in the password is less than 60%\n<\/li>\n<li> <b>HKLM\\SOFTWARE\\PassFiltExRequireCharClasses<\/b>, REG_DWORD, Default: 0\n<p><i>RequireCharClasses<\/i> \u2014 allows for extending password requirements beyond the standard complexity requirements of Active Directory. The built-in complexity requirements necessitate 3 out of 5 possible different types of characters: Uppercase, Lowercase, Digit, Special, and Unicode. With this registry key, you can set your own password complexity requirements. The value that can be specified is a set of bits, each representing the corresponding power of two.<br \/>\nThat is \u2014 1 = lowercase, 2 = uppercase, 4 = digit, 8 = special character, and 16 = Unicode character. <br \/>\nThus, with a value of 7, the requirements will be \u201cUppercase, <b>AND<\/b> lowercase, <b>AND<\/b> digit\u201d, and with a value of 31 \u2014 \u201cUppercase, <b>AND<\/b> lowercase, <b>AND<\/b> digit, <b>AND<\/b> special character, <b>AND<\/b> Unicode character.\u201d<br \/>\nYou can even combine \u2014 19 = \u201cUppercase, <b>AND<\/b> lowercase, <b>AND<\/b> Unicode character.\u201d\n<\/li>\n<li><img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/86a94d4a38b63632da9e7b56d2171fce.png\" style=\"display:block;margin: 0 auto;\" \/>\n<\/li>\n<\/ul>\n<p>\nA few rules for creating template files:<\/p>\n<ul>\n<li>Templates are case-insensitive. Thus, an entry in the file <b>starwars,<\/b> and <b>StarWarS,<\/b> will be recognized as the same value. <\/li>\n<li>The blacklist file is re-read every 60 seconds, so you can edit it freely; new data will be used by the filter in a minute. <\/li>\n<li>Currently, there is no support for Unicode in pattern checking. That is, you can use Unicode characters in passwords, but the filter will not trigger. This is not critical, as I have not seen users who use passwords in Unicode. <\/li>\n<li>It is advisable to avoid empty lines in the template file. In debugging, an error is visible when loading data from the file. The filter works, but why have unnecessary exceptions? <\/li>\n<\/ul>\n<p>\nFor debugging, batch files are included in the archive, allowing you to create a log and then analyze it using, for example, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=44226\">Microsoft Message Analyzer.<\/a><\/noindex><br \/>\nThis password filter uses Event Tracing for Windows.<\/p>\n<p>The ETW provider for this password filter is <b>07d83223-7594-4852-babc-784803fdf6c5.<\/b>For example, you can set up event tracing to start after the next reboot: <br \/>\n<code>logman create trace autosessionPassFiltEx -o %SystemRootbugPassFiltEx.etl -p \"{07d83223-7594-4852-babc-784803fdf6c5}\" 0xFFFFFFFF -ets<\/code><\/p>\n<p>The trace will start after the next system reboot. To stop: <br \/>\n<code>logman stop PassFiltEx -ets &amp;&amp; logman delete autosessionPassFiltEx -ets<\/code><br \/>\nAll these commands are specified in the scripts <i>StartTracingAtBoot.cmd,<\/i> and <i>StopTracingAtBoot.cmd.<\/i>.<\/p>\n<p>For one-time verification of filter operation, you can use <i>StartTracing.cmd,<\/i> and <i>StopTracing.cmd.<\/i>.<br \/>\nTo conveniently read the debug output of this filter in <i>Microsoft Message Analyzer <\/i>it is recommended to use the following settings:<\/p>\n<p><img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/cc83eb4aa6df9d1c424e0583b0014d18.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/d699f9a8e93fd2795b64fce94a4dd7ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWhen stopping the log and parsing in <i>Microsoft Message Analyzer<\/i> it all looks approximately like this:<\/p>\n<p><img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/4a7802318acdfa62b03b07d90e283f0b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHere it is clear that there was an attempt to set a password for the user \u2014 the magical word tells us about this <b>SET<\/b> in the debug. And the password was rejected due to its presence in the template file and more than 30% match in the entered text. <\/p>\n<p>With a successful password change attempt, we see the following:<\/p>\n<p><img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/129b69641f3dc26c0607d34360bbe255.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThere is some inconvenience for the end user. When attempting to change a password that appears in the template file list, the on-screen message lacks intelligence and ingenuity compared to the standard message when failing the password policy.<\/p>\n<p><img decoding=\"async\" alt=\"How to prohibit standard passwords and make everyone hate you\" src=\"\/wp-content\/uploads\/2019\/04\/cb9eedc3e07fc6140760df213175648c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTherefore, be prepared for calls and screams: \"I entered the password correctly, but it doesn't work.\"<\/p>\n<h3>Conclusion.<\/h3>\n<p>\nThis library allows you to prohibit the use of simple or standard passwords in the Active Directory domain. Say \"No!\" to passwords like: \"P@ssw0rd\", \"Qwerty123\", \"ADm1n098\".<br \/>\nYes, undoubtedly, users will love you even more for such care about their security and the need to come up with complicated passwords. And, perhaps, the number of calls and requests for password help will increase. But security comes at a cost.<\/p>\n<p><u>References to resources used:<\/u><br \/>\nArticle on Microsoft regarding the custom password filter library: <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/desktop\/secmgmt\/password-filters\">Password Filters<\/a><\/noindex><br \/>\nPassFiltEx: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ryanries\/PassFiltEx\">PassFiltEx<\/a><\/noindex><br \/>\nLink to the release: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ryanries\/PassFiltEx\/releases\">Latest Release<\/a><\/noindex><br \/>\nPassword lists:<br \/>\nDanielMiessler lists: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/danielmiessler\/SecLists\">Link.<\/a><\/noindex><br \/>\nWordlist from weakpass.com: <noindex><a rel=\"nofollow\" href=\"https:\/\/weakpass.com\/wordlist\">Link.<\/a><\/noindex><br \/>\nWordlist from berzerk0 repo: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/berzerk0\/Probable-Wordlists\">Link.<\/a><\/noindex><br \/>\nMicrosoft Message Analyzer: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=44226\">Microsoft Message Analyzer.<\/a><\/noindex><br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446336\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0427\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043b\u0435\u043d\u0438\u0432\u043e\u0435. \u0410 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0433\u043e \u043f\u0430\u0440\u043e\u043b\u044f. \u0414\u0443\u043c\u0430\u044e, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043b\u0435\u0433\u043a\u0438\u0445 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043f\u0430\u0440\u043e\u043b\u0435\u0439. \u0422\u0430\u043a\u043e\u0435 \u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u0438 \u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u044d\u0448\u0435\u043b\u043e\u043d\u043e\u0432 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u0414\u0430-\u0434\u0430, \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0440\u0435\u0434\u0438 \u0442\u0435\u0445, \u043a\u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0438\u043b\u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22701,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30716","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0427\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043b\u0435\u043d\u0438\u0432\u043e\u0435.\" \/>\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\/kak-zapretit-standartnye-paroli-i-zastavit-vseh-tebya-nenavidet\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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\u041a\u0430\u043a \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u0442\u0435\u0431\u044f \u043d\u0435\u043d\u0430\u0432\u0438\u0434\u0435\u0442\u044c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0427\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043b\u0435\u043d\u0438\u0432\u043e\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-zapretit-standartnye-paroli-i-zastavit-vseh-tebya-nenavidet\" \/>\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=\"2019-10-31T18:37:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:37:05+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\udd47How to ban standard passwords and make everyone hate you | ProHoster","description":"As we know, humans are lazy creatures.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-zapretit-standartnye-paroli-i-zastavit-vseh-tebya-nenavidet","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\u041a\u0430\u043a \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u0442\u0435\u0431\u044f \u043d\u0435\u043d\u0430\u0432\u0438\u0434\u0435\u0442\u044c | ProHoster","og:description":"\u0427\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043b\u0435\u043d\u0438\u0432\u043e\u0435.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-zapretit-standartnye-paroli-i-zastavit-vseh-tebya-nenavidet","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":"2019-10-31T18:37:05+00:00","article:modified_time":"2019-10-31T18:37:05+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30716","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":"2026-01-21 02:37:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:30:51","updated":"2026-01-21 02:37:19","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\/30716","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=30716"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/30716\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/22701"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=30716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=30716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=30716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}