[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:48850] /root/.bash_history cleared



渡辺と申します。

環境:
 Debian Etch

現象:
 ssh でログインして操作しているホストにて、/root/.bash_history 
が知らぬ間に空にされていました。

問題:
 クラックされているのではないか心配です。

状況:
 私が当日の夜遅くに気づいたときには、

= = = ここから = = =
# cat /root/.bash_history
less /var/log/syslog
exit
= = = ここまで = = =

という「当日分の記録」しか残っておらず、前日、電源を落とした
ときにあったものが消えていました。

上記の less /var/log/syslog を実行したのは、当日の昼頃でした
が、前日の夜遅くに、ホストの電源を落とした時点では、
.bash_history に異常は見られませんでした。

Google で調べてみると、exit の仕方が不十分だと、.bash_history 
が消えるようなことがあるそうですが、確か、less /var/log/syslog 
で、DHCP デーモンがどんな IP を LAN 内の、あるホストに割り当てて
いるのか調べたあと、ssh 接続に使っていた LAN ケーブルの交換を
行なったのですが、less /var/log/syslog の後に exit というコマンド
ラインがキチンとあるので、~/.bash_history に影響が出るのはあり
得るかもしれませんが、/root/.bash_history に影響が出るというのは
ちょっと考えにくいと思います。
あるいは、exit した後、再び su してから放置していたときに、
LAN ケーブルを交換したとかかな??

= = = ここから = = =
# echo $HISTSIZE
500
# echo $HISTFILE
/root/.bash_history
= = = ここまで = = =

= = = ここから = = =
# chkrootkit -q
The following suspicious files and directories were found:
/usr/lib/iceweasel/.autoreg
/usr/lib/xulrunner/.autoreg
/usr/lib/epiphany/2.14/extensions/.pyversion
/lib/init/rw/.ramfs

/usr/lib/security
/usr/lib/security/classpath.security
eth0: PACKET SNIFFER(/usr/sbin/dhcpd[2590])
eth1: PACKET SNIFFER(/usr/sbin/pppoe[2106], /usr/sbin/pppoe[2106])
= = = ここまで = = =

/usr/lib/epiphany/2.14/extensions/.pyversion
というのが、怪しいと感じましたが、
= = = ここから = = =
$ dpkg -L epiphany-extensions | grep pyversion
/usr/lib/epiphany/2.14/extensions/.pyversion
= = = ここまで = = =
のように通常のファイルのように思えます。

eth0 の dhcpd
eth1 の pppoe
というのは、確かに私の意志で利用中です。

= = = ここから = = =
# debsums -a -c
debsums: no md5sums for at
debsums: no md5sums for base-files
debsums: no md5sums for bc
/etc/bind/named.conf.options
/etc/bind/named.conf.local
debsums: no md5sums for binutils
debsums: no md5sums for bsdutils
debsums: no md5sums for bzip2
debsums: no md5sums for console-data
/etc/crontab
debsums: no md5sums for dc
debsums: no md5sums for debian-archive-keyring
/etc/dhcpd.conf
debsums: no md5sums for doc-debian
debsums: no md5sums for ed
debsums: no md5sums for g++
debsums: no md5sums for gij
debsums: no md5sums for gnupg
debsums: no md5sums for gpgv
debsums: no md5sums for initscripts
debsums: no md5sums for installation-report
debsums: no md5sums for iproute
debsums: no md5sums for klogd
debsums: no md5sums for libaudio2
debsums: no md5sums for libbz2-1.0
debsums: no md5sums for libdb4.2
debsums: no md5sums for libdb4.3
debsums: no md5sums for libdb4.4
debsums: no md5sums for libgdbm3
debsums: no md5sums for libgsm1
debsums: no md5sums for liblockfile1
debsums: no md5sums for libncurses5
debsums: no md5sums for libncursesw5
debsums: no md5sums for libvolume-id0
debsums: no md5sums for make
debsums: no md5sums for mawk
debsums: no md5sums for mime-support
debsums: no md5sums for mkisofs
debsums: no md5sums for module-init-tools
debsums: no md5sums for mount
debsums: no md5sums for mpack
debsums: no md5sums for ncurses-base
debsums: no md5sums for ncurses-bin
debsums: no md5sums for ncurses-term
debsums: no md5sums for netbase
debsums: no md5sums for openbsd-inetd
/etc/ppp/peers/dsl-provider
/etc/sysctl.conf
debsums: no md5sums for ssh
debsums: no md5sums for strace
debsums: no md5sums for sysklogd
debsums: no md5sums for sysv-rc
debsums: no md5sums for sysvinit
debsums: no md5sums for sysvinit-utils
debsums: no md5sums for udev
debsums: no md5sums for uim
/etc/uim/installed-modules.scm
/etc/uim/loader.scm
debsums: no md5sums for update-inetd
debsums: no md5sums for util-linux
debsums: no md5sums for whois
= = = ここまで = = =

