{"id":1571,"date":"2011-09-06T12:48:49","date_gmt":"2011-09-06T09:48:49","guid":{"rendered":"http:\/\/skeletor.org.ua\/?p=1571"},"modified":"2012-10-16T21:02:05","modified_gmt":"2012-10-16T18:02:05","slug":"openvpn-%d0%b8-%d0%b0%d0%b2%d1%82%d0%be%d1%80%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d0%be-%d0%bb%d0%be%d0%b3%d0%b8%d0%bd%d1%83%d0%bf%d0%b0%d1%80%d0%be%d0%bb%d1%8e","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=1571","title":{"rendered":"openvpn \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u043b\u043e\u0433\u0438\u043d\u0443\/\u043f\u0430\u0440\u043e\u043b\u044e"},"content":{"rendered":"<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u0431\u044b\u0432\u0430\u044e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c openvpn \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0430\u043c, \u0430 \u043f\u043e \u043b\u043e\u0433\u0438\u043d\u0443 \u043f\u0430\u0440\u043e\u043b\u044e. \u00a0\u041c\u043e\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e, \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0430 \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430.<\/p>\n<p><em><strong><span style=\"color: #008000;\">\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434: Debian 6 (kernel\u00a02.6.32-5-686), openvpn\u00a02.1.3.<\/span><\/strong><\/em><\/p>\n<p><!--more--><\/p>\n<p><strong><span style=\"color: #ff0000;\">1) \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/span><\/strong><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0442\u0430\u043a\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<p><code>auth-user-pass-verify \/etc\/openvpn\/verify.sh via-file<br \/>\nclient-cert-not-required<br \/>\nusername-as-common-name<br \/>\ntmp-dir \/etc\/openvpn\/tmp<br \/>\nscript-security 2<\/code><\/p>\n<p><em><strong><span style=\"color: #ff6600;\">\u041f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435.<\/span><\/strong><\/em><\/p>\n<p><strong><span style=\"color: #ff6600;\">auth-user-pass-verify<\/span><\/strong> &#8211; \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e \u043b\u043e\u0433\u0438\u043d\u0443 \u043f\u0430\u0440\u043e\u043b\u044e. \u041f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0444\u0430\u0439\u043b\u00a0<strong>\/etc\/openvpn\/verify.sh<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u0435\u0440\u043d\u0451\u0442 <strong>0<\/strong> (\u043f\u0440\u0438 \u0443\u0441\u043f\u0435\u0445\u0435) \u0438 <strong>1<\/strong> (\u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435). \u041f\u043e \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 <strong>openvpn<\/strong> \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u0438\u043b\u0438 \u043e\u0442\u043a\u0430\u0436\u0435\u0442. \u0422\u043e \u0435\u0441\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u0441\u0430\u043c <strong>openvpn<\/strong>, \u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442.<\/p>\n<p><strong><span style=\"color: #ff6600;\">client-cert-not-required<\/span><\/strong> &#8211; \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043b\u043e\u0433\u0438\u043d\u0430\/\u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.<\/p>\n<p><strong><span style=\"color: #ff6600;\">username-as-common-name<\/span><\/strong> &#8211; \u043e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043d\u0435 <strong>CommonName<\/strong> (\u0438\u043c\u044f \u0438\u0437 \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430), \u0430 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 <strong>UserName<\/strong>.<\/p>\n<p><strong><span style=\"color: #ff6600;\">tmp-dir<\/span><\/strong> &#8211; \u043f\u0443\u0442\u044c \u043a \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0435, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c \u043b\u043e\u0433\u0438\u043d\u043e\u043c\/\u043f\u0430\u0440\u043e\u043b\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0432 \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0434\u043b\u044f \u0441\u0432\u0435\u0440\u043a\u0438 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u0430\u0440\u043e\u043b\u0435\u0439<\/p>\n<p><strong><span style=\"color: #ff6600;\">script-security<\/span><\/strong> &#8211; \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b; \u0438\u043d\u043e\u0433\u0434\u0430 \u0431\u0435\u0437 \u044d\u0442\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p><em><strong><span style=\"color: #ff6600;\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/span><\/strong><\/em><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0442\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0431\u0440\u0430\u0442\u044c \u043e\u043f\u0446\u0438\u044e\u00a0<strong>client-cert-not-required<\/strong><\/p>\n<p>\u0412\u043e\u0442 \u0441\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438\u00a0<strong>verify.sh<\/strong><\/p>\n<p><code>#!\/bin\/sh<br \/>\n## format: username:password username:password ...<br \/>\n## you can even have same usernames with different passwords<br \/>\n# USERS='user1:pass1 user2:pass2 user3:pass3'<br \/>\n## you could put username:password in<br \/>\n## a separate file and read it like this<br \/>\nUSERS=`cat \/etc\/openvpn\/user.pass`<br \/>\nvpn_verify() {<br \/>\nif [ ! $1 ] || [ ! $2 ]; then<br \/>\n#echo \"No username or password: $*\"<br \/>\nexit 1<br \/>\nfi<br \/>\n## it can also be done with grep or sed<br \/>\nfor i in $USERS; do<br \/>\nif [ \"$i\" = \"$1:$2\" ]; then<br \/>\n## you can add here logging of users<br \/>\n## if you have enough space for log file<br \/>\n#echo `date` $1:$2 &gt;&gt; your_log_file<br \/>\nexit 0<br \/>\nfi<br \/>\ndone<br \/>\n}<br \/>\nif [ ! $1 ] || [ ! -e $1 ]; then<br \/>\n#echo \"No file\"<br \/>\nexit 1<br \/>\nfi<br \/>\n## $1 is file name which contains<br \/>\n## passed username and password<br \/>\nvpn_verify `cat $1`<br \/>\n#echo \"No user with this password found\"<br \/>\nexit 1<\/code><\/p>\n<p>\u0430 \u0444\u0430\u0439\u043b \u0441 \u043f\u0430\u0440\u043e\u043b\u044f\u043c\u0438 <strong>\/etc\/openvpn\/user.pass<\/strong> \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p><code>user1:pass1 user2:pass2 ...<\/code><\/p>\n<p>\u0442\u043e \u0435\u0441\u0442\u044c \u0438\u0434\u0451\u0442 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b \u043f\u0430\u0440\u0430 <strong>\u043b\u043e\u0433\u0438\u043d:\u043f\u0430\u0440\u043e\u043b\u044c<\/strong>. \u041f\u0430\u0440\u043e\u043b\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0432\u0438\u0434\u0435!<\/p>\n<p>\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u00a0<strong>verify.sh<\/strong> \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c!<\/p>\n<p><em><strong><span style=\"color: #ff0000;\">2) \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430.<\/span><\/strong><\/em><\/p>\n<p>\u0412 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<p><code>auth-user-pass c:\\\\vpn\\\\pass.txt<\/code><\/p>\n<p>\u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0444\u0430\u0439\u043b <strong>pass.txt<\/strong>, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<p><code>username<br \/>\npassword<\/code><\/p>\n<p><em><strong><span style=\"color: #ff6600;\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/span><\/strong><\/em><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435\u00a0<strong>auth-user-pass<\/strong> \u0443\u0431\u0440\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443, \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043b\u043e\u0433\u0438\u043d\/\u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<p><strong><span style=\"color: #ff0000;\">3) \u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430.<\/span><\/strong><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 \u043b\u043e\u0433\u0430\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0443\u0432\u0438\u0434\u0438\u043c \u0442\u0430\u043a\u043e\u0435:<\/p>\n<p><code>Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Re-using SSL\/TLS context<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 LZO compression initialized<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Control Channel MTU parms [ L:1618 D:138 EF:38 EB:0 ET:0 EL:0 ]<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel MTU parms [ L:1618 D:1450 EF:86 EB:135 ET:32 EL:0 AF:3\/1 ]<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Local Options hash (VER=V4): 'ca81f7f4'<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Expected Remote Options hash (VER=V4): '9da06d93'<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 TLS: Initial packet from [AF_INET]10.1.0.22:1440, sid=e2fe5190 4600df99<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 TLS: Username\/Password authentication succeeded for username 'user' [CN SET]<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Encrypt: Using 512 bit message hash 'SHA512' for HMAC authentication<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Decrypt: Using 512 bit message hash 'SHA512' for HMAC authentication<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 Control Channel: TLSv1, cipher TLSv1\/SSLv3 DHE-RSA-AES256-SHA<br \/>\nTue Sep 6 12:25:31 2011 10.1.0.22:1440 [user] Peer Connection Initiated with [AF_INET]10.1.0.22:1440<br \/>\nTue Sep 6 12:25:31 2011 user\/10.1.0.22:1440 OPTIONS IMPORT: reading client specific options from: \/etc\/openvpn\/ccd\/user<br \/>\nTue Sep 6 12:25:33 2011 user\/10.1.0.22:1440 PUSH: Received control message: 'PUSH_REQUEST'<br \/>\nTue Sep 6 12:25:33 2011 user\/10.1.0.22:1440 SENT CONTROL [user]: 'PUSH_REPLY,route 10.10.10.0 255.255.255.0,route 10.1.44.0 255.255.255.0,dhcp-option DNS 10.0.101.100,dhcp-option DNS 10.0.102.225,dhcp-option DNS 127.0.0.1,route-gateway 10.10.10.1,ping 10,ping-restart 120,ifconfig 10.10.10.2 10.10.10.1' (status=1)<\/code><\/p>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c, \u0438\u0434\u0451\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e <strong>\u043b\u043e\u0433\u0438\u043d\u0430\/\u043f\u0430\u0440\u043e\u043b\u044f<\/strong>, \u0431\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u0431\u044b\u0432\u0430\u044e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c openvpn \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0430\u043c, \u0430 \u043f\u043e \u043b\u043e\u0433\u0438\u043d\u0443 \u043f\u0430\u0440\u043e\u043b\u044e. \u00a0\u041c\u043e\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e, \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0430 \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434: Debian 6 (kernel\u00a02.6.32-5-686), openvpn\u00a02.1.3.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-1571","post","type-post","status-publish","format-standard","hentry","category-security"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/1571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1571"}],"version-history":[{"count":8,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/1571\/revisions"}],"predecessor-version":[{"id":3003,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/1571\/revisions\/3003"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}