Доступ к сети Oracle 12c ORA-24247 запрещен списком контроля доступа (ACL) при использовании FTP - PullRequest
0 голосов
/ 09 октября 2018

Я работаю с Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64-разрядная версия и пытаюсь использовать пакет ftp (UTL_TCP).Вот процедура:

declare 
    l_conn UTL_TCP.connection;
    l_list ftp.t_string_table   := ftp.t_string_table(); 
begin
    l_conn := ftp.login('ftp.myhost.com', 21, 'user', 'password');
    ftp.nlst(p_conn => l_conn,p_dir  => 'outbox',p_list => l_list);
    ftp.logout(l_conn);
end;

Ошибка возникает для ftp.nlst .

Я настроил ACL следующим образом: select * from dba_network_acls; возвращает

HOST           | LOWER_PORT | UPPER_PORT | ACL                   | ACLID            | ACL_OWNER
-----------------------------------------------------------------------------------------------
ftp.myhost.com |  null      | null       | /myaclspath/myacl.xml | 00000000800027C5 | SYS
*              |  null      | null       | NETWORK_ACL_5A1900... | 0000000080002724 | SYS

и select * from dba_network_acl_privileges возвращает

ACL                   | ACLID            | PRINCIPAL | PRIVILEGE | IS_GRANT | INVERT | START_DATE | END_DATE | ACL_OWNER
------------------------------------------------------------------------------------------------------------------------
/myaclspath/myacl.xml | 00000000800027C5 | MYDBUSER  | resolve   | true     | false  |            |          |SYS
/myaclspath/myacl.xml | 00000000800027C5 | MYDBUSER  | connect   | true     | false  |            |          |SYS

Я читал об аналогичной ошибке здесь и проверяю настройку ACL как здесь , но я могуНе могу понять, почему доступ к сети запрещен после входа в систему.

Заранее спасибо за любые предложения.

1 Ответ

0 голосов
/ 12 октября 2018

Отвечая на мой вопрос в интересах других.

Просмотр найденных шагов здесь Я проверил пакет ftp и понял, что каждая "команда" отправляет PASV перед выполнением.В этом случае PASV меняет соединение, установленное при входе в систему.

Успешный вход в систему из-за ACL для ftp.myhost.com , но каждая следующая команда ftp не выполняется, поскольку она не отправляется как ftp.myhost.com , а как 111.222.333.444 , то есть относительный IP.Добавление ACL для IP-адреса устраняет ошибку ORA-24247.

Мое решение четко упомянуто здесь , и я виноват в том, что не перепроверил правильную документацию, но я хотел бы поделиться здесьвопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...