Pokazywanie postów oznaczonych etykietą SSL. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą SSL. Pokaż wszystkie posty

środa, 17 kwietnia 2013

Oracle over Stunnel

http://www.ritzyblogs.com/OraTalk/PostID/104/How-to-configure-stunnel-for-Oracle-with-example


FEB
24
TUE
Posted By ritzy on Tuesday, February 24, 2009
2653 Views 1 Comments










Stunnel basically allows you to create an encrypted channel between two machines using openSSL encryption. If you need to setup encrypted connection between your Oracle client and Oracle server, here are the steps on how to configure stunnel for Oracle with sample configuration files. In this example, we'll use the following:
Oracle Server: testserver-001
Oracle Client: testclient-001
Server Listener Port: 1521
Server Stunnel Port: 11521
Client Stunnel Port: 1600
I've tested this on RHEL4U3 64-bit OS with Oracle 10.2.0.2 database.
1. Ensure stunnel and openssl rpms are installed on both Oracle client and server. Example:
$rpm -qa | grep -i stunnel
stunnel-4.05-3

$rpm -qa | grep -i openssl
openssl-devel-0.9.7a-43.8
openssl-0.9.7a-43.8
openssl-0.9.7a-43.8
openssl096b-0.9.6b-22.42
2. Edit /etc/stunnel/stunnel_server.conf as root on testserver-001 as shown below to prepare server side configuration:
service = stunnel-server
cert = /etc/stunnel/bcpstunnel.pem
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 0
output = /tmp/stunnel_server.log
foreground = no
session = 86400
TIMEOUTidle = 3600
client = no
[MYSTUNNEL]
accept=testserver-001:11521
connect=testserver-001:1521
The stunnel server listens for stunnel client requests, decrypts data, and forwards it to the specified localhost port. The port that stunnel listens on is configured via the accept parameter and the port that data is forwarded to is configured via the connect parameter. Each pair of connect and accept parameters must be named.
2. Edit /etc/stunnel/stunnel_server.client as root on testclient-001 as shown below to prepare client side configuration
service = stunnel-client
cert = /etc/stunnel/bcpstunnel.pem
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 0
output = /tmp/stunnel_client.log
foreground = no
session = 86400
TIMEOUTidle = 3600
client = yes
[MYSTUNNEL]
accept = 1600
connect =testserver-001:11521
The stunnel client listens for data on a localhost port, encrypts that data, and forwards the data to an stunnel server process (typically on another machine). A separate localhost port needs to be configured for each secure tunnel you want to create.
3. Generate stunnel certificate on both Oracle client and server. Note the name bcpstunnel.pem used in the stunnel configurations
One each host, you should run the following command as root. Just press enter for the question prompts (i.e. leave blank)
$openssl req -new -x509 -days 3650 -nodes -out bcpstunnel.pem -keyout bcpstunnel.pem
This creates a private key, and self-signed certificate. The arguments are:
-new Generate a new key
-x509 Generate an X509 certificate (self sign)
-days 3650 make this key valid for 10 years, after which it's not to be used any more
-nodes Don't put a password on this key
-out bcpstunnel.pem where to put the SSL certificate
-keyout bcpstunnel.pem put the key in this file
4. Start stunnel server and stunnel client on resp hosts as root
$stunnel /etc/stunnel/stunnel_server.conf
$stunnel /etc/stunnel/stunnel_client.conf
$ps -ef|grep stunnel
5. Verify through tnsping. See below sample TNS configuration
testserver = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1600)) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = testserver)))

środa, 13 czerwca 2012

Polecenia OpenSSL

LINK

Polecenia OpenSSL

Generowanie klucza prywatnego z hasłem

Hasło będzie należało podać podczas startowania serwera.
openssl genrsa -des3 -out mojadomena.key 2048

Generowanie klucza prywatnego bez hasła

Potencjalnie niebezpieczne, ale umożliwi wystartowanie serwera bez podawania hasła.
openssl genrsa -out mojadomena.key 2048

Usunięcie hasła z klucza prywatnego

openssl rsa -in mojadomena.key -out mojadomena.bezhasla.key

Generowanie CSR

