ferramenta para gerar e testar certificados ssl

Ferramenta para gerar e testar certificados SSL

A ferramenta mais conhecida para geração de certificados no Linux é parte do toolkit OpenSSL. Este toolkit é utilizada por quase todas as aplicações que implementam SSL/TLS, como os servidores HTTP Apache e Nginx.

Normalmente a obtenção de um certificado digital, necessário para a encriptação assimétrica realizada para comunicação entre o servidor HTTP e o cliente, pode ocorrer de duas formas: Pela criação de um certificado auto-assinado, onde nenhuma entidade certificadora garante a autenticidade; Ou pela criação de um CSR, que será usado por uma entidade certificadora para gerar o certificado digital assinado, no qual terá sua autenticidade garantida pela certificadora.

Comando para criar o arquivo CSR (Certificate Signing Request)

openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout chave.key -out requisicao.csr

Guarde bem a chave privada! se ela for perdida você não conseguirá usar o certificado digital gerado pela sua certificadora.

Devido a uma atualização no Google Chrome, recomenda-se a geração de certificados com o parâmetro -sha256 para que não ocorram erros de certificados gerados com algoritmo SHA1 a partir de novembro de 2014.

Comando para conferir os dados digitados no CSR

openssl req -in requisicao.csr -noout -text

Comando para gerar um CSR a partir de uma chave privada já existente

openssl req -key chavePrivada.key -new -out requisicao.csr

Comando para criar um certificado auto-assinado (self-signed)

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout chavePrivada.key -out certificado.crt

Comando para conferir os dados de um certificado

openssl x509 -in certificado.crt -text -noout

Comando para remover a senha de uma chave privada

openssl rsa -in chave.key -out chavePrivadaSemSenha.key

Comando para conferir o MD5 das chaves, CRT e CSR

openssl x509 -noout -modulus -in certificado.crt | openssl md5

openssl rsa -noout -modulus -in chave.key | openssl md5

openssl req -noout -modulus -in requisicao.csr | openssl md5

 

https://phcco.com/ferramenta-para-gerar-e-testar-certificados-ssl

ispconfig DDNS-update

https://github.com/DIXINFOR/ddns-update-for-ispconfig

 

Crontab on local machine

*/30 * * * * wget –no-check-certificate ‘https://server.example.com:8080/ddns-update.php?username=user&password=password&hostname=intranet.example.com

Install and mods

mkdir -p ~/app/ispconfig

cd app/ispconfig/


git clone https://github.com/DIXINFOR/ddns-update-for-ispconfig.git

cd /usr/local/ispconfig/interface/web

cp ~/app/ispconfig/ddns-update-for-ispconfig/index.php ddns-update.php
cp ~/app/ispconfig/ddns-update-for-ispconfig/log.inc.php ddns-log.inc.php



--- /root/app/ddns-update-for-ispconfig/log.inc.php	2016-04-01 14:05:06.485384000 -0300
+++ /usr/local/ispconfig/interface/web/ddns-log.inc.php	2016-04-01 15:25:16.801384000 -0300
@@ -4,7 +4,7 @@
     private $file; 
     
 	function __construct($name) {
-        $this->file = "log_".str_replace('.', '_', $name).".txt" ; 
+        $this->file = "/var/log/ddns-log_".str_replace('.', '_', $name).".txt" ; 
     }
 	
     function debug($log) {
@@ -22,4 +22,4 @@
     }
  
 }
-?>
\ No newline at end of file
+?>
--- /root/app/ddns-update-for-ispconfig/index.php	2016-04-01 14:05:06.485384000 -0300
+++ /usr/local/ispconfig/interface/web/ddns-update.php	2016-04-01 14:32:43.449384000 -0300
@@ -1,9 +1,9 @@
 <?php
-require_once('log.inc.php');
+require_once('ddns-log.inc.php');
 
 // ISPConfig URL for REMOTE API
-$soap_location = 'https://10.0.0.251:8080/remote/index.php';
-$soap_uri = 'https://10.0.0.251:8080/remote/';
+$soap_location = 'https://localhost:8080/remote/index.php';
+$soap_uri = 'https://localhost:8080/remote/';
 
 // Exception List
 $exception = array('example.com','example2.com.');
@@ -136,7 +136,7 @@
 		$log->debug("End content");
 		// check if record is A IPv4 (not cname, mx, txt, ...)
 		$log->debug("Check record type");
-		if ($dns_record[0]['type']!='a'){
+		if ($dns_record[0]['type']!='A'){
 			$log->debug("Record type is not A. You can only update a A record");
 			echo "dnserr";
 			exit;
@@ -182,4 +182,4 @@
 }
 
 
-?>
\ No newline at end of file
+?>

Iptables redirect port 80 to port 8080

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

http://proghowto.com/iptables-redirect-port-80-to-port-8080