Schannel Errors Again in 2024: A GPO Still Allowing SSL 3.0

My log server was collecting loads of Schannel errors every day, so I decided to hunt them down.

Schannel errors in the Windows event log

The Cause

It turned out that a Group Policy Object controlling Internet Options was misconfigured to allow SSL 3.0 traffic.

The Fix

Disable SSL 3.0 as shown below, either with a GPO or on each machine. That stopped the log spam. For step-by-step instructions, see disabling SSL 3.0 with Group Policy or Internet Explorer, and for an earlier Schannel fix, see Schannel fatal alert 40 and 70.

Use SSL 3.0 unchecked in Internet Options

Apache HTTP Security Headers for an A+ Rating (WordPress .htaccess)

I went down an interesting rabbit hole after finding securityheaders.com and hstspreload.org. To get an A+ rating for my blog, I worked through all of their suggestions. I won’t detail each one, but below is the set of HTTP security headers I’ve landed on that works for my WordPress site.

Add These Headers to .htaccess

Add the following to the .htaccess file on your Apache web server (the mod_headers module must be enabled). Replace yoursite.com with your own domain.

Header set Content-Security-Policy "upgrade-insecure-requests"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set X-Xss-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin"
Header set Permissions-Policy "geolocation=self"
Header set Access-Control-Allow-Origin "https://*yoursite.com*"
Header set Cross-Origin-Embedder-Policy "unsafe-none"
Header set Cross-Origin-Opener-Policy "unsafe-none"
Header set Cross-Origin-Resource-Policy "same-site"

After saving the file, rescan your site at securityheaders.com to confirm the grade. Related: Apache reverse proxy configuration and configuring Apache mod_rewrite.

Holiday Phishing Scams: How to Spot Fake Calls and Emails

I can’t stress enough how important it is to stay vigilant over the next few months. Holiday events and social engagements will keep you distracted, and scammers count on that.

If it hasn’t started already, you’ll be bombarded with scam phone calls and emails. Please, do not respond to them. Mark them as spam or phishing, and delete them.

Scam Phone Calls

The latest phone scams are after your Social Security number, Medicaid information and credit card details. The caller usually gives a common, friendly first name like “Robin” or “John.” Hang up immediately.

Fake Invoice Emails

A common email scam looks like someone “replying” to a message and BCC’ing you with a short note like “what’s this?” or “what is this?”, with an invoice below asking for payment. Mark it as spam and delete it.

There are many variations on this theme, but they all want the same thing: your money and your personal information, which they then use to trick other people out of theirs.

Change Your Password Manager Passwords

If you use a password manager like LastPass, I strongly urge you to change all of your passwords and keep them in a different password manager, or in a notebook stored somewhere safe in your home.

Hacking is serious business, with serious consequences for anyone who isn’t careful. It’s up to every one of us to keep our organization safe.

Vulnerability in SSL 3.0 Could Allow Information Disclosure: Disable It with Group Policy or IE Settings

A vulnerability in SSL 3.0 could allow information disclosure. The fix is to turn off SSL 3.0 and use TLS instead. Here are two ways to do that on Windows clients: centrally with Group Policy, or per machine in Internet Explorer. To disable SSL 3.0 on the server side, see how to disable SSL 3.0 on Microsoft IIS.

Option 1: Disable SSL 3.0 with Group Policy

Use the Turn off Encryption Support setting to disable SSL 3.0 and enable TLS 1.0, TLS 1.1 and TLS 1.2 across the domain.

  1. Open Group Policy Management.
  2. Right-click the Group Policy Object to modify and select Edit.
  3. In the Group Policy Management Editor, browse to Computer Configuration > Administrative Templates > Windows Components > Internet Explorer > Internet Explorer Control Panel > Advanced Page > Turn off Encryption Support.
  4. Double-click Turn off Encryption Support and click Enabled.
  5. In the Options pane, set Secure Protocol combinations to Use TLS 1.0, TLS 1.1, and TLS 1.2.
  6. Click OK.

Option 2: Disable SSL 3.0 in Internet Explorer

To change the protocol versions Internet Explorer uses for HTTPS on a single computer:

  1. On the Internet Explorer Tools menu, click Internet Options.
  2. Click the Advanced tab.
  3. In the Security category, uncheck Use SSL 3.0 and check Use TLS 1.0, Use TLS 1.1 and Use TLS 1.2 (if available).
  4. Click OK, then exit and restart Internet Explorer.

Want to check whether a server still accepts SSLv3? Here’s a quick way to test for SSLv3.

