security onion local rules

For example: In some cases, you may not want to use the modify option above, but instead create a copy of the rule and disable the original. epic charting system training Youll need to ensure the first of the two properly escapes any characters that would be interpreted by regex. Beta You signed in with another tab or window. Though each engine uses its own severity level system, Security Onion converts that to a standardized alert severity: event.severity: 4 ==> event.severity_label: critical, event.severity: 3 ==> event.severity_label: high, event.severity: 2 ==> event.severity_label: medium, event.severity: 1 ==> event.severity_label: low. This wiki is no longer maintained. You should only run the rules necessary for your environment, so you may want to disable entire categories of rules that dont apply to you. When editing these files, please be very careful to respect YAML syntax, especially whitespace. In the image below, we can see how we define some rules for an eval node. In a distributed deployment, the manager node controls all other nodes via salt. However, generating custom traffic to test the alert can sometimes be a challenge. You can add Wazuh HIDS rules in /opt/so/rules/hids/local_rules.xml. Was this translation helpful? If you need to increase this delay, it can be done using the salt:minion:service_start_delay pillar. How are they stored? If you want to tune Wazuh HIDS alerts, please see the Wazuh section. This will add the host group to, Add the desired IPs to the host group. . For example: If you need to modify a part of a rule that contains a special character, such as a $ in variable names, the special character needs to be escaped in the search part of the modify string. Add the following to the minions sls file located at. Interested in discussing how our products and services can help your organization? These are the files that will need to be changed in order to customize nodes. Enter the following sample in a line at a time. There may be entire categories of rules that you want to disable first and then look at the remaining enabled rules to see if there are individual rules that can be disabled. Adding Local Rules Security Onion 2.3 documentation Docs Tuning Adding Local Rules Edit on GitHub Adding Local Rules NIDS You can add NIDS rules in /opt/so/saltstack/local/salt/idstools/local.rules on your manager. Now that we have a signature that will generate alerts a little more selectively, we need to disable the original signature. /opt/so/saltstack/default/salt/firewall/hostgroups.yaml is where the default hostgroups are defined. Logs. Security Onion. Tuning NIDS Rules in Security Onion - YouTube 0:00 / 15:12 Tuning NIDS Rules in Security Onion 1,511 views Jan 10, 2022 This video shows you how to tune Suricata NIDS rules in. to security-onion yes it is set to 5, I have also played with the alert levels in the rules to see if the number was changing anything. Custom rules can be added to the local.rules file Rule threshold entries can . For more information about Salt, please see https://docs.saltstack.com/en/latest/. (Archived 1/22) Tuning NIDS Rules in Security Onion Security Onion 7.5K subscribers 48 Dislike Share 1,465 views Dec 22, 2021 This video has been archived as of January 2022 - the latest. Please provide the output of sostat-redacted, attaching as a plain text file, or by using a service like Pastebin.com. In the configuration window, select the relevant form of Syslog - here, it's Syslog JSON - and click. This can be done in the minion pillar file if you want the delay for just that minion, or it can be done in the global.sls file if it should be applied to all minions. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. More information on each of these topics can be found in this section. All the following will need to be run from the manager. Security Onion Solutions, LLC is the creator and maintainer of Security Onion, a free and open platform for threat hunting, network security monitoring, and log management. Run rule-update (this will merge local.rules into downloaded.rules, update. (Alternatively, you can press Ctrl+Alt+T to open a new shell.) Assuming you have Internet access, Security Onion will automatically update your NIDS rules on a daily basis. Here are some of the items that can be customized with pillar settings: Currently, the salt-minion service startup is delayed by 30 seconds. Once your rules and alerts are under control, then check to see if you have packet loss. At those times, it can be useful to query the database from the commandline. It is now read-only. For a quick primer on flowbits, see https://blog.snort.org/2011/05/resolving-flowbit-dependancies.html. Within 15 minutes, Salt should then copy those rules into /opt/so/rules/nids/local.rules. Previously, in the case of an exception, the code would just pass. However, generating custom traffic to test the alert can sometimes be a challenge. Firewall Requirements Salt minions must be able to connect to the manager node on ports 4505/tcp and 4506/tcp: By default, only the analyst hostgroup is allowed access to the nginx ports. 2. The format of the pillar file can be seen below, as well as in /opt/so/saltstack/default/pillar/thresholding/pillar.usage and /opt/so/saltstack/default/pillar/thresholding/pillar.example. Security Onion includes best-of-breed free and open tools including Suricata, Zeek, Wazuh, the Elastic Stack and many others. For example, if you dont care that users are accessing Facebook, then you can silence the policy-based signatures for Facebook access. Security Onion is a platform that allows you to monitor your network for security alerts. Finally, run so-strelka-restart to allow Strelka to pull in the new rules. In many of the use cases below, we are providing the ability to modify a configuration file by editing either the global or minion pillar file. we run SO in a distributed deployment and the manager doesn't run strelka but does run on the sensor, the paths however (/opt/so/saltstack/local/salt/strelka/rules) exist on the manger but not the sensor, I did find the default repo under opt/so/saltstack/default/salt/strelka/rules/ on the manager and I can run so-yara-update but not so-strelka-restart because its not running on the manager so I'm a little confused on where I should be putting the custom YARA rules because things don't line up with the documentation or I'm just getting super confused. Revision 39f7be52. If you have multiple entries for the same SID, it will cause an error in salt resulting in all of the nodes in your grid to error out when checking in. You could try testing a rule . /opt/so/saltstack/default/salt/firewall/portgroups.yaml, /opt/so/saltstack/default/salt/firewall/hostgroups.yaml, /opt/so/saltstack/default/salt/firewall/assigned_hostgroups.map.yaml, /opt/so/saltstack/local/salt/firewall/portgroups.local.yaml, /opt/so/saltstack/local/salt/firewall/hostgroups.local.yaml, /opt/so/saltstack/local/salt/firewall/assigned_hostgroups.local.map.yaml, /opt/so/saltstack/local/pillar/minions/_.sls, Allow hosts to send syslog to a sensor node, raw.githubusercontent.com (Security Onion public key), sigs.securityonion.net (Signature files for Security Onion containers), rules.emergingthreatspro.com (Emerging Threats IDS rules), rules.emergingthreats.net (Emerging Threats IDS open rules), github.com (Strelka and Sigma rules updates), geoip.elastic.co (GeoIP updates for Elasticsearch), storage.googleapis.com (GeoIP updates for Elasticsearch), download.docker.com (Docker packages - Ubuntu only), repo.saltstack.com (Salt packages - Ubuntu only), packages.wazuh.com (Wazuh packages - Ubuntu only), 3142 (Apt-cacher-ng) (if manager proxy enabled, this is repocache.securityonion.net as mentioned above), Create a new host group that will contain the IPs of the hosts that you want to allow to connect to the sensor. Security Onion is an open-source and free Linux distribution for log management, enterprise security monitoring, and intrusion detection. Please keep this value below 90 seconds otherwise systemd will reach timeout and terminate the service. The files in this directory should not be modified as they could possibly be overwritten during a soup update in the event we update those files. Cleaning up local_rules.xml backup files older than 30 days. If SID 4321 is noisy, you can disable it as follows: From the manager, run the following to update the config: If you want to disable multiple rules at one time, you can use a regular expression, but make sure you enclose the full entry in single quotes like this: We can use so-rule to modify an existing NIDS rule. Here, we will show you how to add the local rule and then use the python library scapy to trigger the alert. If this is a distributed deployment, edit local.rules on your master server and it will replicate to your sensors. Finally, from the manager, update the config on the remote node: You can manage threshold entries for Suricata using Salt pillars. This will execute salt-call state.highstate -l info which outputs to the terminal with the log level set to info so that you can see exactly whats happening: Many of the options that are configurable in Security Onion 2 are done via pillar assignments in either the global or minion pillar files. When configuring network firewalls for Internet-connected deployments (non-Airgap), youll want to ensure that the deployment can connect outbound to the following: In the case of a distributed deployment, you can configure your nodes to pull everything from the manager so that only the manager requires Internet access. Add the following to the sensor minion pillar file located at. Security Onion includes best-of-breed free and open tools including Suricata, Zeek, Wazuh, the Elastic Stack and many others. Our documentation has moved to https://securityonion.net/docs/. Inside of /opt/so/saltstack/local/salt/strelka/rules/localrules, add your YARA rules. Reboot into your new Security Onion installation and login using the username/password you specified in the previous step. The error can be ignored as it is not an indication of any issue with the minions. Revision 39f7be52. Some node types get their IP assigned to multiple host groups. You can see that we have an alert with the IP addresses we specified and the TCP ports we specified. 5. For example, the following threshold IP exceeds the 64-character limit: This results in the following error in the Suricata log: The solution is to break the ip field into multiple entries like this: A suppression rule allows you to make some finer grained decisions about certain rules without the onus of rewriting them. > > => I do not know how to do your guilde line. When setup is run on a new node, it will SSH to the manager using the soremote account and add itself to the appropriate host groups. Try checking /var/log/nsm/hostname-interface/snortu-1.log for clues and please post the exact rule syntax you are attempting to use. If you would like to create a rule yourself and use it with Suricata, this guide might be helpful. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Use one of the following examples in your console/terminal window: sudo nano local.rules sudo vim local.rules. One of those regular interventions is to ensure that you are tuning properly and proactively attempting to reach an acceptable level of signal to noise. We've been teaching Security Onion classes and providing Professional Services since 2014. /opt/so/saltstack/default/salt/firewall/assigned_hostgroups.map.yaml is where the default allow rules come together and pair hostgroups and portgroups and assign that pairing to a node based on its role in the grid. To enable the ET Pro ruleset in an already installed grid, modify the /opt/so/saltstack/local/pillar/minions/ file as follows: Since Shared Object rules wont work with Suricata, you may want to disable them using a regex like 're:soid [0-9]+' as described in the Managing Alerts section. There are multiple ways to handle overly productive signatures and well try to cover as many as we can without producing a full novel on the subject. The server is also responsible for ruleset management. Give feedback. Introduction Adding local rules in Security Onion is a rather straightforward process. But after I run the rule-update command, no alert is generated in Sguil based on that rule.It was working when I first installed Security Onion. You can do so via the command line using curl: Alternatively, you could also test for additional hits with a utility called tmNIDS, running the tool in interactive mode: If everything is working correctly, you should see a corresponding alert (GPL ATTACK_RESPONSE id check returned root) in Alerts, Dashboards, Hunt, or Kibana. Tracking. While Vanderburgh County was the seventh-largest county in 2010 population with 179,703 people, it is also the eighth-smallest county in area in Indiana and the smallest in southwestern Indiana, covering only 236 square miles (610 km2). Our instructors are the only Security Onion Certified Instructors in the world and our course material is the only authorized training material for Security Onion. The easiest way to test that our NIDS is working as expected might be to simply access http://testmynids.org/uid/index.html from a machine that is being monitored by Security Onion. /opt/so/saltstack/local/salt/firewall/assigned_hostgroups.local.map.yaml is where host group and port group associations would be made to create custom host group and port group assignements that would apply to all nodes of a certain role type in the grid. 1. Alternatively, run salt -G 'role:so-sensor' cmd.run "so-strelka-restart" to restart Strelka on all sensors at once. If you are on a large network, you may need to do additional tuning like pinning processes to CPU cores. Check out our NIDS tuning video at https://youtu.be/1jEkFIEUCuI! If so, then tune the number of AF-PACKET workers for sniffing processes. 41 - Network Segmentation, VLANs, and Subnets. Launch your Ubuntu Server VM, log on with credentials provided at the beginning of this guide and open a terminal shell by double-clicking the Desktop shortcut. After adding your rules, update the configuration by running so-strelka-restart on all nodes running Strelka. 1. You can add NIDS rules in /opt/so/saltstack/local/salt/idstools/local.rules on your manager. Edit the /opt/so/rules/nids/local.rules file using vi or your favorite text editor: sudo vi /opt/so/rules/nids/local.rules Paste the rule. For example, consider the following rules that reference the ET.MSSQL flowbit. As shown above, we edit the minion pillar and add the SID to the idstools - sids - disabled section. That's what we'll discuss in this section. You can find the latest version of this page at: https://securityonion.net/docs/AddingLocalRules. In this step we are redefining the nginx port group, so be sure to include the default ports as well if you want to keep them: Associate this port group redefinition to a node. For example, suppose that we want to modify SID 2100498 and replace any instances of returned root with returned root test. Please review the Salt section to understand pillars and templates. To get the best performance out of Security Onion, youll want to tune it for your environment. To generate traffic we are going to use the python library scapy to craft packets with specific information to ensure we trigger the alert with the information we want: Craft the layer 2 information. Here, we will show you how to add the local rule and then use the python library scapy to trigger the alert. Do you see these alerts in Squert or ELSA? Once logs are generated by network sniffing processes or endpoints, where do they go? The county seat is in Evansville. /opt/so/saltstack/local/salt/firewall/hostgroups.local.yaml is where many default named hostgroups get populated with IPs that are specific to your environment. The signature id (SID) must be unique. To add local YARA rules, create a directory in /opt/so/saltstack/local/salt/strelka/rules, for example localrules. idstools may seem like it is ignoring your disabled rules request if you try to disable a rule that has flowbits set. If there are a large number of uncategorized events in the securityonion_db database, sguil can have a hard time of managing the vast amount of data it needs to process to present a comprehensive overview of the alerts. The default allow rules for each node are defined by its role (manager, searchnode, sensor, heavynode, etc) in the grid. If . Apply the firewall state to the node, or wait for the highstate to run for the changes to happen automatically. > To unsubscribe from this topic . Default pillar file: This is the pillar file located under /opt/so/saltstack/default/pillar/. If you want to apply the threshold to a single node, place the pillar in /opt/so/saltstack/local/pillar/minions/.sls. 137 vi local.rules 138 sudo vi local.rules 139 vi cd .. 140 cd .. 141 vi securityonion.conf 142 sudo vi pulledpork/pulledpork.conf 143 sudo rule-update 144 history 145 vi rules/downloaded.rules 146 sudo vi local.rules 147 sudo vi rules/local.rules 160 sudo passwd david 161 sudo visudo 162 sudo vi rules/local.rules Files here should not be modified as changes would be lost during a code update. Tried as per your syntax, but still issue persists. You can read more about this at https://redmine.openinfosecfoundation.org/issues/4377. Please note if you are using a ruleset that enables an IPS policy in /etc/nsm/pulledpork/pulledpork.conf, your local rules will be disabled. . To generate traffic we are going to use the python library scapy to craft packets with specific information to ensure we trigger the alert with the information we want. Global pillar file: This is the pillar file that can be used to make global pillar assignments to the nodes. The reason I have a hub and not a switch is so that all traffic is forwarded to every device connected to it so security onion can see the traffic sent from the attacking kali linux machine, to the windows machines. These policy types can be found in /etc/nsm/rules/downloaded.rules. /opt/so/saltstack/local/salt/firewall/portgroups.local.yaml defines custom port groups. Its important to note that with this functionality, care should be given to the suppressions being written to make sure they do not suppress legitimate alerts. In 2008, Doug Burks started working on Security Onion, a Linux distribution for intrusion detection, network security monitoring, and log management. Set anywhere from 5 to 12 in the local_rules Kevin. The National Institutes of Standards and Technology (NIST) 800-171 cybersecurity standard has four safeguards that are related to network traffic monitoring: 3.13.1: Monitor, control, and protect organizational communications (i.e., information transmitted or received by organizational information Home About Us Bill Pay 877-213-8180 Product Library My accountItems of interest (0) Get your campus card Your campus card allows you to borrow books from the Library, use services at the student centre, make payments at Macquarie University retail outlets, and identify yourself during class tests and . From https://docs.saltstack.com/en/latest/: Salt is a core component of Security Onion 2 as it manages all processes on all nodes. Salt minions must be able to connect to the manager node on ports, /opt/so/saltstack/local/pillar/global.sls, /opt/so/saltstack/local/pillar/minions/.sls, https://docs.saltproject.io/en/getstarted/system/communication.html, https://docs.saltproject.io/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html. Been looking to add some custom YARA rules and have been following the docs https://docs.securityonion.net/en/2.3/local-rules.html?#id1 however I'm a little confused. You can see that we have an alert with the IP addresses we specified and the TCP ports we specified. Next, run so-yara-update to pull down the rules. If you try to disable the first two rules without disabling the third rule (which has flowbits:isset,ET.MSSQL) the third rule could never fire due to one of the first two rules needing to fire first. Long-term you should only run the rules necessary for > your environment. For example: By default, if you use so-allow to add a host to the syslog hostgroup, that host will only be allowed to connect to the manager node. Any definitions made here will override anything defined in other pillar files, including global. These non-manager nodes are referred to as salt minions. As you can see I have the Security Onion machine connected within the internal network to a hub. A. Check your syslog-ng configuration for the name of the local log source ("src" is used on SUSE systems). All node types are added to the minion host group to allow Salt communication. ET Open optimized for Suricata, but available for Snort as well free For more information, see: https://rules.emergingthreats.net/open/ ET Pro (Proofpoint) optimized for Suricata, but available for Snort as well rules retrievable as released Nodes will be configured to pull from repocache.securityonion.net but this URL does not actually exist on the Internet, it is just a special address for the manager proxy. It . For more information, please see https://docs.saltproject.io/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html. To enable or disable SIDs for Suricata, the Salt idstools pillar can be used in the minion pillar file (/opt/so/saltstack/local/pillar/minions/_.sls). We created and maintain Security Onion, so we know it better than anybody else. Copyright 2023 Let's add a simple rule that will alert on the detection of a string in a tcp session: Run rule-update (this will merge local.rules into downloaded.rules, update sid-msg.map, and restart processes as necessary): If you built the rule correctly, then Snort/Suricata should be back up and running. For some alerts, your understanding of your own network and the business being transacted across it will be the deciding factor. You are an adult, at least 18 years of age, you are familiar with and understand the standards and laws of your local community regarding sexually-oriented media. 2GB RAM will provide decent performance for the Sguil client and retrieving packet captures from the server but also enough to run Security Onion in standalone mode for monitoring the local client and testing packet captures with tools like tcpreplay, /opt/so/saltstack/local/salt/idstools/local.rules, "GPL ATTACK_RESPONSE id check returned root 2", /opt/so/saltstack/local/salt/strelka/rules, /opt/so/saltstack/local/salt/strelka/rules/localrules, /opt/so/saltstack/local/salt/strelka/rules/, https://github.com/Neo23x0/signature-base. Security Onion Layers Ubuntu based OS Snort, Suricata Snorby Bro Sguil Squert A node that has a port group and host group association assigned to it will allow those hosts to connect to those ports on that node. Download Security Onion 20110116. After adding your rules, update the configuration by running so-strelka-restart on all nodes running Strelka. to security-onion When I run 'rule-update' it give an error that there are no rules in /usr/local/lib/snort_dynamicrules. I've just updated the documentation to be clearer. Another consideration is whether or not the traffic is being generated by a misconfigured piece of equipment. For example, if you had a web server you could include 80 and 443 tcp into an alias or in this case a port group. Copyright 2023 "; reference: url,http://holisticinfosec.blogspot.com/2011/12/choose-2011-toolsmith-tool-of-year.html; content: "toolsmith"; flow:to_server; nocase; sid:9000547; metadata:policy security-ips; rev:1). Data collection Examination If you do not see this alert, try checking to see if the rule is enabled in /opt/so/rules/nids/all.rules: Rulesets come with a large number of rules enabled (over 20,000 by default). On Thursday, June 15, 2017 at 5:06:51 PM UTC+5:30, Wes wrote: Is it simply not triggering, or causing an error? Durio zibethinus, native to Borneo and Sumatra, is the only species available in the international market.It has over 300 named varieties in Thailand and 100 in Malaysia, as of 1987. These non-manager nodes are referred to as salt minions. The set of processes includes sguild, mysql, and optionally the Elastic stack (Elasticsearch, Logstash, Kibana) and Curator. Within 15 minutes, Salt should then copy those rules into /opt/so/rules/nids/local.rules. Write your rule, see Rules Format and save it. And when I check, there are no rules there. Saltstack states are used to ensure the state of objects on a minion. If you would like to pull in NIDS rules from a MISP instance, please see the MISP Rules section. It is located at /opt/so/saltstack/local/pillar/global.sls. For example, if ips_policy was set to security, you would add the following to each rule: The whole rule would then look something like: alert tcp any any -> $HOME_NET 7789 (msg: "Vote for Security Onion Toolsmith Tool of 2011! Modifying these values outside of so-allow or so-firewall could lead to problems accessing your existing hosts. Cannot retrieve contributors at this time. This section will cover both network firewalls outside of Security Onion and the host-based firewall built into Security Onion. In syslog-ng, the following configuration forwards all local logs to Security Onion. Network Security Monitoring, as a practice, is not a solution you can plug into your network, make sure you see blinking lights and tell people you are secure. It requires active intervention from an analyst to qualify the quantity of information presented. You need to configure Security Onion to send syslog so that InsightIDR can ingest it. Revision 39f7be52. The next run of idstools should then merge /opt/so/rules/nids/local.rules into /opt/so/rules/nids/all.rules which is what Suricata reads from. You can learn more about scapy at secdev.org and itgeekchronicles.co.uk. > > > > > > > > Cheers, Andi > > > > > > > > > > -- Mit besten Gren Shane Castle > > > > -- > Mit besten Gren > Shane Castle > > -- > You received this message because you are subscribed to a topic in the > Google Groups "security-onion" group. . For example, to check disk space on all nodes: If you want to force a node to do a full update of all salt states, you can run so-checkin. Manager of Support and Professional Services. All alerts are viewable in Alerts, Dashboards, Hunt, and Kibana. Adding local rules in Security Onion is a rather straightforward process. For example, if you include a bad custom snort rule with incorrect syntax, the snort engine will fail . You do not have permission to delete messages in this group, Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message. Salt can be used for data-driven orchestration, remote execution for any infrastructure, configuration management for any app stack, and much more. Then tune your IDS rulesets. If it is, then the most expedient measure may be to resolve the misconfiguration and then reinvestigate tuning. Security Onion is a free and open-source Linux distribution prepared for intrusion detection, security monitoring, and log management with the assistance of security tools namely Snort,. Security Onion offers the following choices for rulesets to be used by Snort/Suricata: ET Open optimized for Suricata, but available for Snort as well free For more information, see: https://rules.emergingthreats.net/open/ ET Pro (Proofpoint) optimized for Suricata, but available for Snort as well rules retrievable as released There are two directories that contain the yaml files for the firewall configuration. Host groups are similar to port groups but for storing lists of hosts that will be allowed to connect to the associated port groups. Host groups and port groups can be created or modified from the manager node using either so-allow, so-firewall or manually editing the yaml files. Please note if you are using a ruleset that enables an IPS policy in /etc/nsm/pulledpork/pulledpork.conf, your local rules will be disabled. Logs . Please update your bookmarks. Adding Your Own Rules . However, generating custom traffic to test the alert can sometimes be a challenge. Please note! Copyright 2023 For more information, please see: # alert ip any any -> any any (msg:"GPL ATTACK_RESPONSE id check returned root"; content:"uid=0|28|root|29|"; classtype:bad-unknown; sid:2100498; rev:7; metadata:created_at 2010_09_23, updated_at 2010_09_23;), /opt/so/saltstack/local/pillar/minions/_.sls, "GPL ATTACK_RESPONSE id check returned root test", /opt/so/saltstack/default/pillar/thresholding/pillar.usage, /opt/so/saltstack/default/pillar/thresholding/pillar.example, /opt/so/saltstack/local/pillar/global.sls, /opt/so/saltstack/local/pillar/minions/.sls, https://docs.saltproject.io/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html, https://redmine.openinfosecfoundation.org/issues/4377, https://blog.snort.org/2011/05/resolving-flowbit-dependancies.html. Here, we will show you how to add the local rule and then use the python library scapy to trigger the alert. This first sub-section will discuss network firewalls outside of Security Onion. Can anyone tell me > > > > what I've done wrong please? You received this message because you are subscribed to the Google Groups "security-onion" group. Security Onion uses idstools to download new signatures every night and process them against a set list of user generated configurations. How are they parsed? A tag already exists with the provided branch name. Fresh install of Security Onion 16.04.6.3 ISO to hardware: Two NICs, one facing management network, one monitoring mirrored port for test network Setup for Production Mode, pretty much all defaults, suricata create alert rules for /etc/nsm/local.rules and run rule-update Log into scapy/msf on kalibox, send a few suspicious packets

Personal Heatmap Garmin, Advantages Of Timocracy, Articles S