作者 主題: [發問]我剛架好的FTP 好像被入侵了 = =||  (閱讀 1916 次)

0 會員 與 1 訪客 正在閱讀本文。

93410053

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
各位前輩
小弟用的是centos 5.4版
安裝了vsftpd

某日想登入root ,發現密碼不一樣了
才覺得奇怪時,用單人模式修改密碼後
再進電腦重新查看

發現我的/root 家目錄底下多了一個boti.tgz 跟boti 的資料夾

使用netstat -an
出現了如下:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:604 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN
tcp 0 0 xxx.xxx.xxx.xxx:36143 208.83.20.130:6667 TIME_WAIT
tcp 0 1 xxx.xxx.xxx.xxx:39709 62.231.74.10:6667 SYN_SENT

tcp 0 132 192.168.1.36:22 192.168.1.21:2976 ESTABLISHED
tcp 0 1 192.168.1.36:34302 66.198.80.67:6667 SYN_SENT
tcp 0 0 :::22 :::* LISTEN
udp 0 0 0.0.0.0:52799 0.0.0.0:*
udp 0 0 0.0.0.0:601 0.0.0.0:*
udp 0 0 0.0.0.0:37221 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:1022 0.0.0.0:*
udp 0 0 :::38822 :::*
udp 0 0 :::5353 :::*


不知上面這樣正不正常?
還有請教我應如何去查看我是否被入侵了
有什麼跡象可以查呢?
我只知在/var/log裡面
但不知應該看哪一個档案
可否再煩請前輩面幫我解惑

我的防火牆用的是setup 去設定的

有想過要寫iptables
但是不太會寫

假設我只要開放ftp 20、21port 跟web 80 應該如何寫才好呢?

Niko

  • 活潑的大學生
  • ***
  • 文章數: 281
  • 性別: 男
    • 檢視個人資料
Re: [發問]我剛架好的FTP 好像被入侵了 = =||
« 回覆 #1 於: 2012-03-31 18:48 »
tcp 0 0 xxx.xxx.xxx.xxx:36143 208.83.20.130:6667 TIME_WAIT
這行表示雙方要結束連線,進入TIME_WAIT狀態

tcp 0 1 xxx.xxx.xxx.xxx:39709 62.231.74.10:6667 SYN_SENT
SYN_SENT表示請求連接

上面應該是沒啥問題,如果SYN_SENT有很多就要注意一下了!


btmp:登入紀錄失敗
wtmp:使用者登入與登出的時間

這兩個檔要用last -f 來開啟,在終端機下用last其實就可以看到了

如果說log檔被清光光(小弟有遇過  :P),還有什麼辦法可以查入侵跡象這就要再請其它大大說明了,
不過可以先看看有沒有什麼可疑的程序,用tcpdump或wireshark抓封包看看有沒有異常連線,用Rootkit Hunter檢查看看等等,先檢查自己的電腦有沒有被放什麼不該放的東西




初學iptables小弟建議policy先用預設的ACCEPT就好,等比較熟悉的時候可以再改成DROP

20 port 是使用在主動式上,所以不用特別寫個規則給它(因為是SERVER主動發出,跟RELATED有關)
至於被動式的port比較麻煩是因為它會隨機產生,所以我的做法也是先固定幾個port,假設參照鳥哥上寫的,把port固定在65400~65410
然後我的寫法是:

1. iptables -A INPUT -m state --state INVALID,NEW -j DROP
2. iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
3. iptables -I INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT
4. iptables -I INPUT -p tcp -m multiport --dports 65400:65410 -m state --state NEW -j ACCEPT
5. iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
6. iptables -I INPUT -p tcp --dport 22 -s XXX.XXX.XXX.XXX -m state --state NEW -j ACCEPT

第一行是說只要是新的或是阿不拉雜的連線想要進入全部都丟掉

第二行是說已經與我連線的或是我自己發出去的連線要回來就允許

三、四、五行就是想要與我建立新連線的要求就允許

第六行是開放XXX(IP)可以與我SSH連線

第一行前面的iptables -A 比較不一樣是因為.....(直接COPY鳥哥的講解 :P)
-A :新增加一條規則,該規則增加在原本規則的最後面。例如原本已經有四條規則,使用 -A 就可以加上第五條規則!
-I :插入一條規則。如果沒有指定此規則的順序,預設是插入變成第一條規則。例如原本有四條規則,使用 -I 則該規則變成第一條,而原本四條變成 2~5 號

iptables過濾規則是由第一條到最後一條,所以小弟這樣的寫法是讓自己比較清楚而已....

以上,是小妹(今天我有聽到『小妹跪求』.... ;D)的一點淺見,如有觀念錯誤或是更好的寫法還請各位大大指教.... :)
« 上次編輯: 2012-03-31 19:00 由 split926 »