Ok, my bad. The CF card is NOT mounted read-write permanently. I didn't have ssh enabled yet, so I issued the "mount" command via the web interface (Diagnostics > Command > Execute shell command), and concluded from the output that pfsense0 was mounted r/w. Which it was, presumably, just for the duration of the execution of that command… When I log in via ssh, /dev/ufs/pfsense0 indeed shows as mounted read-only. Sorry about the confusion!
However, no answer without a new question, I guess: When looking through the logs to see what might be going on, I noticed that snort actually starts twice, back to back. After the first start, I read this:
...
Feb 24 22:46:01 pfsense snort[1683]: [ LowMem Search-Method Memory Used : 31.8716 MBytes ]
Feb 24 22:46:01 pfsense snort[1683]: [ LowMem Search-Method Memory Used : 31.8716 MBytes ]
Feb 24 22:46:01 pfsense snort[1683]: Snort initialization completed successfully (pid=1683)
Feb 24 22:46:01 pfsense snort[1683]: Snort initialization completed successfully (pid=1683)
Feb 24 22:46:01 pfsense snort[1683]: Not Using PCAP_FRAMES
Feb 24 22:46:01 pfsense snort[1683]: Not Using PCAP_FRAMES
Feb 24 22:46:02 pfsense SnortStartup[1816]: Ram free BEFORE starting Snort: -- Ram free AFTER starting Snort: 72M -- Mode lowmem -- Snort memory usage: 139M
Feb 24 22:46:03 pfsense check_reload_status: check_reload_status is starting
Feb 24 22:46:03 pfsense SnortStartup[1842]: Snort already running...
Feb 24 22:46:11 pfsense login: login on console as root
Feb 24 22:46:24 pfsense snort[1683]: *** Caught Hup-Signal
Feb 24 22:46:24 pfsense snort[1683]: *** Caught Hup-Signal
… followed by some statistics, two lines saying "restarting snort" and another startup sequence which to the naked eye seems identical to the first one, down to the PID of the snort process and the exact amount of memory used. It seems to me that this was not the behavior I saw immediately after setting up snort for the first time, as the "Ram free BEFORE starting Snort..." line above was visible in the web interface view of the log. Now this line appears after the first, but not the second startup of snort, and thus is not showing up at the end of the log visible in the web interface any more. I can't recall when this appeared first, so I don't know which configuration changes might have triggered this change in behavior. Possibly the installation of NUT (which is not configured yet)?
Is it common to see snort starting twice or should I look for configuration errors ?
Thank you jimp for your comments so far, and also for the suggestion of running snort on the LAN side. I'm indeed worried about spyware / viruses / trojans. However, as I stated initially, I have two local machines, on LAN and OPT1 the latter being bridged to LAN. Is it sufficient then to run snort on the LAN or do I need to run it on both to protect both machines?
I understand that the default rules I download are designed to work on the WAN. Do I need to manually adapt them to the LAN? That may be more effort than I would be willing to put in… FWIW, running on the WAN, snort does pick up on stuff: IE memory corruption, MSExchange (or Outlook?) exploits... so far all from the web-client category. I don't remember the exact rules that triggered a site block, and since I just rebooted the firewall and snort seems to forget about blocked sites across restarts they're not showing up right now.