|
|
||||||
| Fóruns | Wiki | Classificados | Reviews | Jogos | Grupos Sociais | RSS Feeds | FAQ | Termos de Uso | Contato | Sobre |
| Registrar | Fotos | Blogs | Calendário | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiApache + SSL No Fedora Core 2 (Detalhado)
[editar] Pré-requisitosObtendo os últimos pacotes dos RPMs do Apache O Red Hat costumava vir com apenas uma versão do apache... e nela aplicavam uma serie d patches a partir do site deles... com o Fedora, eles parecem tentar acompanhar o ciclo d evolucao do Apache HTTP Server Project. A versão embutida junto com o Fedora Core 2 é a 2.0.49, mas essas instrucoes podem ser aplicadas com qualquer versao do Apache 2.x. Se você fez uma instalação completa do Fedora Core 1, os pacotes devem estar já disponíveis. Se, como eu, você normalmente faz uma instalacao mínima dos componentes, você ira precisar fazer o download dos seguintes pacotes do site de downloads do fedora (http://download.fedora.redhat.com/) ou de algum mirror (http://fedora.redhat.com/download/mirrors.html).
Os pacotes do apache não incluem módulos adicionais, como SSL e perl. Se você precisa desses ou algum outro modulo, você devera fazer o download do pacote apropriado, tais como:
Plataformas testadas Este tutorial foi testado no ultimo Fedora Core 2. Eu testei também com o Fedora Core 1, e se você ainda continua usando-o, você pode tentar usar este tutorial também. Eu não acredito que essas instruções funcionarão em outras distros. [editar] Instalando o Apache 2Este é um processo relativamente simples. Uma vez feito o download dos pacotes do site do Fedora, instale como a seguir: # rpm -ivh httpd-2.0.49-4.i386.rpm # rpm -ivh httpd-devel-2.0.49-4.i386.rpm # rpm -ivh httpd-manual-2.0.49-4.i386.rpm Testando sua instalação Se sua instalacao foi completada sem nenhum erro, o Apache já deve estar apto a ser iniciado e pode começar a servir seus sites. Para testar sua instalação, digite como root o seguinte comando: # service httpd start Agora, abra seu browser e aponte para http://localhost. Você devera ver uma pagina de boas-vindas. [editar] Instalando o SSLCertifiique-se de q os seguintes componentes estão instalados:
Edite ou crie o seu modelo do OpenSSL Olhe dentro do diretório /usr/share/ssl por um arquivo chamado openssl.cnf e abra-o usando o seu editor favorito. Procure e altere os seguintes valores: countryName_default: digite o nome do seu País stateOrProvinceName_default: digite o nome do seu Estado localityName_default: digite o nome da sua localidade (rua? Região?) 0.organizationName_default: digite o nome da sua organização organizationalUnitName_default: digite o nome da sua unidade organizacional Na verdade, a etapa acima não é imprescindível, mas pode ser bastante útil mais tarde, quando você estiver gerando os seus certificados, por porque você já alterou seus padrões aqui. [editar] Criando um novo CertificadoExiste um script CA que esta no diretório /usr/share/ssl/misc que você usa para gerar seus certificados. Para começar a gerar seu certificado, simplesmente excute os seguintes comandos: [root@localhost root]# cd /usr/share/ssl/misc [root@localhost misc]# ./CA -newca Pressione ENTER para criar seu novo certificado e você devera informar uma palavra-chave. Você ira precisar dessa palavra-chave mais tarde, então, anote bem o que você esta digitando aqui. Então serão feitas algumas perguntas sobre alguns detalhes da sua organização, etc. se você editou o arquivo openssl.cnf devidamente na etapa anterior, você devera somente apertar ENTER para todas as opções, exceto no nome do servidor. Abaixo, estou gerando um certificado para a minha estão Fedora Core 1: [root@localhost misc]# ./CA -newca CA certificate filename (or enter to create) Making CA certificate ... Generating a 1024 bit RSA private key ..++++++ ............++++++ writing new private key to ''./demoCA/private/./cakey.pem'' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ''.'', the field will be left blank. ----- Country Name (2 letter code) [SG]: State or Province Name (full name) [Singapore]: Locality Name (eg, city) [Singapore]: Organization Name (eg, company) [Cymulacrum, Pte Ltd]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server''s hostname) []: localhost.localdomain Email Address []: someone@somedomain.com [editar] Criando um Certificate Signing Request (CSR)Para criar um CSR, nos usaremos o mesmo script CA, mas com uma sintaxe diferente: [root@localhost misc]# ./CA -newreq Generating a 1024 bit RSA private key ...++++++ ................++++++ writing new private key to ''newreq.pem'' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ''.'', the field will be left blank. ----- Country Name (2 letter code) [SG]: State or Province Name (full name) [Singapore]: Locality Name (eg, city) [Singapore]: Organization Name (eg, company) [Cymulacrum, Pte Ltd]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server''s hostname) []: localhost.localdomain Email Address []: someone@somedomain.com Viu como foi importante editar o modelo padrão dos dados do certificado? Se você não tivesse preenchido os modelos, teria que digitar todas as informações novamente. Você devera também informar alguns atributos extras, como uma senha e opcionalmente, o nome da sua empresa. Você não ira precisar disso mais tarde, e pode sem problemas ignorar essas etapas digitando ENTER. Please enter the following ''extra'' attributes to be sent with your certificate request A challenge password []: An optional company name []: Request (and private key) is in newreq.pem Observe a ultima linha, ela indica as condições em que foram criadas o seu CSR, e é chamado newreq.pem e esta gravado no seu diretório em q você esta atualmente.
Se você chegou ate aqui sem problemas, você pode agora assinar o CSR. Para fazer isso, nos devemos usar o script CA novamente, mas, com variáveis diferentes. [root@localhost misc]# ./CA -sign Você devera informar sua palavra-chave, e então as informações sobre sua assinatura serão exibidas na tela. Você devera ver algo como o que esta mostrada abaixo. Eu omiti as informações que são exibidas por razoes particulares da organização. sing configuration from /usr/share/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Serial Number: 1 (0x1) Validity Not Before: Feb 7 06:15:19 2004 GMT Not After : Feb 6 06:15:19 2005 GMT Subject: countryName = SG stateOrProvinceName = Singapore localityName = Singapore organizationName = Somewhere, Pte Ltd commonName = localhost.localdomain emailAddress = someone@somewhere.com Será então necessário confirmar se você quer ou não assinar o certficado, e ravar as alterações. Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y As informações sobre seu certificado serão exibidas na tela. Observe as datas de validade do seu certificado. Por fim, a informação que foi exibida será gravada num arquivo chamado newcert.pem e ele esta gravado no diretório atual. -----END CERTIFICATE----- Signed certificate is in newcert.pem [editar] Gravando os certificados em um diretórioFinalmente nós iremos criar um diretório e copiar os certificados criados agora para o novo diretório. [root@localhost var]# mkdir myCA [root@localhost var]# cd myCA [root@localhost myCA]# cp /usr/share/ssl/misc/demoCA/cacert.pem . [root@localhost myCA]# cp /usr/share/ssl/misc/newcert.pem ./servercert.pem [root@localhost myCA]# cp /usr/share/ssl/misc/newreq.pem ./serverkey.pem [root@localhost myCA]# ls cacert.pem servercert.pem serverkey.pem Agora devemos copiar os certificados e as chaves para um diretório onde o Apache tenha acesso. Para ser mais simples, vamos sobrescrever os certificados padrão que vem com o Apache no pacote RPM mod_ssl. [root@localhost myCA]# cd /var/myCA [root@localhost myCA]# cp servercert.pem /etc/httpd/conf/ssl.crt/server.crt cp: overwrite `/etc/httpd/conf/ssl.crt/server.crt''? y [root@localhost myCA]# cp serverkey.pem /etc/httpd/conf/ssl.key/server.key cp: overwrite `/etc/httpd/conf/ssl.key/server.key''? y [editar] Edite o ssl.confAgora, nos iremos habilitar o SSL no Apache. Edite o ssl.conf e descomente as seguintes diretivas:
Se você quiser alterar o DocumentRoot para indicar um outro diretório, como /var/www/ssl, e coloque os arquivos SSL para lá. Para testar sua configuração, crie um arquivo HTML, com o nome index.html e coloque-o no diretório DocumentRoot que você definiu acima. [editar] Teste o seu SSLFinalmente, estamos prontos para testar nosso novo Apache com SSL. Inicie o Apache. Você devera informar a sua palavra-chave. Abra um browser e aponte para https://localhost ou http://localhost:443. Se você já havia criado um index.html dentro do seu DocumentRoot para a sua configuração SSL, você devera ver que esta página estará abrindo, mas não antes de você receber um aviso de um novo certificado no seu browser. Se você recebeu o certificado, significa que você configurou com sucesso o seu Apache junto com o SSL. Desabilitando o uso da palavra-chave na inicialização do Apache Às vezes, o prompt da plavra-chave pode ser inconveniente, especialmente se você quer que o seu Apache inicie automaticamente no boot, sem intervenção do usuário. A palavra-chave pode ser desabilitada quando decriptografamos a “Server key”. Para fazer isso, comece fazendo uma cópia do seu keyfile, então execute os se seguintes comandos: # cd /etc/httpd/conf/ssl.key # cp server.key server.bak # openssl rsa -in server.bak -out server.key demiurgo (Max Angelo) – d3m1urg0 [NOSPAM] vspmail com br |