diff options
Diffstat (limited to 'doc/source/faq.rst')
| -rw-r--r-- | doc/source/faq.rst | 112 |
1 files changed, 59 insertions, 53 deletions
diff --git a/doc/source/faq.rst b/doc/source/faq.rst index d8ca973..3c09409 100644 --- a/doc/source/faq.rst +++ b/doc/source/faq.rst | |||
| @@ -41,20 +41,20 @@ Who are you and why did you write Snuffleupagus? | |||
| 41 | 41 | ||
| 42 | We're working for `NBS System <https://nbs-system.com/en/>`__, | 42 | We're working for `NBS System <https://nbs-system.com/en/>`__, |
| 43 | a web hosting company (meaning that we're dealing with PHP code all day long), | 43 | a web hosting company (meaning that we're dealing with PHP code all day long), |
| 44 | with a strong focus on security. We do have hardening | 44 | with a strong focus on security. We do have several layers of hardening |
| 45 | (`kernel <https://grsecurity.net/>`_, `WAF <https://naxsi.org>`_, | 45 | (`kernel <https://grsecurity.net/>`_, `WAF <https://naxsi.org>`_, |
| 46 | `IDS <https://en.wikipedia.org/wiki/Intrusion_detection_system>`_, etc) | 46 | `IDS <https://en.wikipedia.org/wiki/Intrusion_detection_system>`_, etc), |
| 47 | below the web stack, but most of the time, when a website is compromised, | 47 | but we had nothing for PHP7. |
| 48 | it can be to send ads, spam, deface it, steal data etc. | 48 | |
| 49 | This is why we need to harden the website itself too, but we can't touch its | 49 | Nowadays, Snuffleupagus is maintained by Julien (jvoisin) Voisin. |
| 50 | source code. | 50 | |
| 51 | 51 | ||
| 52 | Why not Suhosin? | 52 | Why not Suhosin? |
| 53 | """""""""""""""" | 53 | """""""""""""""" |
| 54 | 54 | ||
| 55 | We're huge fans of `Suhosin <https://suhosin.org>`_, unfortunately: | 55 | We're huge fans of `Suhosin <https://suhosin.org>`_, unfortunately: |
| 56 | 56 | ||
| 57 | - it doesn't work very well on PHP 7 | 57 | - it doesn't work very well on PHP7 |
| 58 | - it has some oudated features and misses new ones | 58 | - it has some oudated features and misses new ones |
| 59 | - it doesn't cope very well with our various industrialization needs | 59 | - it doesn't cope very well with our various industrialization needs |
| 60 | - it has some shortcomings by design | 60 | - it has some shortcomings by design |
| @@ -65,18 +65,32 @@ the `system <https://secure.php.net/manual/en/function.system.php#refsect1-funct | |||
| 65 | function to perform various mandatory maintenance tasks). | 65 | function to perform various mandatory maintenance tasks). |
| 66 | 66 | ||
| 67 | This is why we decided to write our own hardening module, in the spirit of Suhosin, | 67 | This is why we decided to write our own hardening module, in the spirit of Suhosin, |
| 68 | via virtual-patching support, and other cool new features. | 68 | with virtual-patching support, as well as other cool new features. |
| 69 | 69 | ||
| 70 | What license is Snuffleupagus under and why? | 70 | |
| 71 | """""""""""""""""""""""""""""""""""""""""""" | 71 | What license is Snuffleupagus released under and why? |
| 72 | """"""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| 72 | 73 | ||
| 73 | Snuffleupagus is licensed under the `LGPL <https://www.gnu.org/copyleft/lesser.html>`_ | 74 | Snuffleupagus is licensed under the `LGPL <https://www.gnu.org/copyleft/lesser.html>`_ |
| 74 | and is developed by the fine people from `NBS System <https://nbs-system.com/>`__. | 75 | was developed by the fine people from `NBS System <https://nbs-system.com/>`__, |
| 76 | and is maintained by Julien (jvoisin) Voisin. | ||
| 75 | 77 | ||
| 76 | We chose the LGPL because we don't care that much how you're using Snuffleupagus, | 78 | We chose the LGPL because we don't care that much how you're using Snuffleupagus, |
| 77 | but we'd like to force people to make their improvements/contributions | 79 | but we'd like to force people to make their improvements/contributions |
| 78 | available to everyone. | 80 | available to everyone. |
| 79 | 81 | ||
| 82 | |||
| 83 | What is the different between SNuffleupaugs and a (WAF) like ModSecurity? | ||
| 84 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| 85 | |||
| 86 | `ModSecurity <https://modsecurity.org/>`__ and the other `Web Application | ||
| 87 | Firewall (WAF) <https://en.wikipedia.org/wiki/Web_application_firewall>`__ are | ||
| 88 | working by inspecting the http traffic. Snuffleupagus being a PHP module, is | ||
| 89 | operating directly inside your website's code, with a lesser overhead, as well | ||
| 90 | as a better understanding of what is currently happening inside your | ||
| 91 | application. | ||
| 92 | |||
| 93 | |||
| 80 | Should I use Snuffleupagus? | 94 | Should I use Snuffleupagus? |
| 81 | """"""""""""""""""""""""""" | 95 | """"""""""""""""""""""""""" |
| 82 | 96 | ||
| @@ -113,6 +127,18 @@ is still a security issue, and should be treated as such. | |||
| 113 | We don't have the pretension to state that Snuffleupagus will magically solve | 127 | We don't have the pretension to state that Snuffleupagus will magically solve |
| 114 | all your security issues, but we believe that it might definitely help. | 128 | all your security issues, but we believe that it might definitely help. |
| 115 | 129 | ||
| 130 | |||
| 131 | Sounds great, but is it working? | ||
| 132 | """""""""""""""""""""""""""""""" | ||
| 133 | |||
| 134 | We've been using it in production since a couple of years, and it thwarted | ||
| 135 | numerous known and unknown attacks. If you want some evidences, one of the | ||
| 136 | developer published in June 2019 a `blogpost | ||
| 137 | <https://dustri.org/b/snuffleupagus-versus-recent-high-profile-vulnerabilities.html>`__ | ||
| 138 | showcasing how efficient Snuffleupagus was versus *major* web | ||
| 139 | vulnerabilities from 2018/2019. | ||
| 140 | |||
| 141 | |||
| 116 | Why should I send you bugs, security issues and patches? | 142 | Why should I send you bugs, security issues and patches? |
| 117 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""" | 143 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""" |
| 118 | Snuffleupagus is an open-source security software, by reporting (or fixing) | 144 | Snuffleupagus is an open-source security software, by reporting (or fixing) |
| @@ -148,7 +174,7 @@ By checking the logs; Snuffleupagus systematically prefix them with ``[snuffleup | |||
| 148 | 174 | ||
| 149 | Does Snuffleupagus run on Windows? | 175 | Does Snuffleupagus run on Windows? |
| 150 | """""""""""""""""""""""""""""""""" | 176 | """""""""""""""""""""""""""""""""" |
| 151 | No idea, feel free to `try <https://github.com/nbs-system/snuffleupagus/issues/2>`_. | 177 | No idea, feel free to `try <https://github.com/jvoisin/snuffleupagus/issues/2>`_. |
| 152 | 178 | ||
| 153 | 179 | ||
| 154 | Does Snuggleupagus run on `HHVM <http://hhvm.com/>`_? | 180 | Does Snuggleupagus run on `HHVM <http://hhvm.com/>`_? |
| @@ -181,46 +207,13 @@ discuss potential impact of the vulnerability, | |||
| 181 | reference applicable patches or workarounds, | 207 | reference applicable patches or workarounds, |
| 182 | and credit the discoverer. | 208 | and credit the discoverer. |
| 183 | 209 | ||
| 184 | Please send it us a mail to the ``security`` user, | 210 | Please do send a mail to [Julien (jvoisin) Voisin](https://dustri.org) should |
| 185 | on ``nbs-system.com``, using the gpg key | 211 | you find a security issue. |
| 186 | ``498C46FF087EDC36E7EAF9D445414A82A9B22D78``: | ||
| 187 | |||
| 188 | :: | ||
| 189 | |||
| 190 | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
| 191 | 212 | ||
| 192 | mQENBFnKHhoBCADaOa0MKEqRy0h2ohIzczblzkMQCbU9oD1HwJ1VkYnn7TGW2iKi | ||
| 193 | NISxisExIXpy2Bn/pA27GiV0V/Do3NL6D9r0oOCrGR27muGM0N/dk9UMv7MWw8zv | ||
| 194 | K8cO+Sa28s0cAv7r2ogUJj5YOo8D4wHEpE8424TE89V9+Qg/SaFCxKoELFP0c7wu | ||
| 195 | mtsm0PnL65piZ1EB7lQo2gxg+8AV45MD1Y2rREMKUoZE23X+nXKsmEh9BFEPaU5M | ||
| 196 | 7WQp0NasqeMNoGhwfw9ttVAeLhkEkaTjW1PkNRIb7vrtV9KVb5uKucflfbOnDlzu | ||
| 197 | tQ9U3tYto0mcSCRchAClfEmoSi/0mKyb5N6ZABEBAAG0NVNlY3VyaXR5IHRlYW0g | ||
| 198 | b2YgTkJTIFN5c3RlbSA8c2VjdXJpdHlAbmJzLXN5c3RlbS5jb20+iQE3BBMBCAAh | ||
| 199 | BQJZyh4aAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEEVBSoKpsi14jy0H | ||
| 200 | /1/XB9THhvmG0ow81sld2Zx8qhnNed8VvYDS6mEjpDWNVPxENwDbnakEjisq1Hrb | ||
| 201 | 2UQPYCyQ5dekPNFVwQHIGXkX0eb1Ank+4esBJuEpQ2985tgNhJy5ZX+Imb5C8nZC | ||
| 202 | 90uYSN1UUg559nUsFeElOXSEH6tIXK/TvjsvMYoi2Ukl6lb7PbIU2fjLY9Iqv3QY | ||
| 203 | 32p8/Bl1fVKWbXOk0HDgJ6zA3Kr56QhZOLBkxjOa2XAnnIE76jZxUJ9qPCwWd1vW | ||
| 204 | GFxtx1Y+eZriqHiC9CPe6aBWcIHaTXSu1WBbXrFu8/eCWw243Rxm8l9wgA/a7VWq | ||
| 205 | WBfO45IhJUwh95naRpw8/4a5AQ0EWcoeGgEIAJtzSyyzfn2RX+BsyoRFANUpIgrV | ||
| 206 | /9eohYQVNqK3AFthmq7Kjmt4+hszF5+0wCFmWwYqGnqk1/dsWmqpkXsJldEn6oPJ | ||
| 207 | Bng+Dc67Yki2dR3TroAf95UmI08fhyM7TMXp8m46BPRRMzPNwalEeEm49Oclmfxb | ||
| 208 | JsWWCChWVLWGz2xgPEAv3fPHqus7Rwz/WIl53l/qy1Wf0ewmjRpVEfnEMKBExtBK | ||
| 209 | 4kRxQ40LzUZ1SfpyGc3nMbswhevT7/klqrdJdCnlu67Y/IfRGxGZuNj1n1Dib3Hx | ||
| 210 | zTBHo3Y2R3BB93Ix8dkbLaxLqFbOYVdijCgJklqUWhx7btpQ2xnZyzyCMuUAEQEA | ||
| 211 | AYkBHwQYAQgACQUCWcoeGgIbDAAKCRBFQUqCqbIteFRvB/9u3Mae8n8ELrJKOn+P | ||
| 212 | PEbWjutObIuTplvY4QcbnNb9dsgsKryamp4CFJsA5XuitPpC31GDMXBZO5/LLOuH | ||
| 213 | HoMaXFJdic0NToL/3REhu+aZkNIU6S/iaPRNVhkSV4lwQsvncz+nBaiDUJjyfJm2 | ||
| 214 | kEjVcRTM8yqzcNo/9Gn0ts+XCUqRj7+S1M4Bj3NySoO/w2n+7OLbIAj+wQZcj3Gf | ||
| 215 | 5QhBYaY4YaFxrJE0IZxyXGHw8xhKR6AN+u4TO7LRCW+cWV/sHWir1MXieJoEG8+R | ||
| 216 | W/BhrB0Rz5uxOXMoGCCD2TUiHq7zpuHGnYFVmAnHQZaaQxXve4VrcmznxgpV8lpW | ||
| 217 | mZug | ||
| 218 | =+eIv | ||
| 219 | -----END PGP PUBLIC KEY BLOCK----- | ||
| 220 | 213 | ||
| 221 | I found a bug. How can I report it? | 214 | I found a bug. How can I report it? |
| 222 | """"""""""""""""""""""""""""""""""" | 215 | """"""""""""""""""""""""""""""""""" |
| 223 | We do have an issue tracker on `Github <https://github.com/nbs-system/snuffleupagus/issues>`_. | 216 | We do have an issue tracker on `Github <https://github.com/jvoisin/snuffleupagus/issues>`_. |
| 224 | Please make sure to include as much information as possible when reporting your issue, | 217 | Please make sure to include as much information as possible when reporting your issue, |
| 225 | such as your operating system, your version of PHP 7, your version of Snuffleupagus, | 218 | such as your operating system, your version of PHP 7, your version of Snuffleupagus, |
| 226 | your logs, the problematic php code, the request, a brief description, … long story short, | 219 | your logs, the problematic php code, the request, a brief description, … long story short, |
| @@ -232,12 +225,9 @@ it's not that hard. | |||
| 232 | Where can I find even more help? | 225 | Where can I find even more help? |
| 233 | """""""""""""""""""""""""""""""" | 226 | """""""""""""""""""""""""""""""" |
| 234 | The :doc:`configuration page <config>` might be what you're looking for. | 227 | The :doc:`configuration page <config>` might be what you're looking for. |
| 235 | If you're adventurous, you can also check the `issue tracker <https://github.com/nbs-system/snuffleupagus/issues/?q=is%3Aissue>`_ | 228 | If you're adventurous, you can also check the `issue tracker <https://github.com/jvoisin/snuffleupagus/issues/?q=is%3Aissue>`_ |
| 236 | (make sure to check the `closed issues <https://github.com/nbs-system/snuffleupagus/issues?q=is%3Aissue+is%3Aclosed>`_ too). | 229 | (make sure to check the `closed issues <https://github.com/jvoisin/snuffleupagus/issues?q=is%3Aissue+is%3Aclosed>`_ too). |
| 237 | 230 | ||
| 238 | I need professional support for my company. | ||
| 239 | """"""""""""""""""""""""""""""""""""""""""" | ||
| 240 | Contact `NBS System <https://nbs-system.com>`_. | ||
| 241 | 231 | ||
| 242 | Unimplemented mitigations and abandoned ideas | 232 | Unimplemented mitigations and abandoned ideas |
| 243 | --------------------------------------------- | 233 | --------------------------------------------- |
| @@ -255,3 +245,19 @@ if someone can manage to get better results than us. | |||
| 255 | The possibility of having this natively in PHP has | 245 | The possibility of having this natively in PHP has |
| 256 | `been discussed <https://marc.info/?l=php-internals&m=141692988212413&w=2>`_, | 246 | `been discussed <https://marc.info/?l=php-internals&m=141692988212413&w=2>`_, |
| 257 | but as 2017, nothing has been merged yet. | 247 | but as 2017, nothing has been merged yet. |
| 248 | |||
| 249 | Nop'ing function execution | ||
| 250 | """""""""""""""""""""""""" | ||
| 251 | |||
| 252 | Snuffleupagus can be configured to either *allow* or *drop* the execution of | ||
| 253 | particular functions and optionally *log* and *dump* them, but it doesn't | ||
| 254 | provide any mechanism to *nop* their execution. | ||
| 255 | |||
| 256 | We thought about adding this, but didn't for several reasons: | ||
| 257 | |||
| 258 | - What should the return value of a *nop'ed* function be? | ||
| 259 | - It would add confusion between ``drop``, ``nop`` and ``log``. | ||
| 260 | - Usually, when a specific function is called, either it's a dangerous one | ||
| 261 | and you want to stop the execution immediately, or you want to let it | ||
| 262 | continue and log it. There isn't really any middle-ground, or at least we | ||
| 263 | failed to find any. | ||
