СПОСОБ, УСТРОЙСТВО И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ДАННЫХ ДЛЯ ЗАВИСЯЩЕЙ ОТ ПРИЛОЖЕНИЯ ФИЛЬТРАЦИИ ПАКЕТОВ ПРОТОКОЛА ПЕРЕДАЧИ ФАЙЛОВ

1. Способ для зависящей от приложения фильтрации пакетов (ASPF) протокола передачи файлов (FTP), включающий:
когда устанавливается соединение протокола управления передачей (TCP) канала управления FTP, получение посланного клиентом первого ТСР-пакета синхронизации (TCP SYN) и пересылку его на сервер FTP;
определение, является ли пакет ответа от сервера FTP TCP-пакетом синхронизации + подтверждения (SYN + ACK) TCP, и в случае, если пакет ответа от сервера FTP не является TCP-пакетом SYN + ACK, отбрасывание пакета ответа;
определение в случае, если пакет ответа от сервера FTP является TCP-пакетом SYN + ACK, является ли пакет ответа от клиента ТСР-пакетом АСК, и в случае, если пакет ответа от клиента не является ТСР-пакетом АСК, отбрасывание пакета ответа; и
в случае, если пакет ответа от клиента является TCP-пакетом АСК, создание таблицы потока данных для записи и обновления состояния FTP.
2. Способ по п. 1, дополнительно включающий:
когда состояние FTP указывает успешное установление ТСР-соединения, требование от клиента передать имя пользователя на сервер FTP;
после получения переданного клиентом имени пользователя уведомление блока регистрации состояния FTP о необходимости обновить состояние FTP на переданное командой USER; и требование от клиента передать пароль на сервер FTP, ожидать пакет подтверждения от сервера и выполнить анализ, успешна ли регистрация; и
после успешной регистрации пользователя запись состояния FTP как успешное установление канала управления, обновление состояния FTP как успешное установление TCP-соединения при неудачной регистрации и требование от пользователя повторно выполнить верификацию имени учетной записи.
3. Способ по п. 2, дополнительно включающий:
анализ содержимого пакета управления команды активного режима (PORT) в канале управления FTP и получение адреса протокола Интернет (IP) и номера порта канала передачи данных; и
установление динамического правила пропускания для канала передачи данных согласно адресу IP и номеру порта канала передачи данных так, чтобы позволить двум сторонам установить канал передачи данных и передать данные, отказывая в пропускании других пакетов, не принадлежащих каналу передачи данных, и удаление динамического правила пропускания для канала передачи данных после передачи по каналу передачи данных.
4. Способ по п. 3, дополнительно включающий:
анализ содержания команды пассивного режима (PASV) и пакета ответа на нее и получение адреса IP и номера порта канала передачи данных; и
установление согласно адресу IP и номеру порта, полученным из пакета ответа на команду PASV, динамического правила пропускания для канала передачи данных для разрешения передачи данных с использованием упомянутых адреса IP и номера порта.
5. Способ по любому из пп. 1-4, дополнительно включающий:
обнаружение установления связи во время трехэтапного согласования для TCP-пакета канала передачи данных, отслеживание и обнаружение процесса взаимодействия TCP, запись состояния TCP и отказ от передачи пакета данных, не удовлетворяющего протоколу взаимодействия.
6. Устройство для зависящей от приложения фильтрации пакетов (ASPF) протокола передачи файлов (FTP), включающее блок обнаружения трехэтапного согласования протокола управления передачей (TCP) и блок регистрации состояния FTP, в котором
блок обнаружения трехэтапного согласования TCP сконфигурирован для:
когда устанавливается TCP-соединение канала управления FTP, получения первого TCP-пакета синхронизации (TCP SYN), посланного клиентом, и пересылки его на сервер FTP;
определения, является ли пакет ответа от сервера FTP TCP-пакетом синхронизации + подтверждения (SYN + ACK), и в случае, если пакет ответа от сервера FTP не является TCP-пакетом SYN + ACK, отбрасывания пакета ответа; и
в случае если пакет ответа от сервера FTP является ТСР-пакетом SYN + ACK, определения, является ли пакет ответа от клиента ТСР-пакетом АСК, и в случае, если пакет ответа от клиента не является ТСР-пакетом АСК, отбрасывание пакета ответа; и
блок регистрации состояния FTP сконфигурирован для создания таблицы потока данных для записи и обновления состояния FTP, если пакет ответа от клиента является TCP-пакетом АСК.
7. Устройство по п. 6, которое дополнительно содержит:
блок обработки имени пользователя, сконфигурированный для требования от клиента послать имя пользователя на сервер FTP, когда состояние FTP указывает успешное установление ТСР-соединения;
блок обработки пароля, сконфигурированный для уведомления после получения имени пользователя, посланного клиентом, блока регистрации состояния FTP о необходимости обновить состояние FTP на переданное командой USER; и требования от клиента передать пароль на сервер FTP, ожидания пакета подтверждения от сервера и анализа, успешна ли регистрация; и
блок регистрации состояния FTP, дополнительно сконфигурированный для записи состояния FTP после успешной регистрации пользователя как успешное установление канала управления, после неудачной регистрации обновления состояния FTP на успешное установление ТСР-соединения и требования от пользователя повторно выполнить верификацию имени учетной записи.
8. Устройство по п. 7, которое дополнительно содержит:
блок анализа, сконфигурированный для анализа содержимого пакета команды активного режима (PORT) в канале управления FTP и получения адреса протокола Интернет (IP) и номера порта канала передачи данных;
блок установления правила фильтрации, сконфигурированный для установления динамического правила пропускания канала передачи данных согласно адресу IP и номеру порта канала передачи данных так, чтобы позволять двум сторонам установить канал передачи данных и передать данные отказывая в пропускании других пакетов, не принадлежащих каналу передачи данных, и удаления динамического правила пропускания канала передачи данных после передачи по каналу передачи данных.
9. Устройство по п. 8, в котором блок анализа дополнительно сконфигурирован для:
анализа содержания команды пассивного режима (PASV) и пакета ответа на нее и получения адреса IP и номера порта канала передачи данных; и
блок установления правила фильтрации дополнительно сконфигурирован для:
установления согласно адресу IP и номеру порта, полученным из пакета ответа на команду PASV, динамического правила пропускания для канала передачи данных, чтобы позволить передачу данных с использованием упомянутых адреса IP и номера порта.
10. Устройство по любому из пп. 6-9, которое дополнительно содержит блок контроля канала передачи данных, сконфигурированный для обнаружения установления связи во время трехэтапного согласования для TCP-пакета в канале передачи данных, отслеживания и обнаружения процесса взаимодействия TCP, записи состояния TCP и отбрасывания пакетов данных, не удовлетворяющих протоколу взаимодействия.
11. Машиночитаемый носитель, на котором хранятся выполняемые компьютером команды, сконфигурированные так, чтобы выполнять способ по какому-либо из пп. 1-5.