わかりました。詳細がわからない古いアプリケーションを担当しているとしましょう。セキュリティを確保しようとしていますサーバー、および誰かがFTPに使用される21ポートを禁止することを提案しました。
しかし、どのプログラムが実行されており、日常的にFTPを使用しているかはわかりません。
サーバーまたはネットワークに必要なツールをインストールするためのソリューションがないとします。私のソリューションは何ですか?
- 21ポートを切断して、転送が何であるかを確認する必要がありますか?ファイアウォールによってブロックされていますか?
- このポートを介してアクセスおよびアクセスしているサーバーのリストを確認するためにAIXサーバー上に移動する場所はありますか?サーバーのIPを持っている場合ファイル名と、それを実行しているプログラムを追跡できるようになります。FTPのログファイルはありますか?
編集:
a) inetd
がアクティブで、ftp
がその中にあります(@ JeffSchalに感謝ler)
b)着信と送信トラフィック-実行されたコマンド(可能な場合)。言い換えれば、私の目標は、
- ローカルFTPサーバーで実行されたコマンド
- ローカルFTPクライアントから他のサーバーに対して実行されたコマンドを知ることです
どんな提案も歓迎します。
コメント
- しない場合'どのシステムがサーバー上のどのサービスを使用しているかわからないので、非常に大きな問題があります。
- どのFTPサーバープログラムを使用していますか?
- inetdから実行されていますかスタンドアロンから実行されていますか?
- @roaimaが上記で書いた真実を言い換えさせてください。あなたがAIX管理者であり、'サーバーを誰が/何が使用しているかわからない場合、あなたは大きな問題に直面しています。
- わかりました。'は、管理者が休暇中であると言いましょう。彼と適切な話し合いができるように準備したいと思います。彼が戻ってきたとき。
回答
どのコマンドローカルFTPサーバーで実行されましたver?
AIXシステムでFTPロギングを有効にするには、FTPを再構成して(この場合はinetdによって呼び出されます)デバッグログをsyslogに送信する必要があります。これらのログをファイルに保存するようにsyslogを構成します。
-
/etc/inetd.conf
を編集して-d
ftpd行の終わりまで:ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -d
-
inetdを更新:
refresh -s inetd
-
/etc/syslog.conf
を編集し、daemon.debug
の行を追加して、ログをどこかに保存します:daemon.debug /var/log/ftp.log
-
Syslogに書き込むファイルを作成します:
touch /var/log/ftp.log
-
syslogdの更新:
refresh -s syslogd
Syslogはデーモンのログを送信しますこのファイルに追加するので、「grep
、おそらくgrep "daemon:debug ftpd" /var/log/ftp.log
でフィルタリングする必要があります。
コマンドFTP経由で送信されたものは、文字列command:
でログに記録されます。 here “sa sample:
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
「定義済み」ではなく、「使用可能」という1行が返されるか、行がまったく返されません。
もし出力がなかった場合または、デバイスが「定義済み」でした:
- run
smitty ipsec4
-
Start/Stop IP Security
、 -
Start IP Security
を選択し、 - デフォルトを
Now and After Reboot
と
ipsecdevice_v4が「Available」と表示されます。
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と宛先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接続のすべてのパケットがログに記録されることに注意してください!
参照: