Код: Выделить всё
type=AVC msg=audit(1287491843.001:167): avc: denied { name_connect } for pid=2305 comm="httpd" dest=3434 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socketчтобы разрешить соединение на этот порт, я сделал 2 модуля SELinux. 1) создал объект 'порт'.
Код: Выделить всё
module myservicecontrol_port 1.0;
require
{
attribute port_type;
}
type myservicecontrol_port_t, port_type;добавил значение в объект:
Код: Выделить всё
semanage port -a -t myservicecontrol_port_t -p tcp 34342) разрешил апачу доступ к новому объекту
Код: Выделить всё
module httpd_myservicecontrol_connect 1.0;
require
{
type httpd_t;
type myservicecontrol_port_t;
class tcp_socket name_connect;
}
#allow
allow httpd_t myservicecontrol_port_t:tcp_socket name_connect;
#log(does not actually grant it, it just logs that it is granted)
auditallow httpd_t myservicecontrol_port_t:tcp_socket name_connect;теперь, как положено, в audit.log я вижу
Код: Выделить всё
type=AVC msg=audit(1287504285.791:20723): avc: granted { name_connect } for pid=5810 comm="httpd" dest=3434 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:myservicecontrol_port_t:s0 tclass=tcp_socketвсё работает и апач может присоединиться к 3434 порту любого хоста.
вопрос: как разрешить доступ только к определенными ip адресами? т.е. 192.168.1.56,57:3434 например.