좋아, 내가 세부 사항을 잘 모르는 오래된 애플리케이션에 대한 책임이 있다고 가정 해 봅시다. 내 server , 그리고 누군가가 FTP에 사용되는 21 개의 포트를 금지 할 것을 제안했습니다.

하지만 어떤 프로그램이 매일 실행되고 있고 FTP를 사용하는지 잘 모르겠습니다.

서버 나 네트워크에 원하는 도구를 설치할 솔루션이 없다고 가정합니다. 내 솔루션은 무엇입니까?

  • 21 포트를 잘라서 전송이 무엇인지 확인해야합니까? 방화벽에 의해 차단 되었습니까?
  • AIX 서버에서이 포트를 통해 액세스하고 액세스하는 서버 목록을 확인해야하는 위치가 있습니까? 서버의 IP가있는 경우 그리고 파일 이름을 입력하면 프로그램을 추적 할 수 있습니다. FTP 용 로그 파일이 있습니까?

편집 :

a) inetd가 활성화되고 ftp가 그 안에 있습니다. (@ JeffSchal에게 감사 ler)

b) 수신 이 포트에서 나가는 트래픽-수행 된 명령 (가능한 경우). 즉, 내 목표는

  • 로컬 FTP 서버에서 수행 된 명령
  • 로컬 FTP 클라이언트가 다른 서버에 수행 한 명령

모든 제안을 환영합니다.

댓글

  • 그렇지 않은 경우 ' 어떤 시스템이 서버에서 어떤 서비스를 사용하고 있는지 알지 못합니다. 정말 큰 문제가 있습니다.
  • 어떤 FTP 서버 프로그램을 사용하고 있습니까?
  • 이 프로그램이 inetd 또는 독립 실행 형에서 실행되고 있습니까? ?
  • @roaima가 위에서 작성한 진실을 다시 말씀 드리겠습니다. AIX 관리자이고 서버를 누가 / 무엇을 사용하는지 ' 모르는 경우 큰 문제입니다.
  • 좋아요. ' 관리자가 휴가 중이라고 말하고 관련 토론을 할 수 있도록 준비하고 싶습니다. 그가 돌아올 때.

답변

어떤 명령 로컬 FTP 서버에서 수행되었습니다. ver?

AIX 시스템에서 FTP 로깅을 사용하려면 syslog에 디버그 로그를 보내도록 FTP (귀하의 경우 inetd에 의해 호출 됨)를 재구성해야합니다. 로그를 파일에 저장하도록 syslog를 구성합니다.

  1. /etc/inetd.conf를 편집하고 -d를 ftpd 줄 끝까지 :

    ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -d 
  2. inetd 새로 고침 : refresh -s inetd

  3. /etc/syslog.conf를 수정하고 daemon.debug 줄을 추가하여 로그를 어딘가에 저장합니다. :

    daemon.debug /var/log/ftp.log 
  4. syslog에 쓸 파일을 만듭니다. touch /var/log/ftp.log

  5. syslogd 새로 고침 : refresh -s syslogd

Syslog는 모든 데몬의 로그를 보냅니다. 따라서 “grep (예 : grep "daemon:debug ftpd" /var/log/ftp.log)로 필터링 할 수 있습니다.

명령 FTP를 통해 전송 된 파일은 command: 문자열로 기록됩니다. 여기에 “샘플”이 있습니다.

May 18 10:13:35 ftpserver daemon:debug ftpd[3932700]: command: USER username-here^M May 18 10:13:35 ftpserver daemon:debug ftpd[3932700]: <--- 331 May 18 10:13:35 ftpserver daemon:debug ftpd[3932700]: Password required for username-here. May 18 10:13:42 ftpserver daemon:debug ftpd[3932700]: command: PASS May 18 10:13:42 ftpserver daemon:debug ftpd[3932700]: <--- 230- May 18 10:13:42 ftpserver daemon:debug ftpd[3932700]: Last login: Fri May 18 10:13:02 EDT 2018 on ftp from ftpclient.example.com May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 230 May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: User username-here logged in. May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: command: PORT 10,1,1,1,229,54^M May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 200 May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: PORT command successful. May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: command: LIST^M May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 150 May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: Opening data connection for /bin/ls. May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 226 May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: Transfer complete. 

예, Control-M은 로그에 그대로 나타납니다!


로컬 FTP 클라이언트가 다른 서버에 대해 수행 한 명령은 무엇입니까?

애플리케이션이 자체적으로 수행 할 수 있기 때문에 FTP 작업을 수행하면 가능한 모든 클라이언트 프로그램 (예 : /usr/bin/ftp)을 래핑하기가 어렵습니다. 가장 좋은 방법은 명령을 기록하도록 원격 FTP 서버를 구성하는 것입니다. 두 번째로 좋은 방법은 포트 21로 향하는 트래픽을 허용 및 기록하도록 AIX 방화벽을 구성하는 것입니다.

ipsec 파일 세트가 설치되어 있는지 확인하십시오.

lslpp -L bos.net.ipsec.rte; echo $? 

다음이 아닌 반환 코드 0과 함께 나열된 파일 세트를 표시해야합니다.

lslpp: 0504-132 Fileset bos.net.ipsec.rte not installed. 

ipsec 장치 확인 활성화 됨 :

lsdev -l ipsec_v4 

“Defined”가 아닌 “Available”이라는 한 줄이 다시 나타나거나 전혀 줄이 없어야합니다.

만약 출력이없는 경우 또는 장치가 “정의 됨”:

  1. 실행 smitty ipsec4
  2. Start/Stop IP Security,
  3. Start IP Security를 선택하고
  4. 기본값을 Now and After Reboot
  5. Enter 키를 누릅니다.

ipsec device_v4는 이제 “사용 가능”으로 표시됩니다.

다음을 사용하여 로깅 파일을 만듭니다. touch /var/log/ipsec.log.

syslog 업데이트 :

echo "local4.debug /var/log/ipsec.log rotate size 100k files 4" >> /etc/syslog.conf refresh -s syslogd 

포트 21로 향하는 트래픽을 허용하고 기록하는 규칙 추가 :

# -v 4 == IPv4 # -n 2 == add this after the first rule # -a P == permit # -O eq == destination port *equals* 21 # -P 21 == destination port 21 # -w O == outbound connections; change this to “B” to log in both directions # -c tcp == TCP protocol # -s, -m, -d, -M = source/dest IP & mask (any) # -l Y = Log it # -r L = applies only to packets destined or originated from the local host genfilt -v 4 -n 2 -a P -O eq -P 21 -w O -c tcp -s 0.0.0.0 -m 0.0.0.0 -d 0.0.0.0 -M 0.0.0.0 -l Y -r L -D “allow and log port 21 traffic” 

로깅 시작 :

mkfilt -g start 

규칙 세트 활성화 :

mkfilt -u 

아웃 바운드 FTP 연결이 발생할 때까지 기다린 다음

grep ipsec_logd /var/log/ipsec.log | grep DP:21 

아웃 바운드 FTP 연결의 소스 및 대상 IP와 함께 다음과 같은 타임 스탬프 :

May 18 11:29:40 localhost local4:info ipsec_logd: #:0 R:p O:10.1.1.1 S:10.1.1.1 D:10.2.2.2 P:tcp SP:55091 DP:21 R:l I:en0 F:n T:0 L:0 

FTP 세션의 콘텐츠 (명령)는 기록하지 않지만 타임 스탬프와 대상이 있습니다. 각 FTP 연결의 모든 패킷이 기록됩니다.


참조 :

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다