/etc/bind/named.conf.options
/etc/bind/named.conf.local
/etc/crontab
/etc/dhcpd.conf
/etc/ppp/peers/dsl-provider
/etc/sysctl.conf
これらは、自分で変更したものです。
正直に言うと、この中で、私の無知による不安を感じているのは、
bind 関連の設定であり、特に、/etc/bind/named.conf.options 
での次のような変更点が心配です。
+       forwarders {
+               // my ISP's name servers
+               203.141.128.33;
+               203.141.128.34;
+       };
+       allow-transfer { none; };
+       allow-query { localnets; };

/etc/uim/installed-modules.scm
/etc/uim/loader.scm
これらは、自分で変更した記憶はありませんが、独自に、uim-skk
パッケージのインストールはしました。その影響でしょうか?

no md5sums for 何々
という大量のメッセージが出ていますが、これらの
パッケージは念のため、リインストールすべきでしょうか?

インストールしているバックポートは、
http://www.hellion.org.uk/debian/pool/i/ivtv0.10/ivtv0.10-utils_0.10.1-1_i386.deb
http://www.hellion.org.uk/debian/pool/i/ivtv0.10/ivtv0.10-source_0.10.1-1_all.deb
ivtv0.10-modules-2.6.18-4-686_0.10.1-1+2.6.18.dfsg.1-12etch1_686.deb
ivtv-firmware_1.18.21.22254_all.deb *ivtv-make-fwpkg で作成したもの
の 4 つです。

というか、netfilter を使っているようなホストをクラックできる
ような人物なら、/var/log/auth.log はもとより、chkrootkit や
debsums に、異常が出てしまうような痕跡は残さないでしょうか???

= = = ここから = = =
# iptables -t filter -L -nv --line-numbers
Chain INPUT (policy DROP 35 packets, 4338 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       30  2182 ACCEPT     0    --  lo     *       0.0.0.0/0            0.0.0.0/0 
2    46131 2564K ACCEPT     0    --  eth0   *       0.0.0.0/0            0.0.0.0/0 
3    89473  128M ppp-in     0    --  ppp0   *       0.0.0.0/0            0.0.0.0/0 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     0    --  lo     *       0.0.0.0/0            0.0.0.0/0 
2    54855 3110K ACCEPT     0    --  eth0   *       0.0.0.0/0            0.0.0.0/0 
3    97708  136M ppp-forward  0    --  ppp0   *       0.0.0.0/0            0.0.0.0/0
4        0     0 ppp-out    0    --  *      ppp0    0.0.0.0/0            0.0.0.0/0 

Chain OUTPUT (policy ACCEPT 108K packets, 12M bytes)
num   pkts bytes target     prot opt in     out     source               destination
1    52028 2758K ppp-out    0    --  *      ppp0    0.0.0.0/0            0.0.0.0/0 

Chain log_n_drop (5 references)
num   pkts bytes target     prot opt in     out     source               destination
1       14  6885 LOG        0    --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 3/hour burst 5 LOG flags 0 level 4 prefix `netfilter '
2      210 83308 DROP       0    --  *      *       0.0.0.0/0            0.0.0.0/0 

Chain ppp-forward (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1    97708  136M ACCEPT     0    --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2        0     0 log_n_drop  0    --  *      *       0.0.0.0/0            0.0.0.0/0

Chain ppp-in (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1    89240  128M ACCEPT     0    --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2        5   276 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
3        9   532 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:25
4        9   649 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
5      210 83308 log_n_drop  0    --  *      *       0.0.0.0/0            0.0.0.0/0

Chain ppp-out (2 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:135
2        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:135
3        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:137:139
4        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpts:137:139
5        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:445
6        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:445
7        0     0 log_n_drop  0    --  *      *       0.0.0.0/0            10.0.0.0/8
8        0     0 log_n_drop  0    --  *      *       0.0.0.0/0            172.16.0.0/12
9        0     0 log_n_drop  0    --  *      *       0.0.0.0/0            192.168.0.0/16
# iptables -t nat -L -nv --line-numbers
Chain PREROUTING (policy ACCEPT 754 packets, 129K bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 35 packets, 2349 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1      785 51549 SNAT       0    --  *      ppp0    0.0.0.0/0            0.0.0.0/0           to:固定IP

Chain OUTPUT (policy ACCEPT 370 packets, 26432 bytes)
num   pkts bytes target     prot opt in     out     source               destination
= = = ここまで = = =
*「固定IP」は実際のものは伏せてあります。

ppp0 に関連するところだけは、
/etc/ppp/ip-{up,down}.d/iptables{Up,Down} というファイルにて
コントロールしており、if{up,down} ppp0 のときに有効/無効になります。
= = = ここから = = =
$ cat /etc/ppp/ip-up.d/iptablesUp
#!/bin/sh

# 2007-05-28 追加
# どうも、タイミングが早いような気がするので、ちょっとだけ sleep してみることにする
sleep 30

IPTABLES=/sbin/iptables
MODPROBE=/sbin/modprobe

# for INPUT
${IPTABLES} -v -t filter -A INPUT -i ${PPP_IFACE} -j ppp-in

# for FORWARD
${IPTABLES} -v -t filter -A FORWARD -i ${PPP_IFACE} -j ppp-forward
${IPTABLES} -v -t filter -A FORWARD -o ${PPP_IFACE} -j ppp-out

# for OUTPUT 
${IPTABLES} -v -t filter -A OUTPUT -o ${PPP_IFACE} -j ppp-out

# for POSTROUTING
${IPTABLES} -v -t nat -I POSTROUTING -o ${PPP_IFACE} -j SNAT --to 固定IP --modprobe=${MODPROBE}
= = = ここまで = = =
*「固定IP」は実際のものは伏せてあります。
= = = ここから = = =
p$ cat /etc/ppp/ip-down.d/iptablesDown
#!/bin/sh

IPTABLES=/sbin/iptables
MODPROBE=/sbin/modprobe

# for INPUT
${IPTABLES} -v -t filter -D INPUT -i ${PPP_IFACE} -j ppp-in

# for FORWARD
${IPTABLES} -v -t filter -D FORWARD -i ${PPP_IFACE} -j ppp-forward
${IPTABLES} -v -t filter -D FORWARD -o ${PPP_IFACE} -j ppp-out

# for OUTPUT
${IPTABLES} -v -t filter -D OUTPUT -o ${PPP_IFACE} -j ppp-out

# for POSTROUTING
${IPTABLES} -v -t nat -D POSTROUTING -o ${PPP_IFACE} -j SNAT --to 固定IP --modprobe=${MODPROBE}
= = = ここまで = = =
*「固定IP」は実際のものは伏せてあります。

80, 25, 53 のいずれかからしか侵入できないはずですよね。
(22(ssh)ポートすらインターネット側には開いていないというのに)

というか、一度、侵入したら、仕事がやりやすいように、ポートを
もっと開けて行くのでは? それとも、80(apache2), 25(postfix),
53(bind9)のいずれかのバイナリ(と md5sum)を置き換えた?

80 ポートは、apache2 が担当していますが、設定ファイルの変更点は、
= = = ここから = = =
$ cat /etc/apache2/conf.d/myLocalhost.conf
<LocationMatch "/(video|audio)/" >
        Order deny,allow
        Deny from all
        Allow from localhost
        Allow from 192.168.10.0/255.255.255.0
</LocationMatch>
= = = ここまで = = =
= = = ここから = = =
$ ls -l /var/www
lrwxrwxrwx 1 root root   24 2000-01-01 12:12 analog -> /usr/share/analog/images
drwxr-xr-x 2 root root 4096 2000-01-01 12:12 apache2-default
lrwxrwxrwx 1 root root   17 2007-06-08 23:16 video -> /home/user/video/
= = = ここまで = = =

25 ポートは、postfix が担当していますが、設定ファイルの変更点は、
main.cf にて、
= = = ここから = = =
-myhostname = hoge.fugue.com
+myhostname = hoge
+mydomain = myDomain.org
-mydestination = hoge.myDomain.org, hoge.fugue.com, localhost.fugue.com, localhost
+mydestination = localhost.$mydomain, $mydomain, $myhostname.$mydomain, mail.myDomain.org
-mynetworks = 127.0.0.0/8
+mynetworks = 192.168.10.0/24
= = = ここまで = = =
*実際のドメイン名は伏せてあります。

53 ポートは、bind9 が担当していますが、設定ファイルで異なるところは、
/etc/bind/named.conf.local にて、
= = = ここから = = =
zone "myDomain.org" {
        type master;
        file "/etc/bind/db.myDomain.org";
        allow-transfer { 203.141.128.33; 203.141.128.34; };
        allow-query { any; }; // for the Internet clients
};
zone "固定IP.in-addr.arpa" {
        type master;
        file "/etc/bind/db.固定IPの一部";
        allow-transfer { 203.141.128.33; 203.141.128.34; };
        allow-query { any; }; // for the Internet clients
};
= = = ここまで = = =
/etc/bind/db.固定IPの一部 にて、
= = = ここから = = =
@       IN      SOA     dns.myDomain.org.        root.dns.myDomain.org. (
                                7               ; Serial
                                684800          ; Refresh               7 days. But the server for this address is primary.
                                28800           ; Retry                 8 hours.
                                2419200         ; Expire                28 days.
                                129600 )        ; Negative Cache TTL    One and a half days.
;
@       IN      NS      dns.myDomain.org.
固定IPの一部     IN      PTR     dns.myDomain.org.
= = = ここまで = = =
/etc/bind/db.myDomain.org にて、
= = = ここから = = =
@       IN      SOA     dns.myDomain.org.        root.dns.myDomain.org. (
                        7                       ; Serial
                        604800                  ; Refresh               7 days. But the server for this name is primary.
                        28800                   ; Retry                 8 hours.
                        2419200                 ; Expire                28 days.
                        129600 )                ; Negative Cache TTl    One and a half days.
;
@       IN      NS      dns
;
; Host entry
;
dns     IN      A       固定IP
;
; Alias
;
www     IN      CNAME   dns
mail    IN      CNAME   dns
news    IN      CNAME   dns
ftp     IN      CNAME   dns
;
; Default
;
@       IN      A       固定IP
@       IN      MX 0    dns
*       IN      MX 0    dns
= = = ここまで = = =
*実際のドメイン名は伏せてあります。
*「固定IP」は実際のものは伏せてあります。

カーネルは、debian etch の通常のカーネルです。

aptitude update
aptitude upgrade
は、けっこう頻繁に行なっています。

エキスパートの方は、どう思われますか?
素人考えでは、「netfilter 使ってるし、インターネット側に ssh 
ポートが開いていないし、まあ、大丈夫でしょう。」という気が
するのですが、考えが甘いでしょうか?