Locked Out of Sophos UTM 9.2 WebAdmin by OTP? Disable It from the Shell

While testing Sophos UTM 9.2’s one-time password (OTP) feature with Google Authenticator, I locked myself out of WebAdmin. Here’s how to turn OTP off for WebAdmin from the console using the cc configuration tool.

Steps to Disable WebAdmin OTP

1. Log in to the firewall console as root and start the configuration tool:

cc

2. Type auth and press Enter. It lists:

ad_sso
auto_add_to_facility@
auto_add_users$
block
cache_lifetime$
edir_sso
otp
servers@

3. Type otp and press Enter. It lists:

auto_create_token$
default_timestep$
facilities@
require_all_users$
required_users@
status$

4. Type facilities@ and press Enter. It shows which services require OTP:

0 webadmin
1 portal
2 ipsec
3 openvpn

5. Type -0 and press Enter to remove webadmin from the list. It now shows:

0 portal
1 ipsec
3 openvpn

6. Log in to WebAdmin as admin with just your password. Once you’re back in, you can reconfigure OTP properly.

How to Install and Set Up ntop on CentOS (with NetFlow)

ntop is a network traffic monitoring tool that shows who is using your bandwidth and how. This guide walks through building ntop from source on CentOS, along with its RRDtool and GeoIP dependencies, opening the firewall, starting it at boot, and turning on the NetFlow collector.

1. Install Build Dependencies and RRDtool

yum install gcc gcc-c++ make libpcap libpcap-devel gdbm-devel libpng-devel libtool libtool-libs rrdtool rrdtool-devel
yum install cairo-devel libxml2-devel pango-devel pango libpng-devel -y
yum install freetype freetype-devel libart_lgpl-devel wget gcc make -y
yum install perl-ExtUtils-MakeMaker -y
yum install graphviz -y
yum install subversion openssl-devel -y
cd /opt
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz
tar -zxvf rrdtool-1.4.5.tar.gz
cd rrdtool-1.4.5
./configure --prefix=/usr/local/rrdtool
make && make install

2. Build GeoIP

yum install libpcap libpcap-devel gdbm gdbm-devel -y
yum install libevent libevent-devel -y
cd /opt
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz
tar -zxvf GeoIP-1.4.8.tar.gz
cd GeoIP-1.4.8
./configure
make && make install

3. Build and Install ntop

Download either ntop 5.0.1 (stable) or 4.1.0 (prior stable). The example below uses 4.1.0.

yum install libtool automake autoconf -y
cd /opt
wget http://downloads.sourceforge.net/project/ntop/ntop/Stable/ntop-5.0.1.tar.gz
# or
wget http://downloads.sourceforge.net/project/ntop/ntop/Prior%20Stable/ntop-4.1.0.tar.gz
tar zxvf ntop-4.1.0.tar.gz
cd ntop-4.1.0
./autogen.sh -prefix=/usr/local/ntop
make && make install
make install-selinux-policy

Add /usr/local/ntop/share/man to /etc/man.config, then create the ntop service user and set ownership:

useradd -M -s /sbin/nologin -r ntop
chown ntop:root /usr/local/ntop
chown ntop:ntop /usr/local/ntop/share/ntop

Set the admin password on first run:

cd /usr/local/ntop/bin/
./ntop -u ntop -P /usr/local/ntop -A

4. Open the Firewall (iptables)

The web interface runs on TCP port 3000, and NetFlow traffic arrives on UDP port 9996. Edit /etc/sysconfig/iptables and add these rules before the final INPUT REJECT line:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 9996 -j ACCEPT
service iptables restart

5. Start ntop and Run It at Boot

/usr/local/ntop/bin/ntop -P /usr/local/ntop -u ntop -d -w 3000 -i eth0

Test it by browsing to http://your-server:3000. To start ntop on boot, add the same command to /etc/rc.local.

6. Configure NetFlow and Web Options

The first time you open the ntop web interface:

  1. Go to Plugins → NetFlow → Activate. Don’t click “Yes” afterward, as that toggles it off again.
  2. Go to Plugins → NetFlow → View/Configure.
  3. Create a collector named eth#-collector, where # is the interface receiving the data.
  4. Edit the collector: local collector UDP port 9996, flow aggregation none, session handling no, assume FTP no, debug off.
  5. Go to Admin → Configure → Preferences and set dot.path to /usr/bin/dot.
  6. Get a Google Maps API key (browser-referrer key) from the Google API console and set google_maps.key in the same Preferences screen.
  7. Stop ntop with killall ntop, reboot the server, and confirm ntop starts on boot.