{"id":1453,"date":"2016-03-06T21:43:58","date_gmt":"2016-03-06T20:43:58","guid":{"rendered":"http:\/\/blog.benny-baumann.de\/?p=1453"},"modified":"2016-03-06T21:45:24","modified_gmt":"2016-03-06T20:45:24","slug":"erkennen-der-verfuegbaren-cipher-suites","status":"publish","type":"post","link":"https:\/\/blog.benny-baumann.de\/?p=1453","title":{"rendered":"Erkennen der verf\u00fcgbaren Cipher-Suites"},"content":{"rendered":"<p>Nicht nur, wenn man gegen Verbrechen und Monster k\u00e4mpfen m\u00f6chte, ist es interessant zu erfahren, welche Cipher Suites ein Server unterst\u00fctzt. Prinzipiell ist hierf\u00fcr eine Testseite wie der <a href=\"https:\/\/www.ssllabs.com\/ssltest\/\">SSL-Test von Qualys<\/a> interessant, aber leider ist dieser etwas unflexibel, wenn es darum geht, beim Probieren verschiedener Setting behilflich zu sein.<!--more--><\/p>\n<p>Aber basierend auf einem <a href=\"http:\/\/superuser.com\/questions\/109213\/\">Script bei Stack Overflow<\/a> l\u00e4sst sich schnell etwas bauen:<\/p>\n<pre lang=\"bash\" escaped=\"true\" highlight=\"14-16,18-19\">#!\/usr\/bin\/env bash\r\n\r\n# OpenSSL requires the port number.\r\nSERVER=$1:443\r\nDELAY=1\r\nciphers=$(openssl ciphers 'ALL:eNULL' | sed -e 's\/:\/ \/g')\r\n\r\necho Obtaining cipher list from $(openssl version).\r\n\r\nfor cipher in ${ciphers[@]}\r\ndo\r\n    echo -n Testing $cipher...\r\n    result=$(echo -n | openssl s_client -cipher \"$cipher\" -connect $SERVER 2&gt;&amp;1)\r\n    if [[ \"$result\" =~ \":error:\" ]] ; then\r\n        error=$(echo -n $result | cut -d':' -f6-)\r\n        echo NO \\($error\\)\r\n    else\r\n        if [[ \"$result\" =~ \"Cipher is \" ]] ; then\r\n            echo YES\r\n        else\r\n            echo UNKNOWN RESPONSE\r\n            echo $result\r\n        fi\r\n    fi\r\ndone<\/pre>\n<p>Eine kleine Anmerkung gilt den Zeilen 14 und 18, die gegen\u00fcber dem Original getauscht sind, da das Script ansonsten behauptet, dass mein Server jegliche Cipher akzeptiert (was nat\u00fcrlich nicht der Fall ist).<\/p>\n<p>Wenn es dagegen etwas umfangreicher sein soll, gibt es mit <a href=\"https:\/\/ssltest.security.fail\">meiner offenen Reimplementierung des SSL-Tests<\/a> eine deutlich schnellere Alternative. Den Quelltext daf\u00fcr findet man <a href=\"https:\/\/github.com\/BenBE\/ssltest\/\">auf Github<\/a>.<\/p>\n<p class=\"wp-flattr-button\"><a href=\"https:\/\/blog.benny-baumann.de\/?flattrss_redirect&amp;id=1453&amp;md5=0bff5c80e3f42672e1ab72776e4f2960\" title=\"Flattr\" target=\"_blank\"><img src=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" srcset=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" alt=\"Flattr this!\"\/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Nicht nur, wenn man gegen Verbrechen und Monster k\u00e4mpfen m\u00f6chte, ist es interessant zu erfahren, welche Cipher Suites ein Server unterst\u00fctzt. Prinzipiell ist hierf\u00fcr eine Testseite wie der SSL-Test von Qualys interessant, aber leider ist dieser etwas unflexibel, wenn es darum geht, beim Probieren verschiedener Setting behilflich zu sein.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[29],"tags":[347,69,112,7,61,346,50,57],"class_list":["post-1453","post","type-post","status-publish","format-standard","hentry","category-software","tag-fun","tag-internet","tag-kryptographie","tag-links","tag-openssl","tag-server","tag-ssl","tag-tls"],"_links":{"self":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1453"}],"version-history":[{"count":5,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1453\/revisions"}],"predecessor-version":[{"id":1621,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1453\/revisions\/1621"}],"wp:attachment":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}