Wpisz poniższe polecenie, aby wygenerować CSR wg prywatnego klucza RSA. (w formacie PEM). Zakładamy, że plik CSR będzie nosił nazwę mojadomena.csr.
openssl req -new -key mojadomena.key -out mojadomena.csr
Przykładowa zawartość pliku CSR:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDCjCCAnMCAQAwdTEZMBcGA1UEAxMQaG9zdC5kb21haW4ubmFtZTEVM
BMGA1UECxMMT3JnYW5pemF0aW9uMRUwEwYDVQQKEwxPcmdhbml6YXRpb2
Vnq2AWTDw2ykyxKg6neb2vYTZRvbot7M578Vvh6P8CAwEAAaCCAVMwGgY
KKwYBBAGCNw0CAzEMFgo1LjAuMjE5NS4yMDUGCisGAQQBgjcCAQ4xJzAl
MA4GA1UdDwEB/wQEAwIE8DATBgNVHSUEDDAKBggrBgEFBQcDATCB/QYKK
IhvcNAQEFBQADgYEAg4+QHTvkP5CG+WcGnrhKiMkJnMP6QEsds40obUDS
dGtEupQz8C+4xoMd1aM68q9Ri6Va+JTeuhKHxLz9hT/KUJhNBy0sRfnx+
JkQdrKG69UanTwvLqXINh9xChw9ErIto/2kZI5kl2KYQdiOqTv6p0GEUP
Rq/MD52Zy3bOzSRF0=
-----END NEW CERTIFICATE REQUEST-----
Szczegółowe informacje na temat generowania CSR.

Weryfikacja klucza prywatnego

openssl rsa -in mojadomena.key -check

Weryfikacja pliku CSR

openssl req -noout -text -in mojadomena.csr
lub
openssl req -noout -verify -in mojadomena.csr

Weryfikacja certyfikatu SSL

openssl x509 -noout -text -in mojadomena.pem

Weryfikacja sum kontrolnych certyfikatu i klucza prywatnego

Poniższe polecenia umożliwiają porównanie sum kontrolnych certyfikatu i klucza prywatnego. Jeżeli wynik działania obu poleceń jest identyczny, oznacza to, iż klucz prywatny pasuje do certyfikatu SSL.

Sprawdzenie sumy kontrolnej klucza prywatnego:

openssl rsa -in mojadomena.key -modulus -noout | openssl md5
Przykładowy wynik działania:
ccd4ca8dc071f3a61b580b7e7427a7cf

Sprawdzenie sumy kontrolnej certyfikatu SSL:

openssl x509 -in mojadomena.pem -modulus -noout | openssl md5
Przykładowy wynik działania:
ccd4ca8dc071f3a61b580b7e7427a7cf

Weryfikacja certyfikatu i CA

Gdzie cacert.pem to plik pobrany z serwera wystawcy.
openssl verify -verbose -CAfile cacert.pem mojadomena.pem

Wygenerowanie CSR-a na podstawie istniejącego certyfikatu SSL

openssl x509 -x509toreq -in mojadomena.pem -out mojadomena.csr -signkey mojadomena.key

Konwersja klucza prywatnego z formatu PEM do DER

openssl rsa -inform PEM -in mojadomena.pem -outform DER -out mojadomena.der

Konwersja klucza prywatnego z formatu DER do PEM

openssl rsa -inform DER -in mojadomena.der -outform PEM -out mojadomena.pem

Konwersja certyfikatu i klucza prywatnego z Apache'a do zaimportowania w IIS na serwerze Windows (z formatu PEM do PKCS#12).

Poniższe polecenie utworzy kopię zapasową certyfikatu, klucza prywatnego i certyfikatów pośrednich w pliku iis.pfx w formacie PKCS#12.
openssl pkcs12 -export -inkey mojadomena.key -in mojadomena.pem -certfile intermediate.pem -out iis.pfx

Konwersja certyfikatu z formatu PEM do PKCS#7 (P7B).

Poniższe polecenie utworzy kopię zapasową certyfikatu serwera i certyfikatu pośredniego w pliku mojadomena.pfx w formacie PKCS#7.
openssl crl2pkcs7 -nocrl -certfile mojadomena.pem -out mojadomena.p7b -certfile certyfikat_posredni.cer

Konwersja certyfikatu i klucza prywatnego z IIS-a do Apache'a lub innego serwera (z formatu PKCS#12 do PEM).


Przeniesienia certyfikatu

Poniższe polecenie utworzy plik mojadomena.pem zawierający certyfikat.
openssl pkcs12 -in iis.pfx -clcerts -nokeys -out mojadomena.pem

Przeniesienia klucza prywatnego

