Aqui estão os passos exatos que eu fiz para obter (2) acima para trabalhar.
Isso faz com que o OS X Server 5 trabalhe com o TLS 1.2 e envie o sigilo no 10.11.1, tornando o ATS perfeitamente feliz (especialmente se você for um desenvolvedor, isso é muito legal).
- Instale Homebrew e prepare a instalação openssl, brew install PCRE
- Faça o download da fonte mais recente para Apache, apr e apr-util
- Extraia a fonte do Apache em /usr/local/src/httpd-2.4.17
- Extraia os arquivos apr e apr-util para /usr/local/src/httpd-2.4.17/srclib/apr e /usr/local/src/httpd-2.4.17/srclib/apr-util
- Substitua o caractere "+" pela palavra "apache2" nos arquivos config.layout dentro dos diretórios aprs e apr-util
No Terminal, execute os seguintes comandos:
cd /usr/local/src/httpd-2.4.17
CFLAGS="-arch x86_64"
./configure --prefix=/usr/local/apache-2.4.17 --with-included-apr --with-included-apr-util -with-mpm=prefork --with-ssl=/usr/local/opt/openssl --enable-mods-shared=reallyall --enable-layout=Darwin
make
make install
Copie mod_hfs_apple.so, mod_authnz_ldap.so e mod_ldap.so de / usr / libexec para /usr/local/apache-2.4.17/libexec/apache2/
- Desativar SIP: Reinicie no modo Recuperar (comando-R), abra Terminal e digite
csrutil disable
. (Isso permite que você possa fazer alterações dentro dos diretórios / usr / sbin e / usr, necessários para trocar o Apache padrão inseguro pelo novo seguro que você estará construindo.)
Reinicie novamente no modo normal, abra o Terminal e digite os seguintes comandos:
sudo mv /usr/sbin/httpd /usr/sbin/httpd.old
sudo mv /usr/libexec/apache2 /usr/libexec/apache2.old
sudo ln -s /usr/local/apache-2.4.17/sbin/httpd /usr/sbin/httpd
sudo ln -s /usr/local/apache-2.4.17/libexec/apache2/ /usr/libexec/apache2
- Reative o SIP: reinicie no modo Recuperar, abra o Terminal e digite
csrutil enable
.
- Reinicie de volta no modo normal e baixe a última fonte para o PHP, então extraia para /usr/local/src/php-5.6.16 (ou qualquer versão; 7.0 acabou de sair, woot, mas eu não sei se seria quebrar os próprios usos do PHP do OS X Server)
Configure o PHP com o seguinte comando (modifique conforme necessário, mas isso funcionou para minha pilha LAMP com o OS X Server 5):
ln -s /usr/local/opt/openssl /usr/local/openssl
cd /usr/local/src/php-5.6.16
CFLAGS="-arch x86_64"
./configure --with-openssl=/usr/local/opt/openssl --with-pcre-regex=/usr/local/opt/pcre --with-curl=/usr/bin/curl --enable-exif --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql --enable-opcache --with-apxs2=/usr/local/apache-2.4.17/bin/apxs --prefix=/usr/local/apache-2.4.17/php/ --enable-sockets --enable-zip --with-pear=/usr/local/apache-2.4.17/lib/php --enable-mbstring --with-mysqli
make
make install
Em um editor de texto, edite o arquivo: /Library/Server/Web/Config/Proxy/servermgr_serviceproxy_customsites.plist A partir da linha 65, execute estas alterações (linhas a serem excluídas , novas linhas ):
SSLCipherSuite "TODOS:! ANULL:! ADH:! ENULL:! BAIXO:! EXP: RC4 + RSA: + ALTO: + MÉDIO"
SSLCipherSuite "ECDH + AESGCM: DH + AESGCM: ECDH + AES256: DH + AES256: ECDH + AES128: DH + AES: ECDH + 3DES: DH + 3DES: RSA + AESGCM: RSA + AES: RSA + 3DES:! ANULL:! MD5:! DSS "
SSLHonorCipherOrder On
SSLProtocol -ALL + TLSv1
SSLProtocol -SSLv2 -SSLv3
SSLProxyProtocol -ALL + TLSv1
SSLProxyProtocol -SSLv2 -SSLv3
Em seguida, faça uma alteração semelhante em apache_serviceproxy_customsites.conf, começando na linha 13 (linhas a serem excluídas , novas linhas ):
SSLCipherSuite "TODOS:! ANULL:! ADH:! ENULL:! BAIXO:! EXP: RC4 + RSA: + ALTO: + MÉDIO"
SSLHonorCipherOrder On
SSLCipherSuite "ECDH + AESGCM: DH + AESGCM: ECDH + AES256: DH + AES256: ECDH + AES128: DH + AES: ECDH + 3DES: DH + 3DES: RSA + AESGCM: RSA + AES: RSA + 3DES:! ANULL:! MD5:! DSS "
SSLProtocol -ALL + TLSv1
SSLProtocol ALL -SSLv2 -SSLv3
SSLProxyProtocol -ALL + TLSv1
SSLProxyProtocol ALL -SSLv2 -SSLv3
Em seguida, faça exatamente as mesmas alterações da etapa 14., em apache_serviceproxy.conf, iniciando na linha 198.
Inicie o servidor do OS X e execute o seguinte comando para verificar se obteve êxito: / usr / bin / nscurl --ats-diagnosticshttps: // [[URL do https do seu site personalizado]] Observação: o URL obviamente precisará ser formatado devidamente. Eu coloquei um espaço extra lá antes do cólon, porque senão esse post é enviado para moderação.
No meu caso, todos os testes voltaram com um "PASS".
Eu posso fornecer-lhe um arquivo de patch git para fazer as alterações em seus arquivos .conf assumindo que você ainda tem uma instalação virgem e você está na mesma versão que eu.