DISPLAY CONN(*) WHERE (CHL EQ CLIENT.TEST) DISPLAY CONN(id_polaczenia) STOP CONN(id_polaczenia)
Pokazywanie postów oznaczonych etykietą mq. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą mq. Pokaż wszystkie posty
piątek, 18 stycznia 2013
Zatrzymywanie wybranego połączenia MQ
Sekwencja komend odnajdująca i zatrzymująca jedyne połączenie do kanału CLIENT.TEST:
czwartek, 6 grudnia 2012
Manager kolejek MQ - PROXYQMGR
Architektura:
LEFT <-> PROXY <-> RIGHT
Utworzenie managerów:
LEFT <-> PROXY <-> RIGHT
Utworzenie managerów:
crtmqm -ll -c "RIGHT manager, linear logging" RIGHT crtmqm -ll -c "PROXY manager, linear logging" PROXY crtmqm -ll -c "LEFT manager, linear logging" LEFTKonfiguracja managerów:
### RIGHT #############################################################
# podstawowa konfiguracja (po dodaniu wymagany restart managera)
DEFINE QLOCAL (DEADQ.RIGHT)
ALTER QMGR DEADQ(DEADQ.RIGHT)
DEFINE LISTENER (RIGHT.LISTENER) TRPTYPE(TCP) PORT(1435) CONTROL(QMGR)
DEFINE CHANNEL (CLIENT.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
ALTER QMGR SSLKEYR('/var/mqm/qmgrs/RIGHT/ssl/RIGHT')
# odbior z PROXY
DEFINE CHANNEL(PROXY.RIGHT) CHLTYPE(RCVR) SSLCIPH(TRIPLE_DES_SHA_US)
DEFINE QLOCAL(QUEUE.INP)
# wysylka do PROXY
DEFINE CHANNEL(RIGHT.PROXY) CHLTYPE(SDR) SSLCIPH(TRIPLE_DES_SHA_US) CONNAME('1.2.3.4(1415)') XMITQ(XMITQ.RIGHT.PROXY) DISCINT(10)
DEFINE QLOCAL(XMITQ.RIGHT.PROXY) USAGE(XMITQ) TRIGGER INITQ(SYSTEM.CHANNEL.INITQ) TRIGTYPE(FIRST) TRIGDATA(RIGHT.PROXY)
DEFINE QREMOTE(QUEUE.OUT) RNAME(QUEUE.OUT) RQMNAME(PROXY) XMITQ(XMITQ.RIGHT.PROXY)
### PROXY #########################################################
# podstawowa konfiguracja (po dodaniu wymagany restart managera)
DEFINE QLOCAL (DEADQ.PROXY)
ALTER QMGR DEADQ(DEADQ.PROXY)
DEFINE LISTENER (PROXY.LISTENER) TRPTYPE(TCP) PORT(1415) CONTROL(QMGR)
DEFINE CHANNEL (CLIENT.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
ALTER QMGR SSLKEYR('/var/mqm/qmgrs/PROXY/ssl/PROXY')
# odbior z LEFT
DEFINE CHANNEL(LEFT.PROXY) CHLTYPE(RCVR) SSLCIPH(TRIPLE_DES_SHA_US)
# wysylka do LEFT
DEFINE QLOCAL(XMITQ.PROXY.LEFT) USAGE(XMITQ) TRIGGER INITQ(SYSTEM.CHANNEL.INITQ) TRIGTYPE(FIRST) TRIGDATA(PROXY.LEFT)
DEFINE CHANNEL(PROXY.LEFT) CHLTYPE(SDR) SSLCIPH(TRIPLE_DES_SHA_US) CONNAME('1.2.3.4(1425)') XMITQ(XMITQ.PROXY.LEFT) DISCINT(10)
DEFINE QREMOTE(QUEUE.OUT) RNAME(QUEUE.OUT) RQMNAME(LEFT) XMITQ(XMITQ.PROXY.LEFT)
# odbior z RIGHT
DEFINE CHANNEL(RIGHT.PROXY) CHLTYPE(RCVR) SSLCIPH(TRIPLE_DES_SHA_US)
# wysylka do RIGHT
DEFINE CHANNEL(PROXY.RIGHT) CHLTYPE(SDR) SSLCIPH(TRIPLE_DES_SHA_US) CONNAME('1.2.3.4(1435)') XMITQ(XMITQ.PROXY.RIGHT) DISCINT(10)
DEFINE QLOCAL(XMITQ.PROXY.RIGHT) USAGE(XMITQ) TRIGGER INITQ(SYSTEM.CHANNEL.INITQ) TRIGTYPE(FIRST) TRIGDATA(PROXY.RIGHT)
DEFINE QREMOTE(QUEUE.INP) RNAME(QUEUE.INP) RQMNAME(RIGHT) XMITQ(XMITQ.PROXY.RIGHT)
### LEFT ###############################################################
# podstawowa konfiguracja (po dodaniu wymagany restart managera)
DEFINE QLOCAL (DEADQ.LEFT)
ALTER QMGR DEADQ(DEADQ.LEFT)
DEFINE LISTENER (LEFT.LISTENER) TRPTYPE(TCP) PORT(1425) CONTROL(QMGR)
DEFINE CHANNEL (CLIENT.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
ALTER QMGR SSLKEYR('/var/mqm/qmgrs/LEFT/ssl/LEFT')
# odbior z PROXY
DEFINE CHANNEL(PROXY.LEFT) CHLTYPE(RCVR) SSLCIPH(TRIPLE_DES_SHA_US)
DEFINE QLOCAL(QUEUE.OUT)
# wysylka do PROXY
DEFINE QLOCAL(XMITQ.LEFT.PROXY) USAGE(XMITQ) TRIGGER INITQ(SYSTEM.CHANNEL.INITQ) TRIGTYPE(FIRST) TRIGDATA(LEFT.PROXY)
DEFINE CHANNEL(LEFT.PROXY) CHLTYPE(SDR) SSLCIPH(TRIPLE_DES_SHA_US) CONNAME('1.2.3.4(1415)') XMITQ(XMITQ.LEFT.PROXY) DISCINT(10)
DEFINE QREMOTE(QUEUE.INP) RNAME(QUEUE.INP) RQMNAME(PROXY) XMITQ(XMITQ.LEFT.PROXY)
# odbior przez klienta (WAS)
DEFINE CHANNEL(QUEUE.CHANNEL.SVRCONN) CHLTYPE(SVRCONN) SSLCAUTH(REQUIRED) MCAUSER('mqm') SSLCIPH(TRIPLE_DES_SHA_US) SSLPEER('CN=COMMON_NAME') MAXMSGL(104857600)
piątek, 27 kwietnia 2012
Tworzenie certyfikatów dla managera kolejek WebSphere MQ
Wymagane aplikacje: Ikeyman, OpenSSL, WebSphereMQ
W pliku "openssl.[cnf|cfg]" powinno być ustawione:
basicConstraints=CA:trueUtworzenie centrum certyfikacji:
perl CA.pl -newca (...) A challenge password []: <hasło> ENTER An optional company name [] <hasło> ENTEROpcjonalnie - wydłużenie terminu ważnosci certyfikatu:
cd demoCA openssl x509 -in cacert.pem -days 1024 -out newca.pem -signkey private/cakey.pem mv newca.pem cacert.pemUtworzenie certyfikatu dla klienta kanału:
perl CA.pl -newreq (...) Common Name (eg, YOUR name) []: QMGR NAMEKoniecznie wpisujemy nazwę managera kolejek!
(...) A challenge password []: – ENTER An optional company name [] – ENTERPodpisanie certyfikatu klienta:
perl CA.pl -signreqEksport pary certyfikatow (centrum certyfikacji i klient kanału) do formatu PKCS12:
perl CA.pl -pkcs12 CHANNELNAMECertyfikat centrum certyfikacji jest także w pliku demoCA/cacert.pem. Utworzenie pliku z hasłem do repozytorium CMS (Ikeyman):
runmqckm -keydb -stashpw -db QMGRNAME.kdbWygenerowane pliki (QMGRNAME.crl, QMGRNAME.kdb, QMGRNAME.rdb, QMGRNAME.sth) należy wgrać do katalogu "qmgrs/QMGRNAME/ssl".
czwartek, 26 kwietnia 2012
Dekodowanie hasła w pliku *.sth w managerze MQ
#!/usr/bin/perl -w
#
# unstash.pl - "decrypt" IBM HTTP server stash files. No, really. They *are* this pathetic.
#
# sploit (BoByRiTe) 1999, Major Malfunction, code by Ben Laurie, cos I dudn't dud perly thing.
use strict;
die "Usage: $0 <stash file>\n" if $#ARGV != 0;
my $file=$ARGV[0];
open(F,$file) || die "Can't open $file: $!";
my $stash;
read F,$stash,1024;
my @unstash=map { $_^0xf5 } unpack("C*",$stash);
foreach my $c (@unstash) {
last if $c eq 0;
printf "%c",$c;
}
printf "\n";
Wywołanie:
perl unstash.pl PLIK.sthźródło
Subskrybuj:
Posty (Atom)