Inicio > Tech - Security > OHS12c vs privilege ports (<1024)

OHS12c vs privilege ports (<1024)

En versiones previas a la 12c, para poder configurar la recepción de solicitudes por los puertos inferiores a 1024, “bastaba” con modificar los puertos en los ficheros de configuración y con ejecutar apache con permisos root realizando lo siguiente:

cd ORACLE_HOME/ohs/bin
chown root .apachectl
chmod 6750 .apachectl

En la versión 12c este procedimiento ha variado especialmente en lo que refiere a los ejecutables, los ficheros de configuración del OHS se ubican en el directorio $DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1.  Aquellos que nos interesan para modificar los puertos son los mismos que en la versión anterior “httpd.conf” y “ssl.conf”.

Para empezar a enviar peticiones en puertos inferiores al 1024 (por ejemplo usando el puerto 443 para conexiones seguras), y tras modificar los ficheros de configuración, será necesario ejecutar las siguientes acciones:

Con los componentes OHS parados y conectados con el usuario propietario de los binarios (“oracle” en nuestro caso).

[oracle@prueba_host ohs1]$ echo `id -ng`: bind > /tmp/cap.ora
[oracle@prueba_host ohs1]$ cat /etc/cap.ora
oracle: bind

Estos comandos almacenan en un fichero los datos del propietario de los binarios y el tipo de permiso que le queremos dar (en este caso el de “bind”).

Acto seguido y como root, modificaremos los permisos y propietario de los ficheros “hasbind” y “cap.ora” y trasladaremos este ultimo a su ubicación definitiva en la carpeta /etc.

chown root $ORACLE_HOME/oracle_common/bin/hasbind
chmod 4755 $ORACLE_HOME/oracle_common/bin/hasbind
cp /tmp/cap.ora /etc/cap.ora
chmod 644 /etc/cap.ora
chown root /etc/cap.ora

Tras estas acciones se debería poder iniciar los procesos de OHS, pero debido a un bug no resuelto en las versiones 12.1.x, veremos las siguientes entradas al intentar iniciar el ohs:

$DOMAIN_HOME/bin/startComponent.sh ohs1 storeUserConfig
Starting system Component ohs1 ...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Reading domain from /u01/Middleware/OHS12c/user_projects/domains/ohs_domain

Using existing user key file...
The username and password that were used for this WebLogic NodeManager connection are stored in /home/oracle/.wlst/nm-cfg-ohs_domain.props and /home/oracle/.wlst/nm-key-ohs_domain.props.
Connecting to Node Manager ...
Successfully Connected to Node Manager.
Starting server ohs1 ...
Error Starting server ohs1: weblogic.nodemanager.NMException: Received error message from Node Manager Server: [Server start command for OHS server 'ohs1' failed due to: [Failed to start the server ohs1
Check log file /u01/Middleware/OHS12c/user_projects/domains/ohs_domain/system_components/OHS/ohs_nm.log
Check log file /u01/Middleware/OHS12c/user_projects/domains/ohs_domain/servers/ohs1/logs/ohs1.log]. Please check Node Manager log and/or server 'ohs1' log for detailed information.]. Please check Node Manager log for details.
Successfully disconnected from Node Manager.

Exiting WebLogic Scripting Tool.

Done

Si revisamos los log que indican veremos los siguientes registros:

[2015-10-14T12:44:47.0648+02:00] [OHS] [INCIDENT_ERROR:32] [OHS-9999] [worker.c] [host_id: prueba_host] [host_addr: xxxxxxxx] [pid: 24087] [tid: 140603342092096] [user: oracle] [VirtualHost: main] (13)Permission denied: make_sock: could not bind to address [::]:443
[2015-10-14T12:44:47.0677+02:00] [OHS] [INCIDENT_ERROR:32] [OHS-9999] [worker.c] [host_id: prueba_host] [host_addr: xxxxxxxx] [pid: 24087] [tid: 140603342092096] [user: oracle] [VirtualHost: main] (13)Permission denied: make_sock: could not bind to address 0.0.0.0:443
[2015-10-14T12:44:47.0677+02:00] [OHS] [INCIDENT_ERROR:20] [OHS-9999] [worker.c] [host_id: prueba_host] [host_addr: xxxxxxxx] [pid: 24087] [tid: 140603342092096] [user: oracle] [VirtualHost: main] no listening sockets available, shutting down
[2015-10-14T12:44:47.0677+02:00] [OHS] [ERROR:32] [OHS-9999] [core.c] [host_id: prueba_host] [host_addr: xxxxxxxx] [pid: 24087] [tid: 140603342092096] [user: oracle] [VirtualHost: main] Unable to open logs

que nos indican que deberemos instalar el parche “Patch 17533212: OHS CAN NOT STARTUP WITH PRIVILEGE PORT ON LINUX 6”.

Ya con el parche descargado y descomprimido en el servidor, configuraremos las variables de entorno necesarias (ORACLE_HOME y PATH) para poder ejecutar correctamente la sentencia de opatch con la que instalaremos el parche.

Indicar que, tal como detalla el README del parche, antes de su instalación es necesario devolver el fichero “hasbind” de manera temporal a su anterior propietario “oracle”, en caso contrario el parche no se instalaría por errores de permisos.

 [oracle@prueba_host ~]$ export ORACLE_HOME=/u01/Middleware/OHS12c/
[oracle@prueba_host ~]$ export PATH=$ORACLE_HOME/OPatch:$PATH
[oracle@prueba_host ~]$ cd ~/scripts/parches/17533212
[oracle@prueba_host 17533212]$opatch apply
Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/Middleware/OHS12c
Central Inventory : /home/oracle/oraInventory
   from           : /u01/Middleware/OHS12c//oraInst.loc
OPatch version    : 13.2.0.0.0
OUI version       : 13.2.0.0.0
Log file location : /u01/Middleware/OHS12c/cfgtoollogs/opatch/17533212_Oct_14_2015_12_58_24/apply2015-10-14_12-58-16PM_1.log


OPatch detects the Middleware Home as "/u01/Middleware/OHS12c"

Oct 14, 2015 12:58:25 PM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level  0
Applying interim patch '17533212' to OH '/u01/Middleware/OHS12c'
Verifying environment and performing prerequisite checks...
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/Middleware/OHS12c')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...

Patching component oracle.ha, 12.1.2.0.0...

Verifying the update...
Patch 17533212 successfully applied
Log file location: /u01/Middleware/OHS12c/cfgtoollogs/opatch/17533212_Oct_14_2015_12_58_24/apply2015-10-14_12-58-16PM_1.log

OPatch succeeded.

Una vez hecho volvemos a asignar a root como propietario de “hasbind” y re-arrancamos el OHS, esta vez satisfactoriamente.

$DOMAIN_HOME/bin/startComponent.sh ohs1 storeUserConfig
Starting system Component ohs1 ...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Reading domain from /u01/Middleware/OHS12c/user_projects/domains/ohs_domain
 
 
Using existing user key file...
The username and password that were used for this WebLogic NodeManager connection are stored in /home/oracle/.wlst/nm-cfg-ohs_domain.props and /home/oracle/.wlst/nm-key-ohs_domain.props.
Connecting to Node Manager ...
Successfully Connected to Node Manager.
Starting server ohs1 ...
Successfully started server ohs1 ...
Successfully disconnected from Node Manager.


Exiting WebLogic Scripting Tool.

Done
Categorías:Tech - Security Etiquetas: ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: