Jump to content

FeministWiki:Technical documentation: Difference between revisions

(8 intermediate revisions by the same user not shown)
Line 30: Line 30:
|85.214.101.34 ||      smtp.feministwiki.org || smtp          || SMTP                    || 25, 465, 587
|85.214.101.34 ||      smtp.feministwiki.org || smtp          || SMTP                    || 25, 465, 587
|-
|-
|85.214.101.34 ||      xmpp.feministwiki.org || xmpp          || XMPP                    || 5222, 5269, 5280
|85.214.101.34 ||      xmpp.feministwiki.org || xmpp          || XMPP                    || 5222, 5223, 5269, 5270, 5443, 7777
|-
|-
|85.214.101.34 ||        irc.feministwiki.org || irc          || IRC                    || 6697
|85.214.101.34 ||        irc.feministwiki.org || irc          || IRC                    || 6697
Line 39: Line 39:
As you can see, all services are on the same server for now.  However, it should be kept as an open possibility that the hosts are split across different IPs.  When done so, the <code>ldap</code> host should listen on 636 for LDAPS connections.
As you can see, all services are on the same server for now.  However, it should be kept as an open possibility that the hosts are split across different IPs.  When done so, the <code>ldap</code> host should listen on 636 for LDAPS connections.


== Firewall ==
There are no AAAA entries in the DNS because we only allow IPv4 for incoming connections.  This simplifies security auditing.
 
The simple <code>ufw</code> firewall-frontend is used to trivially limit all network I/O to the ports you can see in the host table above, plus port 22 for ssh and scp.


== Special DNS entries ==
== Special DNS entries ==
Line 79: Line 77:
|-
|-
|SRV  || _xmpp-server || _tcp    || @    || xmpp.feministwiki.org || 5269
|SRV  || _xmpp-server || _tcp    || @    || xmpp.feministwiki.org || 5269
|-
|SRV  || _xmpps-client || _tcp    || @    || xmpp.feministwiki.org || 5223
|-
|SRV  || _xmpps-server || _tcp    || @    || xmpp.feministwiki.org || 5270
|}
|}


Line 88: Line 90:
|TXT  || @              || google-site-verification=<key>
|TXT  || @              || google-site-verification=<key>
|}
|}
== Firewall ==
The simple <code>ufw</code> firewall-frontend is used to trivially limit all network I/O to the ports you can see in the host table above, plus port 22 for ssh and scp.
UFW adds IPv6 rules by default, which can be prevented by using more explicit rules.  Consider the following rule:
  ufw allow 12345/tcp  # will allow TCP connections to port 12345 via IPv4 and IPv6
To limit this to IPv4 you can instead use this:
  ufw allow proto tcp to 0.0.0.0/0 port 12345  # will allow TCP connections to port 12345 via IPv4 only
== Fail2ban ==
We use <code>fail2ban</code> to detect brute force attempts on some services.  The git repository for scripts and config contains the relevant Fail2ban configuration under <code>etc/fail2ban</code>.


== SSH access ==
== SSH access ==
Line 154: Line 172:
** It sets <code>$wgScriptPath</code> to <code>/xy/w</code> so that links to scripts served by MediaWiki are correct for the language.
** It sets <code>$wgScriptPath</code> to <code>/xy/w</code> so that links to scripts served by MediaWiki are correct for the language.
** It sets the SQL database name to <code>feministwiki_xy</code>.
** It sets the SQL database name to <code>feministwiki_xy</code>.
** It configures a "foreign" image database via the [https://www.mediawiki.org/wiki/Manual:$wgForeignFileRepos#Using_files_from_a_database_that_you_can_access_:_ForeignDBRepo,_ForeignDBViaLBRepo ForeignDBRepo] method so that the media upload database of the default wiki is used by all, instead of every parallel wiki having its own media database.


The domain names feministwiki.de and www.feministwiki.de redirect to <code>https://feministwiki.org/de</code>.  For instance, requesting <code>https://feministwiki.de/wiki/Hauptseite</code> will result in an HTTP redirect to <code>https://feministwiki.org/de/wiki/Hauptseite</code>.
The domain names feministwiki.de and www.feministwiki.de redirect to <code>https://feministwiki.org/de</code>.  For instance, requesting <code>https://feministwiki.de/wiki/Hauptseite</code> will result in an HTTP redirect to <code>https://feministwiki.org/de/wiki/Hauptseite</code>.
Line 180: Line 199:
Software: phpBB
Software: phpBB


The forum uses a [https://www.phpbb.com/ phpBB] installation located at <code>/var/www/forum</code>.  Most configuration of phpBB, including LDAP authentication, is done through its administration panel.  The style used by the forum is essentially Basic Orange, though the logo is changed via an inheriting style called FeministWiki.
The forum uses a [https://www.phpbb.com/ phpBB] installation located at <code>/var/www/forum</code>.  Most configuration of phpBB, including LDAP authentication, is done through its administration panel.  The style used by the forum is a minimally changed "ProSilver Dark". The forum uses the SQL database called "feministforum" and the SQL user of the same name.
 
The forum uses the SQL database called "feministforum" and the SQL user of the same name.


=== Mail (web interface) ===
=== Mail (web interface) ===
Line 189: Line 206:
Software: Roundcube
Software: Roundcube


The web-interface for the FeministMail uses the [https://roundcube.net/ Roundcube] mail client, installed at <code>/var/www/mail</code>.  It uses the standard "larry" style, but with some tweaks to logos and images.
The web-interface for the FeministMail uses the [https://roundcube.net/ Roundcube] mail client, installed at <code>/var/www/mail</code>.  It uses a FeministWiki-branded modification of the new "elastic" style.


=== Files ===
=== Files ===
Line 242: Line 259:
Software: InspIRCd
Software: InspIRCd


FeministIRC uses the [http://www.inspircd.org/ InspIRCd] IRC server with the <code>ldapauth</code> module for LDAP authentication.
FeministIRC uses the [http://www.inspircd.org/ InspIRCd] IRC server with the <code>ldapauth</code> module for LDAP authentication.  The client is authenticated via the combination of the NICK and PASS provided upon connection, which must correspond to the FeministWiki credentials.


=== Account operations ===
=== Account operations ===