Ok, powiedzmy, że odpowiadam za starą aplikację, której szczegółów nie znam, Próbuję zabezpieczyć serwer , a ktoś zasugerował zakazanie portu 21 używanego do FTP.
Ale nie jestem pewien, które programy działają i używają FTP na co dzień.
Powiedz, że nie mam rozwiązania pozwalającego zainstalować narzędzia, które chcę na serwerze lub w sieci. Jakie są moje rozwiązania?
- Czy mam wyciąć port 21 i zobaczyć, jakie są transfery zablokowany przez firewall?
- Czy jest miejsce na serwerze AIX, do którego powinienem się udać i sprawdzić listę serwerów, do których uzyskuje się dostęp przez ten port? Jeśli mam adres IP serwera (ów) i nazwy plików, będę mógł śledzić program, który to robi. Czy istnieje plik dziennika dla FTP?
Edycja:
a) inetd
jest aktywny i ftp
jest w nim (dzięki @JeffSchal ler)
b) Próbuję sprawdzić przychodzące i wychodzący ruch na tym porcie – z wykonanymi poleceniami (jeśli to możliwe). Innymi słowy, moim celem jest wiedzieć
- Jakie polecenia zostały wykonane na lokalnym serwerze FTP
- Jakie polecenia zostały wykonane przez lokalnego klienta FTP na innych serwerach
Wszelkie sugestie mile widziane.
Komentarze
- Jeśli nie ' wiem, jakie systemy używają jakich usług na twoim serwerze. Naprawdę masz bardzo duży problem.
- Którego programu serwera FTP używasz?
- Czy działa z inetd czy samodzielny ?
- Pozwólcie, że przeformułuję prawdę, którą @roaima napisał powyżej: jeśli jesteś administratorem AIX i nie ' nie wiesz, kto / co używa twojego serwera, jesteś w wielkim, wielkim kłopocie.
- Ok chłopaki, pozwólmy ' powiedzieć, że administrator jest na wakacjach i chcę przygotować coś do odpowiedniej dyskusji z nim kiedy wróci.
Odpowiedz
Jakie polecenia zostały wykonane na lokalnym serwerze FTP ver?
Aby włączyć logowanie FTP w systemie AIX, musisz ponownie skonfigurować FTP (wywoływany przez inetd w twoim przypadku), aby wysyłać dzienniki debugowania do syslog i skonfiguruj syslog, aby zapisywał te dzienniki do pliku.
-
Edytuj
/etc/inetd.conf
i dodaj-d
do końca wiersza ftpd:ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -d
-
Odśwież inetd:
refresh -s inetd
-
Edytuj
/etc/syslog.conf
i dodaj wiersz dladaemon.debug
, aby gdzieś zapisać dzienniki :daemon.debug /var/log/ftp.log
-
Utwórz plik, w którym syslog będzie zapisywał:
touch /var/log/ftp.log
-
Odśwież syslogd:
refresh -s syslogd
Syslog wyśle wszystkie dzienniki demona do tego pliku, więc „będziesz chciał go odfiltrować za pomocą grep
, być może: grep "daemon:debug ftpd" /var/log/ftp.log
.
Polecenia które zostały wysłane przez FTP zostaną zarejestrowane jako command:
; tutaj „sa przykład:
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.
Tak, te Control-M pojawiają się jako takie w dziennikach!
Jakie polecenia zostały wykonane przez lokalnego klienta FTP na innych serwerach?
Ponieważ aplikacje mogły wykonywać swoje własne Działania FTP, trudno byłoby opakować każdy możliwy program klienta (taki jak /usr/bin/ftp
), aby to złapać. Najlepszym rozwiązaniem jest skonfigurowanie zdalnego serwera FTP tak, aby zapisywał polecenia, po prostu tak jak zrobiliśmy to powyżej. Drugim najlepszym rozwiązaniem byłoby skonfigurowanie firewalla AIX tak, aby zezwalał na ruch przeznaczony dla portu 21.
Upewnij się, że masz zainstalowany zestaw plików ipsec:
lslpp -L bos.net.ipsec.rte; echo $?
Powinien pokazywać zestaw plików z kodem powrotu 0, a nie:
lslpp: 0504-132 Fileset bos.net.ipsec.rte not installed.
Upewnij się, że urządzenia ipsec są włączone:
lsdev -l ipsec_v4
Powinieneś dostać jedną linijkę z powrotem z napisem „Dostępne”, a nie „Zdefiniowane” lub w ogóle brak linii.
Jeśli nie było wyjścia lub urządzenie było „Zdefiniowane”:
- uruchom
smitty ipsec4
- wybierz
Start/Stop IP Security
, - wybierz
Start IP Security
, - pozostaw wartości domyślne w
Now and After Reboot
iDeny All Non_Secure = no
- naciśnij Enter.
Ipsec device_v4 powinien być teraz wyświetlany jako „Dostępny”.
Utwórz plik dziennika zawierający: touch /var/log/ipsec.log
.
Zaktualizuj syslog:
echo "local4.debug /var/log/ipsec.log rotate size 100k files 4" >> /etc/syslog.conf refresh -s syslogd
Dodaj regułę zezwalającą i rejestrującą ruch przeznaczony dla portu 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”
Rozpocznij rejestrowanie:
mkfilt -g start
Aktywuj zestaw reguł:
mkfilt -u
Poczekaj na wystąpienie wychodzących połączeń FTP, a następnie:
grep ipsec_logd /var/log/ipsec.log | grep DP:21
Zobaczysz źródłowe i docelowe adresy IP dla wychodzących połączeń FTP wraz z znaczniki czasu, takie jak:
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
Nie rejestruje zawartości (poleceń) sesji FTP, ale będziesz mają sygnatury czasowe i miejsca docelowe. Zauważ, że każdy pakiet każdego połączenia FTP jest rejestrowany!
Referencje: