Difference between pages "Package:Sshguard" and "Help:Funtoo Editing Guidelines"

(Difference between pages)
(initial commit)
 
(Fancy Notes)
 
Line 1: Line 1:
{{Ebuild
+
This guide is meant to serve as a reference for those who are interested in helping improve the Funtoo Wiki.
|Summary=protects hosts from brute force attacks against ssh
+
|CatPkg=app-admin/sshguard
+
|Maintainer=
+
}}
+
__TOC__
+
'''sshguard''' is an intrusion prevention system.  sshguard parses server logs, determines malicious activity, and then bans malicious users via firewall rules.  sshguard is written in C so it does not tax an interprator.
+
  
== Installation ==
+
First, to perform edits on the wiki, you must {{CreateAccount}} and log in.
=== Emerge ===
+
To install sshguard:
+
  
<console>
+
You can create a new page by navigating to http://www.funtoo.org/New_Page_Name. Underscores are the equivalent of spaces. Then click the "Create" button in the upper right.
###i##emerge app-admin/sshguard
+
</console>
+
  
=== Configuration ===
+
Whether creating a new page or editing an existing page by clicking "Edit", you will be presented with Web-based text editor that allows you to modify the ''wikitext'' of the page. The wikitext is rendered to produce the document you see when you view the page normally.
sshguard does not have a configuration file. sshguard is controlled by flags passed to it upon execution.
+
  
/etc/conf.d/sshguard is where flags & log path can be passed to the sshguard service.
+
This wiki uses the ApprovedRevs Extension, which means that any changes you make to a page will need to be approved by an Editor before they are displayed. Editors can visit the [[Special:ApprovedRevs]] page to approve edits made on pages (click "Pages whose approved revision is not their latest" or "Unapproved pages".)
  
==== Rules ====
+
Until your edits are approved, you can continue to edit the page and your changes will be displayed in the page's History -- click "View History" in the upper right to view the page's history. You will see that the approved version of a page has a star next to it.
{{file|name=/etc/conf.d/sshguard|desc=overly strict rules|body=
+
SSHGUARD_OPTS="-p 3600 -s 3600 -a 20"}}
+
  
==== Logs ====
+
Another fun thing you can do is click on your name in the upper right once you have logged in. This will bring you to your "User" page. Then click "Create with Form" and enter your geographic and other information. This will allow you to be displayed on our [[Usermap]] and will also allow your full name to be displayed on [[:Category:Ebuilds|Ebuild pages]] for which you are an author. It's generally a good idea to do this.
sshguard will fail to start unless it has proper authorization logs to monitor.
+
  
{{file|name=/etc/conf.d/sshguard|desc=syslog-ng log location|body=
+
{{fancytip|The following sections document how to use wikitext and Funtoo templates on the Funtoo wiki.}}
SSHGUARD_OPTS="${SSHGUARD_OPTS} -l /var/log/messages"}}
+
  
== Iptables ==
+
= Paragraphs =
=== IP v4 ===
+
Generate blank iptables rules, and start iptables as outlined [[Iptables#First_Run|here]].
+
  
Insert these rules to allow sshguard to ban malicious users.
+
To create a new paragraph, insert a blank line between two lines of text. If a blank line doesn't exist between two lines of wikitext, they will be combined into a single flowing paragraph.
  
<console>
+
= Page and Section Capitalization =
###i##iptables -N sshguard
+
</console>
+
  
&& to block all trafic from offenders
+
In general, capitalize all words in page names and section heading except:
 +
* Articles: a, an, the
 +
* Coordinating Conjunctions: and, but, or, for, nor, etc.
 +
* Prepositions (fewer than five letters): on, at, to, from, by, etc.
  
 +
= Document Heirarchy =
 +
 +
Use section headings to create a document heirarchy for your page. These will define the table of contents that appears at the top of the wiki page.
 +
 +
The above top-level section was inserted using:
 +
 +
<pre>= document hierarchy structure =</pre>
 +
== document hierarchy sub structure ==
 +
 +
Sub-sections can be created as follows, or use these as your main sections:
 +
 +
<pre>== document hierarchy sub structure ==</pre>
 +
this is the primary structure most pages, talk pages will use instead of main heading example above.  some pages will call for main heading.
 +
=== document hierarchy sub sub structure ===
 +
 +
Now, we can create third-level sections:
 +
 +
<pre>=== document hierarchy sub sub structure ===</pre>
 +
==== document hierarchy sub sub sub structure ====
 +
 +
<pre>==== document hierarchy sub structure ====</pre>
 +
 +
== Console ==
 +
To display console output, use the <tt>&#60;console&#62;</tt> tag:
 +
 +
For a root console:
 +
<pre>
 
<console>
 
<console>
###i##iptables -A INPUT -j sshguard
+
###i## run a command as root
 
</console>
 
</console>
 
+
</pre>
== Boot Service ==
+
Produces:
=== OpenRC ===
+
To start sshguard immediately:
+
 
<console>
 
<console>
###i##rc-service sshguard start
+
###i## run a command as root
 
</console>
 
</console>
  
To start sshguard upon reboot:
+
{{Fancyimportant|The <tt>##i##</tt> text tags the rest of the line as being ''user input'' ("i" is for "input"). It is then highlighted in a noticeable color so it stands out from text that is not typed in by the user.}}
 +
 
 +
Examples of usage:
 +
* [[Rootfs over encrypted lvm]]
 +
* [[Boot-Update]]
 +
* [[Fonts]]
 +
For a non-root console:
 +
<pre>
 
<console>
 
<console>
###i##rc-update add sshguard default
+
$ ##i##run a command as user
 
</console>
 
</console>
 +
</pre>
 +
Produces:
 +
<console>
 +
$ ##i##run a command as user
 +
</console>
 +
 +
{{fancyimportant|1=
 +
Note that we use a <tt>#</tt> prompt for <tt>root</tt> and a <tt>$</tt> prompt to denote a non-root user.}}
 +
 +
Examples of usage:
 +
* [[Zope HOWTO]]
 +
* [[Benchmarking]]
 +
 +
or a more concise syntax
 +
 +
== Fancy Notes ==
 +
notes, warnings, tips, and important templates will help bring emphasis to articles drawn up.
 +
<pre>{{fancynote|this is a fancy note}}</pre><br />
 +
{{fancynote|this is a fancy note}}<br />
 +
 +
<pre>{{fancyimportant|this is a fancy important}}</pre><br />
 +
{{fancyimportant|this is a fancy important}}<br />
 +
 +
<pre>{{fancywarning|this is a fancy warning}}</pre><br />
 +
{{fancywarning|this is a fancy warning}}<br />
 +
 +
<pre>{{fancytip|this is a fancy tip}}</pre><br />
 +
{{fancytip|this is a fancy tip}}<br />
 +
 +
== Kernelop ==
 +
To display kernel options, we encourage you to use the <tt>kernelop</tt> template. To use the <tt>kernelop</tt> template, create an entry similar to the following example:
 +
<pre>
 +
{{kernelop|title=foo,bar|desc=
 +
kernel options pasted from "make menuconfig"
 +
<&#47;pre>}}
 +
</pre>
 +
 +
Adding this entry will give you the following output:
 +
{{kernelop|title=foo,bar|desc=
 +
kernel options
 +
}}
 +
 +
Here's a more concrete example:
 +
{{kernelop|title=File systems|desc=
 +
<M> Second extended fs support         
 +
[ ]  Ext2 extended attributes         
 +
[ ]  Ext2 execute in place support   
 +
<M> Ext3 journalling file system support
 +
}}
 +
 +
Examples of usage:
 +
* [[Package:AMD Catalyst Video Drivers]]
 +
* [[Package:ACPI Daemon]]
 +
* [[Microcode]]
 +
 +
== links ==
 +
 +
internal:<pre>[[pagename]]</pre>
 +
[[pagename]]
 +
internal with text:<pre>[[pagename|some text]]</pre>
 +
[[pagename|some text]]
 +
external: <pre>[http://funtoo.org/ http://funtoo.org/]</pre>
 +
which can also simply be specified as a literal: <pre>http://funtoo.org</pre>.
 +
[http://funtoo.org/ http://funtoo.org/]
 +
external with text: <pre>[http://funtoo.org/ this is some text]</pre>
 +
[http://funtoo.org/ this is some text]
 +
 +
== Displaying Source Code ==
 +
 +
To display source code, use the <tt>&#60;syntaxhighlight&#62;</tt> tag, which has the ability to perform syntax highlighting on the source code for easier reading:
 +
<pre>
 +
<syntaxhighlight lang="python">
 +
import system
 +
</syntaxhighlight>
 +
</pre>
 +
 +
This will produce the following output:
 +
 +
<syntaxhighlight lang="python">
 +
import system
 +
</syntaxhighlight>
 +
 +
Alternatively, if you need a caption, use can use the file template:
 +
 +
<pre>
 +
{{file|name=foobar|lang=python|desc=foobarosity|body=
 +
import system
 +
}}
 +
</pre>
 +
 +
This will produce:
 +
 +
{{file|name=foobar|lang=python|desc=foobarosity|body=
 +
import system
 +
}}
 +
 +
Note that the language should be specified in the <tt>lang</tt> attribute. For a list of supported languages, see [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages this list].
 +
 +
== Displaying Text File Contents ==
 +
 +
For displaying the contents of non-programming language text files (like config files), you have two options. You can enclose your lines within <tt>&#60;pre&#62;</tt> tags, or use the new [[Template:File|file template]]. The file template is used like so:
 +
 +
<pre>
 +
{{file|name=/etc/foo.conf|desc=My foo.conf file|body=
 +
# /etc/host.conf:
 +
# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 2006/09/29
 +
}}
 +
</pre>
 +
 +
This will produce:
 +
 +
{{file|name=/etc/foo.conf|desc=My foo.conf file|body=
 +
# /etc/host.conf:
 +
# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 2006/09/29
 +
}}
 +
 +
== Marking Pages as Needing Updates ==
 +
 +
If you find outdated wiki content, but you don't have the time or ability to update it, add one of the following templates to the wikitext of the page. This will add the page to the [[:Category:Needs Updates|Needs Updates Category]] so we can identify pages that need updating:
 +
 +
<pre>
 +
{{PageNeedsUpdates}}
 +
{{SectionNeedsUpdates}}
 +
</pre>
 +
 +
== Displaying Files ==
 +
To display the contents of a file that is not source code, use the <&#47;pre> tag. The <&#47;pre> tag preserves formatting. Example file contents:
 +
 +
<pre>
 +
foo
 +
bar
 +
oni
 +
</pre>
 +
 +
 +
Examples of usage:
 +
* [[UEFI Install Guide]]
 +
* [[Package:MediaWiki]]
 +
* [[Clang]]
 +
 +
== &#60;tt&#62; and &#60;code&#62; ==
 +
To emphasize filenames, commands, and other technical jargon when they appear inline in a paragraph, use the  <tt>&#60;tt&#62;</tt> or <tt>&#60;code&#62;</tt> option. To use these, follow the example below:
 +
<pre>
 +
The <tt>/etc/fstab</tt> file is an important one. Another important file is <code>/boot/grub/grub.cfg</code>.
 +
</pre>
 +
 +
This example produces the following output (notice the difference between the fonts?): <br> The <tt>/etc/fstab</tt> file is an important one. Another important file is <code>/boot/grub/grub.cfg</code>.
 +
 +
== Collapsible text ==
 +
 +
<pre><div class="toccolours mw-collapsible"> some text you might want to fold away because its a huge explanation.</div></pre><br />
 +
 +
<div class="toccolours mw-collapsible"> some text you might want to fold away because its a huge explanation.</div><br />
 +
 +
<pre><div class="toccolours mw-collapsible mw-collapsed">pre collapsed text because it is a huge explanation.</div></pre><br />
 +
 +
<div class="toccolours mw-collapsible mw-collapsed">pre collapsed text because it is a huge explanation.</div>
  
== External Resources ==
+
== Screencasting ==
*http://www.sshguard.net/
+
screencasting is an easy method to explain complex tasks. take for instance youtu.be/5KDei5mBfSg we chop off the id and insert it into the following syntax to produce a video example.<br />
*http://www.ohloh.net/p/sshguard
+
tiny:
 +
<pre>{{#widget:YouTube|id=5KDei5mBfSg|width=320|height=180}}</pre>
 +
standard:
 +
<pre>{{#widget:YouTube|id=5KDei5mBfSg|width=700|height=420}}</pre>
 +
{{#widget:YouTube|id=5KDei5mBfSg|width=700|height=420}}
  
[[Category:Security]]
+
[[Category:Wiki Development]]
[[Category:Server]]
+
{{EbuildFooter}}
+

Revision as of 03:03, June 27, 2014

This guide is meant to serve as a reference for those who are interested in helping improve the Funtoo Wiki.

First, to perform edits on the wiki, you must Create a Funtoo account and log in.

You can create a new page by navigating to http://www.funtoo.org/New_Page_Name. Underscores are the equivalent of spaces. Then click the "Create" button in the upper right.

Whether creating a new page or editing an existing page by clicking "Edit", you will be presented with Web-based text editor that allows you to modify the wikitext of the page. The wikitext is rendered to produce the document you see when you view the page normally.

This wiki uses the ApprovedRevs Extension, which means that any changes you make to a page will need to be approved by an Editor before they are displayed. Editors can visit the Special:ApprovedRevs page to approve edits made on pages (click "Pages whose approved revision is not their latest" or "Unapproved pages".)

Until your edits are approved, you can continue to edit the page and your changes will be displayed in the page's History -- click "View History" in the upper right to view the page's history. You will see that the approved version of a page has a star next to it.

Another fun thing you can do is click on your name in the upper right once you have logged in. This will bring you to your "User" page. Then click "Create with Form" and enter your geographic and other information. This will allow you to be displayed on our Usermap and will also allow your full name to be displayed on Ebuild pages for which you are an author. It's generally a good idea to do this.

Tip

The following sections document how to use wikitext and Funtoo templates on the Funtoo wiki.

Paragraphs

To create a new paragraph, insert a blank line between two lines of text. If a blank line doesn't exist between two lines of wikitext, they will be combined into a single flowing paragraph.

Page and Section Capitalization

In general, capitalize all words in page names and section heading except:

  • Articles: a, an, the
  • Coordinating Conjunctions: and, but, or, for, nor, etc.
  • Prepositions (fewer than five letters): on, at, to, from, by, etc.

Document Heirarchy

Use section headings to create a document heirarchy for your page. These will define the table of contents that appears at the top of the wiki page.

The above top-level section was inserted using:

= document hierarchy structure =

document hierarchy sub structure

Sub-sections can be created as follows, or use these as your main sections:

== document hierarchy sub structure ==

this is the primary structure most pages, talk pages will use instead of main heading example above. some pages will call for main heading.

document hierarchy sub sub structure

Now, we can create third-level sections:

=== document hierarchy sub sub structure ===

document hierarchy sub sub sub structure

==== document hierarchy sub structure ====

Console

To display console output, use the <console> tag:

For a root console:

<console>
###i## run a command as root
</console>

Produces:

# run a command as root

Important

The ##i## text tags the rest of the line as being user input ("i" is for "input"). It is then highlighted in a noticeable color so it stands out from text that is not typed in by the user.

Examples of usage:

For a non-root console:

<console>
$ ##i##run a command as user
</console>

Produces:

$ run a command as user

Important

Note that we use a # prompt for root and a $ prompt to denote a non-root user.

Examples of usage:

or a more concise syntax

Fancy Notes

notes, warnings, tips, and important templates will help bring emphasis to articles drawn up.

{{fancynote|this is a fancy note}}

Note

this is a fancy note


{{fancyimportant|this is a fancy important}}

Important

this is a fancy important


{{fancywarning|this is a fancy warning}}

Warning

this is a fancy warning


{{fancytip|this is a fancy tip}}

Tip

this is a fancy tip


Kernelop

To display kernel options, we encourage you to use the kernelop template. To use the kernelop template, create an entry similar to the following example:

{{kernelop|title=foo,bar|desc=
kernel options pasted from "make menuconfig"
</pre>}} 

Adding this entry will give you the following output: Under foo-->bar:

kernel options

Here's a more concrete example: Under File systems:

<M> Second extended fs support          
[ ]   Ext2 extended attributes          
[ ]   Ext2 execute in place support     
<M> Ext3 journalling file system support

Examples of usage:

links

internal:
[[pagename]]

pagename

internal with text:
[[pagename|some text]]

some text

external:
[http://funtoo.org/ http://funtoo.org/]
which can also simply be specified as a literal:
http://funtoo.org
.

http://funtoo.org/

external with text:
[http://funtoo.org/ this is some text]

this is some text

Displaying Source Code

To display source code, use the <syntaxhighlight> tag, which has the ability to perform syntax highlighting on the source code for easier reading:

<syntaxhighlight lang="python">
import system
</syntaxhighlight>

This will produce the following output:

import system

Alternatively, if you need a caption, use can use the file template:

{{file|name=foobar|lang=python|desc=foobarosity|body=
import system
}}

This will produce:

foobar: foobarosity (python source code)
import system

Note that the language should be specified in the lang attribute. For a list of supported languages, see this list.

Displaying Text File Contents

For displaying the contents of non-programming language text files (like config files), you have two options. You can enclose your lines within <pre> tags, or use the new file template. The file template is used like so:

{{file|name=/etc/foo.conf|desc=My foo.conf file|body=
# /etc/host.conf:
# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 2006/09/29
}}

This will produce:

/etc/foo.conf: My foo.conf file
# /etc/host.conf:
# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 2006/09/29

Marking Pages as Needing Updates

If you find outdated wiki content, but you don't have the time or ability to update it, add one of the following templates to the wikitext of the page. This will add the page to the Needs Updates Category so we can identify pages that need updating:

{{PageNeedsUpdates}}
{{SectionNeedsUpdates}}

Displaying Files

To display the contents of a file that is not source code, use the </pre> tag. The </pre> tag preserves formatting. Example file contents:

foo
bar
oni


Examples of usage:

<tt> and <code>

To emphasize filenames, commands, and other technical jargon when they appear inline in a paragraph, use the <tt> or <code> option. To use these, follow the example below:

The <tt>/etc/fstab</tt> file is an important one. Another important file is <code>/boot/grub/grub.cfg</code>.

This example produces the following output (notice the difference between the fonts?):
The /etc/fstab file is an important one. Another important file is /boot/grub/grub.cfg.

Collapsible text

<div class="toccolours mw-collapsible"> some text you might want to fold away because its a huge explanation.</div>

some text you might want to fold away because its a huge explanation.

<div class="toccolours mw-collapsible mw-collapsed">pre collapsed text because it is a huge explanation.</div>

pre collapsed text because it is a huge explanation.

Screencasting

screencasting is an easy method to explain complex tasks. take for instance youtu.be/5KDei5mBfSg we chop off the id and insert it into the following syntax to produce a video example.
tiny:

{{#widget:YouTube|id=5KDei5mBfSg|width=320|height=180}}

standard:

{{#widget:YouTube|id=5KDei5mBfSg|width=700|height=420}}