Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
howto:hardening [2012/03/06 20:51] – [Why Harden My Server] magikh0e | howto:hardening [2014/07/25 02:29] (current) – Synchronet supports Digest auth now, you don't need to disable the server to disable Basic auth deuce | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Hardening the Synchronet Servers ====== | ====== Hardening the Synchronet Servers ====== | ||
- | Hardening a system is the process in which an administrator or systems operator reduces the chance an attacker can either gain access or information from a system. | + | Hardening a system is the process in which an administrator or systems operator reduces the chance an attacker can either gain access or information from a system. |
===== Identifing your version of Synchronet ===== | ===== Identifing your version of Synchronet ===== | ||
- | Use of this document requires you to know which version of the software you are using. To identify what version | + | Use of this document requires you to know which version of the software you are using and ensuring you are using the most up-to-date |
- | On linux run: exec/sbbs - The version will be listed on the first line. | + | To identify what version of Synchro you are running: |
- | On Windows: | + | **Linux**: exec/sbbs -h |
+ | **Windows**: From the // | ||
+ | To check the latest available version of Synchro: [[http:// | ||
===== Why Harden My Server ===== | ===== Why Harden My Server ===== | ||
An Attacker can us various tactics to compromise a system - The reasons for compromising a system can include; | An Attacker can us various tactics to compromise a system - The reasons for compromising a system can include; | ||
Line 17: | Line 19: | ||
===== Settings to Harden ===== | ===== Settings to Harden ===== | ||
+ | This guide will cover hardening synchronet from a security point of view, as well as an operational security point of view. Sometimes hardening breaks or removes functionality.. | ||
- | Some settings I'm proposing | + | * Linux/Unix systems: **DO NOT RUN Synchronet AS ROOT** |
- | * Displaying of passwords to the Console/ | + | *Create a username and group for synchronet |
- | * It is extreamlly | + | *Under the //[UNIX]// section, uncomment and change the following values. |
- | * Change: Configuration Value | + | // User=sbbsuser & Group=sbbsgroup// |
- | * Don't email passwords to users | + | *make sure you change // |
- | * email is not a secure method of transfering information - at any given time it's possible email messages could be intercepted | + | |
- | * Change: Configuration Value | + | * Displaying of passwords to the Console/ |
- | * Don't show version information | + | * It is extremely |
- | * Providing version information to attackers in the form of status or other messages | + | |
- | * Limit use of: @VER@, @OS_VER@, @COMPILER@, @FULL_VER@, @REV@, @VER_NOTICE@ (Only because it includes the version information) | + | // Note:// ensure the log/console is not accessible by untrusted users. Since passwords are stored in plain text, having them also in the log or on the console is not an increase in attack surface if this precaution is taken. |
- | * NOTE: @PLATFORM@ should be OK | + | |
- | * NOTE: Providing the Major Version number should be OK (Version 3) | + | |
- | * Don't provide | + | |
- | * Most times our BBSs are using an internal | + | * Don't email passwords to users //They will be in plain text// |
- | * Limit use of: @LOCAL-IP@ (Use @INETADDR@ or @HOSTNAME@ instead) | + | * Disable passwords being sent in emails //Plain text// |
- | * Don't enable | + | * Set the **email_passwords=** option to **false** in the //[login]// section of the // |
+ | |||
+ | * Hiding | ||
+ | * Providing version information to attackers in the form of a status or other messages | ||
+ | * Limit use of: **//@VER@//**, **//@OS_VER@//**, **//@COMPILER@//**, **//@FULL_VER@//**, **//@REV@//**, **//@VER_NOTICE@//** (Only because it includes the version information) | ||
+ | * NOTE: **//@PLATFORM@//** should be OK | ||
+ | * NOTE: Providing the Major Version number should be OK ie (Version 3) | ||
+ | |||
+ | * Preventing leaking of the internal IP address | ||
+ | * If your BBSs live behind some sort of firewall or NAT device, synchronet has the potential of leaking the internal IP address, ie (192.168.x.x or 10.x.x.x address). It is considered | ||
+ | * Limit use of: **//@LOCAL-IP@//** (Use **//@INETADDR@//** or **//@HOSTNAME@//** instead) | ||
+ | |||
+ | |||
+ | ==== Disable Plain Text Protocols ==== | ||
+ | //Note//: By hardening some of these functions below, you may also remove abilities of your BBS that can not be replaced by another secure function at this time. Specifically FTP & Finger. | ||
+ | |||
+ | * Blocking | ||
* telnet is not a secure method of transferring information - at any given time it's possible telnet sessions could be intercepted (most dangerous during authentication) | * telnet is not a secure method of transferring information - at any given time it's possible telnet sessions could be intercepted (most dangerous during authentication) | ||
- | | + | * Ensure port 23 is filtered by the firewall. |
- | * Don't enable | + | |
+ | * **Enabling SSH on Win32**: | ||
+ | * From the // | ||
+ | |||
+ | |||
+ | * Disable | ||
* FTP is not a secure method of transferring information - at any given time it's possible FTP sessions could be intercepted (most dangerous during authentication) | * FTP is not a secure method of transferring information - at any given time it's possible FTP sessions could be intercepted (most dangerous during authentication) | ||
- | * Change: Configuration Value | + | * **Disable FTP on Win32**: From the // |
* Don't enable HTTP with basic auth | * Don't enable HTTP with basic auth | ||
- | * HTTP with basic auth is not a secure method of transferring information - at any given time it's possible HTTP with basic auth sessions could be intercepted | + | * HTTP with basic auth is not a secure method of transferring information - at any given time it's possible HTTP, with basic auth sessions, could be intercepted |
* Change: Configuration Value | * Change: Configuration Value | ||
+ | * In the .ini file, in the Web section, add (or modify) the Authorization line to read '' | ||
+ | * Ensure that any webctrl.ini files don't override this value. | ||
+ | |||
* Don't enable NNTP | * Don't enable NNTP | ||
* NNTP is not a secure method of transferring information - at any given time it's possible NNTP sessions could be intercepted (most dangerous during authentication) | * NNTP is not a secure method of transferring information - at any given time it's possible NNTP sessions could be intercepted (most dangerous during authentication) | ||
* Change: Configuration Value | * Change: Configuration Value | ||
+ | |||
* Don't enable IRC | * Don't enable IRC | ||
* IRC is not a secure method of transferring information - at any given time it's possible IRC sessions could be intercepted (most dangerous during authentication) | * IRC is not a secure method of transferring information - at any given time it's possible IRC sessions could be intercepted (most dangerous during authentication) | ||
* Change: Configuration Value | * Change: Configuration Value | ||
+ | |||
* Don't enable Finger | * Don't enable Finger | ||
* Finger is not a secure method of transferring information - at any given time it's possible Finger sessions could be intercepted | * Finger is not a secure method of transferring information - at any given time it's possible Finger sessions could be intercepted | ||
* Finger provides information about users, their current online status, and the system. | * Finger provides information about users, their current online status, and the system. | ||
* Change: Configuration Value | * Change: Configuration Value | ||
+ | |||
+ | * Mail Server Configuration | ||
+ | * If you plan to recieve mail on your BBS | ||
+ | * POP3 and SMTP | ||
+ | * If you only plan to send mail on your BBS | ||
+ | * SendMail | ||
+ | |||
+ | === Logging === | ||
+ | **Unix**: [[config: | ||
===== Hardening Suggestions for 3.16: ===== | ===== Hardening Suggestions for 3.16: ===== | ||
- | * Passwords should not be echo'd to the log/console | ||
- | * Set SCFG-> | ||
- | * Alternatively, | ||
- | * Disable passwords being sent in emails | ||
- | * Set email_passwords=false in the [login] section of the ctrl/ | ||
* Disable Showing Version information to clients | * Disable Showing Version information to clients | ||
- | * text/ | + | * text/ |
Things to Investigate: | Things to Investigate: | ||
- | @NUMDIR@ - JS_VER - LIB LIBL - LN - MSG_LIB - SOCKET_LIB | + | //**@NUMDIR@**// - //**@JS_VER**// - //**@LIB LIBL**// - //**@LN**// - //**@MSG_LIB**// - //**@SOCKET_LIB**// |