Explorar el Código

More secure IRC implementation

Bob Mottram hace 11 años
padre
commit
32e5425dc7
Se han modificado 1 ficheros con 45 adiciones y 17 borrados
  1. 45
    17
      beaglebone.txt

+ 45
- 17
beaglebone.txt Ver fichero

@@ -1707,9 +1707,50 @@ TODO
1707 1707
 
1708 1708
 CSipSimple?
1709 1709
 ** Install an IRC server
1710
+*** Basic install
1711
+
1712
+IRC is not an especially secure system.  For instance, even with the best encryption it's easily possible to imagine IRC-specific cribs which could be used by cryptanalytic systems.  However, we'll try to implement it in a manner which will at least give the surveillance aparatus something to ponder over.
1713
+
1714
+First install some dependencies.
1715
+
1716
+#+BEGIN_SRC: bash
1717
+apt-get update
1718
+apt-get install build-essential openssl libssl-dev
1719
+#+END_SRC
1720
+
1721
+Then get the source code for ircd-hybrid.
1722
+
1723
+#+BEGIN_SRC: bash
1724
+cd /tmp
1725
+mkdir hybrid
1726
+cd hybrid
1727
+apt-get source ircd-hybrid
1728
+#+END_SRC
1729
+
1730
+Modify the source code to include SSL security.
1731
+
1732
+#+BEGIN_SRC: bash
1733
+emacs ircd-hybrid-*/debian/rules
1734
+#+END_SRC
1735
+
1736
+Beneath MAXCLIENTS add the line:
1737
+
1738
+#+BEGIN_SRC: bash
1739
+USE_OPENSSL = 1
1740
+#+END_SRC
1741
+
1742
+Then save and exit.  Now we can build the debian package for ircd-hybrid and install it.
1743
+
1744
+#+BEGIN_SRC: bash
1745
+cd ircd-hybrid-*
1746
+dpkg-buildpackage -rfakeroot -uc -b
1747
+cd ..
1748
+dpkg -i ircd-hybrid_*.deb
1749
+#+END_SRC
1750
+
1751
+Customise the configuration to your system, giving it a name and description.  In this example 192.168.1.60 is the static IP address on the BBB on the local network, so change that if necessary.
1710 1752
 
1711 1753
 #+BEGIN_SRC: bash
1712
-apt-get install ircd-hybrid irssi
1713 1754
 emacs /etc/ircd-hybrid/ircd.conf
1714 1755
 #+END_SRC
1715 1756
 
@@ -1717,7 +1758,7 @@ Set *name* to the name of your server, and set a description.
1717 1758
 
1718 1759
 Set a *network_name* and *network_desc*.
1719 1760
 
1720
-Set max_clients to 20.
1761
+Set max_clients to 20, or however many you expect that you'll typically need.
1721 1762
 
1722 1763
 Within the admin section set your *name* and *email*.
1723 1764
 
@@ -1726,26 +1767,12 @@ sections it was 192.168.1.60).
1726 1767
 
1727 1768
 Within the *auth* section set user = "*@192.168.1.60" - or whatever the fixed IP address of the BBB is on your network.
1728 1769
 
1729
-Save and exit.
1770
+Save and exit, then restart the IRC server.  Open ports 6666-6670 on your internet router and forward them to the BBB.
1730 1771
 
1731 1772
 #+BEGIN_SRC: bash
1732 1773
 service ircd-hybrid restart
1733 1774
 #+END_SRC
1734 1775
 
1735
-Try to connect to the IRC and identify yourself as an operator.
1736
-
1737
-In irssi:
1738
-
1739
-#+BEGIN_SRC
1740
-  /connect mydomainname.com
1741
-
1742
-  /join #mychannel
1743
-
1744
-  /msg -servername chanserv REGISTER #mychannel channelpassword
1745
-
1746
-  /msg -servername chanserv set #mychannel mlock +k channelpassword
1747
-#+END_SRC
1748
-
1749 1776
 ** Install Gopher
1750 1777
 Gopher is an old internet protocol which originated a few years before the web and is purely text based.  It can be quite fun to build a gopher site and browse the gopherverse.  One thing to keep in mind is that there is no security with gopher, so any text transmitted is trivially interceptable by systems such as [[https://en.wikipedia.org/wiki/XKeyscore][Xkeyscore]] or deep packet inspection.
1751 1778
 
@@ -2270,6 +2297,7 @@ The following ports on your internet router/firewall should be forwarded to the
2270 2297
 | HTTPS    |        443 |
2271 2298
 | IMAP     |        143 |
2272 2299
 | IRC      | 6665..6669 |
2300
+| IRC SSL  |       6670 |
2273 2301
 | SIP      | 5060..5061 |
2274 2302
 | SMTP     |         25 |
2275 2303
 | SMTPS    |        465 |