2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RHEL7.6(CentOS7.6) で発生する謎通信(port 53,1900)の原因を突き止めた

Last updated at Posted at 2020-01-22

概要

RHEL7.6で構築したサーバにて下記2点の謎通信が発生し、NW機器のACLに引っかかってログに記録されていた。

① dst port 1900 GUIログイン時に発生(1回のログインで2通信)

(パケットキャプチャ結果)
15:52:33.525715 IP localhost.localdomain.57153 > 239.255.255.250.1900: UDP, length 132

② dst port 53(DNS) 毎晩深夜0時過ぎに発生(毎夜、30通信程)

(パケットキャプチャ結果)
00:00:01.096996 IP localhost.localdomain.53887 > 192.58.128.30.53: 28304% [1au] NS? . (28)

これらの通信に関して、ログに記録されてしまうためログ監視に影響が出ていた。特にDNSの方は、各ルートサーバに複数回アクセスを試みており、大量のログが出てしまっていた。そこで、原因となっているサービスを突き止めて停止し、通信を抑止することを考えた。

結論

① dst port 1900 GUIログイン時に発生(1回のログインで2通信)

ログイン処理の中でGOA(GNOME Online Accounts)というサービスが起動する際に発生している通信だった。GNOME公式ページを参考に下記設定ファイルを作成し、dconf updateを実行してGOAを無効化することで、通信が発生しなくなった。

# vi /etc/dconf/db/local.d/00-goa
/etc/dconf/db/local.d/00-goa
[org/gnome/online-accounts]
whitelisted-providers= ['']
# dconf update

② dst port 53(DNS) 毎晩深夜0時過ぎに発生(毎夜、30通信程)

unbound-anchor.timerというunitの動作が原因だった(実際には、unbound-anchor.serviceがキックされて動いている)。systemctl stop unbound-anchor.timerを実施したところ、通信が発生しなくなった(再起動後も有効にしたい場合は、disableも併せて実施すること)。

# systemctl stop unbound-anchor.timer
# systemctl disable unbound-anchor.timer

検証方法

① dst port 1900 GUIログイン時に発生(1回のログインで2通信)

GUIログイン時(VNCで検証)のsyslog(/var/log/messages)をtailし、同時に1900ポート宛の通信をtcpdumpして通信発生時付近の処理を確認したところ、怪しげなデーモンの起動ログを見つけたので、実行ファイルの場所を特定。

# tail -f /var/log/messages
...(略)...
Jan  7 16:43:01 localhost journal: goa-daemon version 3.28.0 starting
...(略)...
# whereis goa-daemon
/usr/libexec/goa-daemon

一旦力業で実行ファイルを消してみると見事に通信が発生しなくなったため、原因は特定できた。実行ファイルを消して対処するのは流石にスマートではないので、GOAサービスの無効化方法を調べたところ、前述したGNOME公式ページの設定を発見した。

② dst port 53(DNS) 毎晩深夜0時過ぎに発生(毎夜、30通信程)

systemctl list-unit-files --no-pager | grep enableで有効化されたUnitを表示し、怪しいものを探しては停止してみた。サービス停止後はdateコマンドで時間を進めて、tcpdumpで53ポート宛をキャプチャして通信が出るかを確認した。

serviceを一通り止めてみて効果がないなぁと思っていたところ、ポツンとenableになっていたunbound-anchor.timerに目が留まる。調べたところ、DNSSEC絡みの処理をしているようで、大変怪しい。

こちらを停止したところ、0時に時間を進めても通信が発生しなくなった。

おわりに

Linuxプロジェクトでは色々と自動化して便利にしようとしてくれているのかもしれないが、設定も入れてないのにデフォルトで勝手に通信するような機構を入れるのは出来ればご遠慮いただきたい所存。特にバージョンのメジャーアップデートのタイミングでこそっと入れられると、更改でOSバージョン上げた際に確認がしんどい。そんなんいちいち気にせず読み捨てろ、firewallで止めちまえ、とか色々とご意見はあるのだろうと思うが、なかなかそのような択を取りづらい事情もあったり...。同じようにして困っている人がこのご時世に万が一いたならば、
何かの参考になればうれしい限りだ。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?