Using defaults in SSL module can lead to insecure protocol usage.
Python 3.6 applies PROTOCOL_TLS as the default value, so if no value is specified and your Python version is detected to be 3.6+ this issue won't be shown.
ssl.create_default_context() instead of trying to do this yourselfPROTOCOL_TLS with options disallowing the bad protocols