Poniższe polecenie utworzy plik mojadomena.key z kluczem prywatnym zabezpieczonym hasłem.
openssl pkcs12 -in iis.pfx -nocerts -out mojadomena.key
Poniższe polecenie utworzy plik mojadomena.key z kluczem prywatnym bez hasła
openssl pkcs12 -in iis.pfx -nocerts -nodes -out mojadomena.key

Sprawdzenie poprawności instalacji certyfikatu SSL na serwerze

root_ca.cer - plik z certyfikatem Root CA dla właściwego certyfikatu
www.moja-domena.pl:443 - adres serwera oraz port (443 - domyślny dla połączeń HTTPS)
Wersja skrócona

openssl s_client -CAfile root_ca.cer -quiet -connect www.moja-domena.pl:443
Przykładowy wynik działania powyższego polecenia
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = "GeoTrust, Inc.", CN = RapidSSL CA
verify return:1
depth=0 serialNumber = gas3S67znrMS0G-Ak1BxcG0zb6RTNpBx, C = PL, O = www.moja-domena.pl, OU = GT985185119, OU = See www.rapidssl.com/resources/cps (c)10, OU = Domain Control Validated - RapidSSL(R), CN = www.moja-domena.pl
verify return:1

Wersja rozszerzona

openssl s_client -CAfile root_ca.cer -connect www.moja-domena.pl:443
Przykładowy wynik działania powyższego polecenia
CONNECTED(00000003)
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = "GeoTrust, Inc.", CN = RapidSSL CA
verify return:1
depth=0 serialNumber = gas3S67znrMS0G-Ak1BxcG0zb6RTNpBx, C = PL, O = www.moja-domena.pl, OU = GT985185119, OU = See www.rapidssl.com/resources/cps (c)10, OU = Domain Control Validated - RapidSSL(R), CN = www.moja-domena.pl
verify return:1
---
Certificate chain
0 s:/serialNumber=gas3T67enrMS0G-Ak1BxcG0zs6RTNpBx/C=PL/O=www-moja-domena.pl/OU=GT90180134/OU=See www.rapidssl.com/resources/cps (c)10/OU=Domain Control Validated - RapidSSL(R)/CN=www.moja-domena.pl
i:/C=US/O=GeoTrust, Inc./CN=RapidSSL CA
1 s:/C=US/O=GeoTrust, Inc./CN=RapidSSL CA
i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIE2TCCA8GgAwIBAgICAUAwDQYJKoZIhvcNAQEFBQAwPDELMAkGA1UEBhMCVVMx
FzAVBgNVBAoTDkdlb1RydXN0LCBJbmMuMRQwEgYDVQQDEwtSYXBpZFNTTCBDQTAe
Fw0xMDEyMDgxNDQ5NDBaFw0xMTExMTQxOTA2MDZaMIHtMSkwJwYDVQQFEyBnYXMz
VDY3ZW5yTVMwRy1BazFCeGNHMHpzNlJUTnBCeDELMAkGA1UEBhMCUEwxHDAaBgNV
BAoTE3JhcGlkc3NsLmdpZ2FvbmUucGwxEzARBgNVBAsTCkdUOTAxODAxMzQxMTAv
BgNVBAsTKFNlZSB3d3cucmFwaWRzc2wuY29tL3Jlc291cmNlcy9jcHMgKGMpMTAx
LzAtBgNVBAsTJkRvbWFpbiBDb250cm9sIFZhbGlkYXRlZCAtIFJhcGlkU1NMKFIp
MRwwGgYDVQQDExNyYXBpZHNzbC5naWdhb25lLnBsMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEArLaestflJoCOIaRwYk5P4eH6wz/I3tHZcwB+fkfbPiuZ
D2TuMdMxGIsVlES/YbQ6dYmbjVFFGQOl9lcX1K4LoDfByVH2W9jH729KKZ05hLWE
6gHiAzkDEsEnxEX8eh+B0NuIHBAbgGgg2gu2D8jamf95tpd3NKnZJ5VFdhRAMwS4
Wihz06KpXadFTnk6Ra4Vo2Qkd8va+UW1aJlk3Qz1uWZonY4DN5aWtBqigCXYfW/k
urYIUnkt0IYWB8xPfl54NtRCnEpSkoAgo2JY3+zjw87Ytuo2aiwFReQwC+4ogD/O
ZiFWwf9ZYBZoTHcQW0/RDdptvUmnkuGcZtclw46CKwIDAQABo4IBMTCCAS0wHwYD
VR0jBBgwFoAUa2k9ahhCSt2PAmU5/TUkhniRFjAwDgYDVR0PAQH/BAQDAgWgMB0G
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAeBgNVHREEFzAVghNyYXBpZHNz
bC5naWdhb25lLnBsMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9yYXBpZHNzbC1j
cmwuZ2VvdHJ1c3QuY29tL2NybHMvcmFwaWRzc2wuY3JsMB0GA1UdDgQWBBSOQy0O
ebxt/rc1Xlb+zc05dRQygzAMBgNVHRMBAf8EAjAAMEkGCCsGAQUFBwEBBD0wOzA5
BggrBgEFBQcwAoYtaHR0cDovL3JhcGlkc3NsLWFpYS5nZW90cnVzdC5jb20vcmFw
aWRzc2wuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQBFbkwLXqTdNn/H1MrF7Uhnb8xg
vzquhcOdKrdBmLBLK2O8VNveTwEIe+sJMpb0M+ozjhacbA4c7Amj4Y9ZFHS1UA4B
y56fRr634TOCO+fgUX/H7Xr1dc9tKM9b8s7Tb82V/NkWD7YaRbBS4AUWDW+y31/Q
IUXn98OmuI3SEvEivqGiSaq1aEEjUzC8m6xY/WT/KKg/bC+3b71R5GeWpli5XroO
SU11e7kE+WSCstRSopJzqeDxmuL1NdpfMiDnu4GvrC0ybORd96RxdqBQbe0RSbnE
Fjkv8GyzBh9N8k373v9CFh5dPYrzGylNo+ysCChqPPRYws60zJqkfs6BVkhf
-----END CERTIFICATE-----
subject=/serialNumber=gas3S67znrMS0G-Ak1BxcG0zb6RTNpBx/C=PL/O=www.moja-domena.pl/OU=GT90180134/OU=See www.rapidssl.com/resources/cps (c)10/OU=Domain Control Validated - RapidSSL(R)/CN=www.moja-domena.pl
issuer=/C=US/O=GeoTrust, Inc./CN=RapidSSL CA
---
No client certificate CA names sent
---
SSL handshake has read 3938 bytes and written 409 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1F3AFADC347E7743904615AA175962936D9E36335CCCDDF2C658E986E31A553F
Session-ID-ctx:
Master-Key: 467AA14A3CA9FB415F67CB7B7C6F0DC66ABE9075E0DF11F14126F26D32EBBFE814A397503782DBF29AF54CEDE4DCBCD1
Key-Arg : None
PSK identity: None
PSK identity hint: None
TLS session ticket:
0000 - e3 66 0c 65 55 1c aa ea-61 b7 32 2b f3 13 75 8d .f.eU...a.2+..u.
0010 - 69 0e d0 18 f2 35 8e 5c-11 27 fa c5 67 4f 0b d9 i....5.\.'..gO..
0020 - 9d 7f ab 75 aa 90 4f 57-ba d6 b8 7e 28 45 3d 97 ...u..OW...~(E=.
0030 - 35 84 15 f1 0a 4c 2e c7-e9 ed 8a f9 bb 44 c8 ca 5....L.......D..
0040 - 9d 72 59 71 28 07 b3 e2-10 57 db cb 07 32 7f cb .rYq(....S...2..
0050 - b7 46 db a2 d9 8b 01 6e-20 ca 13 36 19 63 11 e2 .F.....n ..6.c..
0060 - 64 70 e1 32 42 fd 3f 3f-1a 49 e9 ea f0 51 a9 66 dp.2B.??.I...Q.f
0070 - bb dd d8 a2 52 8a df 8f-a6 d6 62 60 dd 53 54 5b ....R.....b`.ST[
0080 - 26 31 47 25 73 5b 7e 67-d6 52 36 94 7b a9 aa 97 x1G%s[~g.R6.....
0090 - 6b 82 1d 60 ca 6a e4 a4-0b 3c d5 33 b5 82 a7 a1 k..`.j.....3....

Compression: 1 (zlib compression)
Start Time: 1302325519
Timeout : 300 (sec)
Verify return code: 0 (ok)
---

Ginekolog dr n. med. Piotr Siwek

Gabinet ginekologiczny specjalista ginekolog - położnik dr n. med. Piotr Siwek