Okej, låt oss säga att jag är ansvarig för gammal applikation som jag inte riktigt vet detaljerna i, jag försöker säkra min server och någon föreslog att förbjuda 21-porten som använde för FTP.
Men jag är inte säker på vilka program som körs och använder FTP dagligen.
Säg att jag inte har lösningen för att installera de verktyg jag vill ha på servern eller i nätverket. Vad är mina lösningar?
- Ska jag klippa 21-porten och se vad överföringar är blockerad av brandväggen?
- Finns det en plats på AIX-servern där jag ska gå och titta för att se listan över åtkomliga och åtkomstservrar via den här porten? Om jag har IP: n för servern / serverna och filnamnen kommer jag att kunna spåra programmet som gör det. Finns det en loggfil för FTP?
Redigera:
a) inetd
är aktiv och ftp
finns i den (tack @JeffSchal ler)
b) Jag försöker veta inkommande och utgående trafik på den här porten – med de kommandon som utfördes (om möjligt). Med andra ord är mitt mål att veta
- Vilka kommandon har utförts på den lokala FTP-servern
- Vilka kommandon har utförts av den lokala FTP-klienten till andra servrar
Alla förslag är välkomna.
Kommentarer
- Om du inte ' t vet vilka system som använder vilka tjänster på din server du har ett mycket stort problem.
- Vilket FTP-serverprogram använder du?
- Körs det från inetd eller fristående ?
- Låt mig omformulera sanningen som @roaima skrev ovan: om du är AIX-administratör och inte ' vet inte vem / vad som använder din server är du i stora, stora problem.
- Okej killar, låt ' säger att admin är på semester och jag vill förbereda något för att ha relevant diskussion med honom när han kommer tillbaka.
Svar
Vilka kommandon har utförts på den lokala FTP-servern ver?
För att aktivera FTP-loggning i ett AIX-system måste du konfigurera om FTP (kallas av inetd i ditt fall) för att skicka felsökningsloggar till syslog och för att konfigurera syslog för att spara loggarna i en fil.
-
Redigera
/etc/inetd.conf
och lägg till-d
till slutet av ftpd-raden:ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -d
-
Uppdatera inetd:
refresh -s inetd
-
Redigera
/etc/syslog.conf
och lägg till en rad fördaemon.debug
för att spara loggarna någonstans :daemon.debug /var/log/ftp.log
-
Skapa en fil för syslog att skriva till:
touch /var/log/ftp.log
-
Uppdatera syslogd:
refresh -s syslogd
Syslog skickar alla daemons loggar till den här filen så att du vill filtrera ner den med grep
, kanske: grep "daemon:debug ftpd" /var/log/ftp.log
.
Kommandon som skickades via FTP loggas med strängen command:
; här ”ett exempel:
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.
Ja, dessa Control-M” visas som sådana i loggarna!
Vilka kommandon har utförts av den lokala FTP-klienten till andra servrar?
Eftersom applikationer kunde utföra sina egna FTP-åtgärder, det skulle vara svårt att slå ihop alla möjliga klientprogram (som /usr/bin/ftp
) för att fånga detta. Det bästa är att konfigurera fjärr-FTP-servern för att logga kommandona, bara som vi gjorde ovan. Det näst bästa skulle vara att konfigurera AIX-brandväggen för att tillåta och logga trafik avsedd för port 21.
Se till att du har ipsec-filuppsättningen installerad:
lslpp -L bos.net.ipsec.rte; echo $?
Den ska visa en filuppsättning med en returkod på 0 och inte:
lslpp: 0504-132 Fileset bos.net.ipsec.rte not installed.
Se till att ipsec-enheterna är aktiverade:
lsdev -l ipsec_v4
Du bör få tillbaka en rad som säger ”Tillgänglig”, inte ”Definierad” eller inga rader alls.
Om det inte fanns någon utdata eller enheten var ”Definierad”:
- kör
smitty ipsec4
- välj
Start/Stop IP Security
, - välj
Start IP Security
, - lämna standardvärdena vid
Now and After Reboot
ochDeny All Non_Secure = no
- tryck Enter.
Ipsec device_v4 ska nu visas som ”Tillgänglig”.
Skapa en loggningsfil med: touch /var/log/ipsec.log
.
Uppdatera syslog:
echo "local4.debug /var/log/ipsec.log rotate size 100k files 4" >> /etc/syslog.conf refresh -s syslogd
Lägg till en regel för att tillåta och logga trafik avsedd för port 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”
Börja logga:
mkfilt -g start
Aktivera regleruppsättningen:
mkfilt -u
Vänta tills utgående FTP-anslutningar inträffar, sedan:
grep ipsec_logd /var/log/ipsec.log | grep DP:21
Du kommer att se käll- och destinations-IP: er för utgående FTP-anslutningar tillsammans med tidsstämplar, till exempel:
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
Det loggar inte innehållet (kommandon) i FTP-sessionen, men du kommer att har tidsstämplar och destinationer. Observera att alla paket för varje FTP-anslutning loggas!
Referenser: