个人工具

UbuntuHelp:FixDCCExploit

来自Ubuntu中文

Wikibot讨论 | 贡献2008年4月23日 (三) 10:42的版本

跳转至: 导航, 搜索

Introduction

On IRC there are a small group of abusive users that find it funny to send invalid DCC commands causing certain vulnerable users to disconnect. This causes a somewhat large spamming of disconnect and reconnect messages and is generally disruptive to the chat room. If you have been sent here you are most likely vulnerable to this particular attack. You will find instructions on how to fix this issue to follow. The issue is due to a bug in certain routers. However, even when the router itself cannot be fixed (which is, unfortunately, often the case), a workaround is available. After fixing the issue, make sure you read the Further notes paragraph in order to be allowed back into the Ubuntu channel!

Fix 1: Change Port

The easiest way to fix this issue is to change the port through which you connect to freenode. Most clients automatically connect to port 6667 when using an IRC server, but freenode also offers the ability to connect to port 8001. This will prevent this particular exploit from effecting you. Remember that you will have to close and reopen your IRC client for the changes to take effect (or otherwise make sure that the new connection settings are applied on reconnection). XChat users can change this by going to XChat -> Network List, selecting Ubuntu Servers, clicking Edit, and change irc.ubuntu.com to irc.ubuntu.com/8001. You may also need to change the Freenode server in the same way from irc.freenode.net to irc.freenode.net/8001. XChat-GNOME users can change this by going to Edit -> Preferences. Then select Networks on the side. Double-click on Ubuntu Servers on the right, click the servers tab, and then change irc.ubuntu.com to irc.ubuntu.com/8001. You may also need to change the Freenode server in the same way from irc.freenode.net to irc.freenode.net/8001. Remember to press enter before you click Close or your changes will not be saved. Konversation users can go to File -> Server list -> Edit, click on the server name (e.g. irc.ubuntu.com), click on Edit, and change the port from 6667 to 8001. Gaim users can go to Tools -> Accounts, choose your chat.freenode.net account, -> Modify -> Show more options, and change the port from 6667 to 8001, -> Save. Irssi users can type /connect irc.freenode.org 8001 every time they connect or, as a long term solution, edit ~/.irssi/config (nano ~/.irssi/config) and add the following line to "servers": { address = "irc.freenode.net"; chatnet = "Freenode"; port = "8001"; } weechat users should edit ~/.weechat/weechat.rc (nano ~/.weechat.weechat.rc), and, in the [server] section, change server_port = 6667 to server_port = 8001 and save the changes. The procedure for other IRC clients is similar, but the syntax is slightly different. Most other IRC clients use chat.freenode.net:8001 to specify port 8001.

Fix 2: Updating Firmware

Most router manufacturers have provided an updated firmware for their router that fix this particular exploit. Please check with their website for upgrades and installation instructions.

Fix 3: Change Client

Colloquy on the mac is vulnerable as well. There is no known fix, so you should switch to a different client

Further notes

/!\ Upon fixing this issue you will NOT automatically be allowed to rejoin #ubuntu if you have been temporarily forwarded to #ubuntu-read-topic. You must type "test me" (without the quotes) in that channel. If you are no longer affected by the exploit then you will be allowed back into #ubuntu in a short time. If the automatic test fails, join #ubuntu-ops and, there, ask to be tested by operators.

Why you can't auto rejoin

This action is an attempt to make it less attractive for anyone to do the exploit, when it first happened there were lots of disconnections. Now it is usually less than 10 at a time.