Sunday, October 19, 2014

Book: Jenkins, the definitive guide



This is a great reading, the book covers not only Jenkins, but also the vast ecosystem around Continuous Integration (maven, nexus..); all in a very readable way, without indulging too much in the gory details.

It's even downloadable for free from the above Wakaleo URL. Have fun!



Wednesday, October 15, 2014

WebLogic, auditing invalid login attempts

I was getting such messages in the log, after changing weblogic password:

####<Oct 15, 2014 9:15:47 PM CEST> <Notice> <Security> <acme105> <osbpp1ms1> <[ACTIVE] ExecuteThread: '29' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <553e43a3c186ec6d:-ae5bdb3:149153b2e29:-8000-0000000000000068> <1413400547980> <BEA-090078> <User weblogic in security realm myrealm has had 5 invalid login attempts, locking account for 30 minutes.>

I was unable to trace the origin of this invalid login, until I setup a DefaultAuditRecorder:

http://docs.oracle.com/cd/E13222_01/wls/docs90/secmanage/providers.html

myrealm Providers Auditing New

Add these :

com.bea.contextelement.channel.Address
com.bea.contextelement.channel.ChannelName
com.bea.contextelement.channel.Port
com.bea.contextelement.channel.Protocol
com.bea.contextelement.channel.PublicAddress
com.bea.contextelement.channel.PublicPort
com.bea.contextelement.channel.RemoteAddress
com.bea.contextelement.channel.RemotePort
com.bea.contextelement.channel.Secure


and restart the server. Then you do

less /opt/oracle/domains/osbpp1do/servers/osbpp1ms1/logs/DefaultAuditRecorder.log

#### Audit Record Begin <Oct 15, 2014 9:16:27 PM>  <Severity =FAILURE>  
<<<Event Type = Authentication Audit Event><weblogic><AUTHENTICATE>>>  
<FailureException =javax.security.auth.login.FailedLoginException: 
[Security:090304]Authentication Failed: User weblogic javax.security.auth.login.FailedLoginException: 
[Security:090302]Authentication Failed: User weblogic denied>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.Port:
  8001
 CONTEXTELEMENT>>>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.PublicPort:
  8001
 CONTEXTELEMENT>>>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.RemotePort:
  53443
 CONTEXTELEMENT>>>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.Protocol:
  t3
 CONTEXTELEMENT>>>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.Address:
  pippo2-osbpp1ms1.acme.com
 CONTEXTELEMENT>>>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.PublicAddress:
  pippo2-osbpp1ms1.acme.com
 CONTEXTELEMENT>>>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.RemoteAddress:
  /10.56.10.188
 CONTEXTELEMENT>>>
 <<<CONTEXTELEMENT: com.bea.contextelement.channel.ChannelName:
  Default[t3]
 CONTEXTELEMENT>>>
Audit Record End ####



So the client's address is 10.56.10.188 and the remote port is 53443. I go on that box and I do

netstat -an | grep 53443
tcp        0      0 10.56.10.188:53443           10.56.10.183:8001            ESTABLISHED


netstat --all --program | grep 53443
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 acme106.acme53443 pippo2-osbpp1ms:vcom-tunnel ESTABLISHED -



so if you are root you can find the PID of the offending process.

Sunday, October 12, 2014

Mount nfs and rpcbind

I was trying to mount a NFS4 share:

mount -t nfs 10.0.2.15:/drbd/main/shared/ /opt/oracle/domains/osbpl1do/shared
mount.nfs: Connection timed out

Of course, I forgot to start the nfs service:

/etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
                                                           [FAILED]
Starting NFS mountd:                                       [FAILED]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
                                                           [FAILED]

Mmmmm, what is going on here..... I try to get some info on the rpc service:
rpcinfo -p
rpcinfo: can't contact portmapper: RPC: Remote system error - No such file or directory


hell on Earth... let me restart the rpcbind service:

service rpcbind restart

Stopping rpcbind:                                          [FAILED]
Starting rpcbind:                                          [  OK  ]


rpcinfo -p


   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper


at last I can start the nfs service: /etc/init.d/nfs start

Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]