<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-7051274034448196719</id><updated>2009-11-02T07:34:32.045-08:00</updated><title type='text'>Open Source and Security</title><subtitle type='html'>Review of OSS applications as I discover them.
Highlight of security related issues.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-1273185536542404153</id><published>2008-08-30T22:13:00.000-07:00</published><updated>2008-08-30T23:49:12.492-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='puppet introduction &quot;configuration management&quot;'/><title type='text'>An introduction to Puppet(config management)</title><content type='html'>&lt;a href="http://puppet.reductivelabs.com/"&gt;Puppet&lt;/a&gt; is  a configuration management tool and more. If you have the same configuration, set of packages, or simply files that you'd like to roll out to multiple machines, puppet is bound to make your life easier.&lt;br /&gt;&lt;br /&gt;If it's less than a half dozen machines, you can likely get away with clusterssh, which allows you to control multiple machines at once via ssh. But if you have more, or you want a more elegant and centralized way of managing configuration, you want Puppet. Yes, there's also cfengine, but puppet is said to be more flexible. I can't comment on that, since I've only used cfengine briefly, and thought it was too complicated to be worth it. Having said that Puppet has a fairly steep learning curve as well.&lt;br /&gt;&lt;br /&gt;Puppet has a client-server architecture. The client is "puppet" the server is "puppetmaster".  Installing puppetmaster will automagically install puppet on the same host. For other hosts that you want to control via your main puppetmaster host, simply install just the puppet package.&lt;br /&gt;&lt;br /&gt;By default puppet clients expect their master to be called "puppet" in DNS, but you can change this. If you plan to have multiple puppetmasters(for whatever reason, such as separate networks/clients etc) it's probably a good idea to change this(see below on how to do that).  Having said that, the puppet system is clever enough that it won't just start changing things on clients that you specify on the puppetmaster. In fact &lt;b&gt;it's the clients that poll the server for changes&lt;/b&gt;, and will &lt;b&gt;only apply a change to themselves, if they've exchanged keys&lt;/b&gt; with the server beforehand.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: rgb(51, 51, 255);" color="blue"&gt;So how do I get the clients to talk to the master? &lt;/div&gt;&lt;div style="color: blue;"&gt;&lt;/div&gt;&lt;div  style="color:blue;"&gt;&lt;span style="color:black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;On each client do:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       puppetd --server yourpuppetmaster --waitforcert 60 --tes&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;t &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The puppetmaster can list which clients have asked to be controlled by it: &lt;br /&gt;&lt;br /&gt;         &lt;span style=";font-family:&amp;quot;;" &gt;puppetca --list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, if the server wants to control that client, it should sign it's certificate that the client requested in the previous steps:&lt;br /&gt;&lt;br /&gt;   &lt;span style=";font-family:&amp;quot;;" &gt; puppetca --sign puppetclientname&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note, the puppet client on the puppetmaster server itself, is already authorized, and doesn't need to go through the above steps.&lt;br /&gt;&lt;div style="color: blue;"&gt;&lt;/div&gt;&lt;div style="color: blue;"&gt;  &lt;/div&gt;&lt;span style="color:blue;"&gt;Ok, so let's test it&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's first try creating a file. Puppet can push out existing files, but it can also create new ones. For this first example, we'll try the latter.&lt;br /&gt;&lt;br /&gt;You put the configs in /etc/puppet/manifests, and by default, puppet expects there to be a file called &lt;b&gt;"site.pp"&lt;/b&gt; You can split up your configs and  have other files in the same directory, and then link them from site.pp, but we'll do that later. For now just add this to your site.pp file(which you'll create):&lt;div style="color: blue;"&gt;  &lt;/div&gt;&lt;pre&gt;# Create "/tmp/testfile" if it doesn't exist.&lt;br /&gt;class test_class { &lt;br /&gt;file { "/tmp/testfile":    &lt;br /&gt;ensure = present,&lt;br /&gt;mode   = 644,    &lt;br /&gt;owner  = root,    &lt;br /&gt;group  = root   }&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;pre&gt;# tell puppet on which client to run the class&lt;br /&gt;&lt;br /&gt;  node yourpuppetclient {          #this is the name of one or more of your puppet clients  &lt;br /&gt;     include test_class&lt;br /&gt;  }&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;Here's another simple example for running a script.&lt;/span&gt;&lt;br /&gt;Notice the "require" statement which is where Puppet's power lies.&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;class test2 {&lt;br /&gt;exec { "my test program"&lt;br /&gt;cwd "/var/tmp",&lt;br /&gt;command = "/var/tmp/test.sh",&lt;br /&gt;alias     = "testscript",&lt;br /&gt;#  require = User['tibor'],   #require that the user "tibor" exists  before running the script       }&lt;br /&gt;} &lt;/pre&gt;#And then specify which client to apply it to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;     node yourpuppetclient { include test }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;So when will the changes be applied?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;By &lt;/span&gt;default puppet applies its changes every 30min. If you want to manually apply an update, you can run&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;" &gt;      puppetd -o -v&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Changing the puppet master name from the default "puppet"&lt;/b&gt;&lt;/div&gt;This is optional...In /etc/puppet/puppet.conf on each client add&lt;br /&gt;  [puppetd]&lt;br /&gt; server=yourpuppetmasterserver&lt;br /&gt;&lt;br /&gt;and on the server only under the [puppetmasterd] section&lt;br /&gt;&lt;pre&gt;  certname=yourpuppetmasterserver&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:inherit;"&gt;To make sure this post is not too overwhelming, I'll stop here. Next post about puppet, I'll include some more complex examples to show the power of Puppet.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:inherit;"&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:inherit;"&gt;-T &lt;/span&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-1273185536542404153?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/1273185536542404153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=1273185536542404153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/1273185536542404153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/1273185536542404153'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/08/introduction-to-puppetconfig-management.html' title='An introduction to Puppet(config management)'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-1582323144007821004</id><published>2008-08-07T02:10:00.000-07:00</published><updated>2008-08-07T03:30:51.618-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openid googlepedia'/><title type='text'>OpenID and Googlepedia</title><content type='html'>&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2517"&gt;Googlepedia&lt;/a&gt; is a Firefox extension that combines google search results with wikipedia pages for that specific search item. How does it do that? It creates a second windowpane on the right(of your google result page), that contains the wikipedia article for your search string. And if you navigate the Wikipedia links, it will take those links and google search them for you. If it gets in your way, you can hide it. I've found it quite useful as I'm often switching between the two sites.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/en/thumb/c/c8/OpenID_logo.svg/300px-OpenID_logo.svg.png" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/thumb/c/c8/OpenID_logo.svg/300px-OpenID_logo.svg.png" style="border: 0pt none ;" width="96" height="36" /&gt;&lt;/a&gt;I've been starting to see &lt;a href="http://www.openid.net/"&gt;OpenID&lt;/a&gt; login options on several websites, and always wondered what it was. So I thought I'd try it out. But first, what is it? &lt;b&gt;It's an easier way to login without the pain of having to remember multiple usernames and passwords&lt;/b&gt;. It's also decentralized and free.&lt;br /&gt;&lt;br /&gt;Let's say you have a Yahoo account, and you want to post a comment on Blogger(google's site). By default only people with google accounts can post, or  the blog owner has the choice of opening up comments to anyone, which is just asking for spam trouble.&lt;br /&gt;&lt;br /&gt;Enter OpenID. Instead of having to create a new Google account, you enter your OpenID, which is a URL(that you sign up for at the OpenID provider) that then takes you back to login to your yahoo account, asks you if you want to login to the new site, and then proceeds. One important distinction here is that you can tell the openID provider site to remember that you've ok'd a certain site, so it doesn't keep prompting you.&lt;br /&gt;&lt;br /&gt;And then you're authenticated to the blogger site and can post your comment. It is all done over SSL, so it's encrypted, and your password is not sent between the two sites, only an authentication token. Clever aye?&lt;br /&gt;&lt;br /&gt;Or, let's say you have a sourceforge account, with a unique username and password, that you can never remember. Use their new OpenID login instead. The first time you use it, you'll need to login to the actual Sourceforge account, using your username and password(to link the two), but after that you can always just login with the URL(which again, if you're not logged into your openID provider, will prompt you to login.&lt;br /&gt;&lt;br /&gt;So how do you get an OpenID? From an OpenID provider, or if you have your own server, you can become your own OpenID provider. If you have a google account, then you already have an OpenID, it's the URL of your blog site, although you'll need to use the beta draft.blogspot.com as your dashboard to enable it for your blog.  Yahoo's openID site is openid.yahoo.com. For theirs, you go through a couple of steps to create one, but you can make it custom one(ie. me.yahoo.com/whateveryouwant_here_that's_not_already_taken) I only mention these two cause I have accounts with them. Here's a more complete list of OpenID providers:&lt;br /&gt;&lt;a href="http://openid.net/get/"&gt;http://openid.net/get/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So OpenID is a great idea, but it's just starting to catch on. Some people argue that the password manager within a browser already does what OpenID is attempting to do(ie. save people from having to remember lots of different passwords). That's true, but OpenID works if you're away from your usual computer, and don't have your saved passwords handy. It also doesn't stop blog spammers, just slows them down.&lt;br /&gt;&lt;br /&gt;I believe the idea will catch on, as more and more websites start using it.  The extent to which one site will trust another, especially competitor's openId provider will likely, and sadly always be limited. A nice exception here is sourceforge, although it's limited to which openID providers it will accept(it appears anyway)&lt;br /&gt;&lt;br /&gt;As a final note,&lt;a href="http://www.drupal.org"&gt; Drupal&lt;/a&gt; (popular CMS application) now has support for OpenID logins, and the OpenID project is offering a $5000 bounty to other projects that implement it. Nice.&lt;br /&gt;-T&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-1582323144007821004?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/1582323144007821004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=1582323144007821004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/1582323144007821004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/1582323144007821004'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/08/openid-and-googlepedia.html' title='OpenID and Googlepedia'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-8475056803389932861</id><published>2008-08-02T11:11:00.000-07:00</published><updated>2008-08-02T11:56:06.414-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syncrepl ldap'/><title type='text'>openldap sync replication instead of slurpd</title><content type='html'>syncrepl is a new replication mode, first introduced in openldap 2.2, and used exclusively in 2.4, where slurpd is deprecated. So if you're running Etch, you can use both methods, side by side even.&lt;br /&gt;&lt;br /&gt;So why would you want to use it(besides the fact that slurpd will be obsolete in Lenny)? Well it provides a smarter way of replication, starting with the fact that your replica can start out completely empty, so no more having to copy DB's to slaves. Also, no more having to restart the master or add config changes when you want to setup a new slave. And reportedly more reliable replication(which I'm keen to see)&lt;br /&gt;&lt;br /&gt;There are a couple of concepts in syncrepl that may be confusing at first. First, the "master" is called the "provider" and the slaves are called "consumers". Secondly, the basic setup of syncrepl(called refreshOnly) is a pull-based replication. So the consumer pulls updates from the provider.&lt;br /&gt;&lt;br /&gt;So let's say you already have an ldap master configured, and your slaves are configured with the old slurpd replication. &lt;span style="font-weight: bold;"&gt;How do you start to migrate&lt;/span&gt;? In this example,  we'll setup a new slave that will use syncrepl. It assumes you already have a replication user that has full read access to the master(you should have this if your use slurpd). It also assumes that you have the directive "lastmod on" enabled on your master. By default it is on, but to get replication working between etch and sarge ldap instances you may have it off. &lt;span style="font-weight: bold;"&gt;So if you still have sarge boxes in your replica chain, then stop now, otherwise you'll break them :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;First add the following 4 lines to your master:&lt;/span&gt;&lt;br /&gt;#Under the Global Directives section&lt;br /&gt;moduleload  syncprov.la&lt;br /&gt;#Under your Database definition&lt;br /&gt;overlay syncprov&lt;br /&gt;syncprov-checkpoint 100 10&lt;br /&gt;syncprov-sessionlog 100&lt;br /&gt;--------------------------------------------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don't&lt;/span&gt; define the new slave on the master, as you do with slurpd replication.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;On the slave, copy the slapd.conf from the master(minus the replica &amp;amp; replogfile lines),  and make sure your slave has all the same schemas(in /etc/ldap/schema) that your master does. Then add the following 12 lines to your new slave. &lt;/span&gt;&lt;br /&gt;#Under the database definition&lt;br /&gt;syncrepl        rid=1                      #Identification number for the provider, max 3 digits long&lt;br /&gt;               provider=ldap://ldap  #your master or rather "provider" ldap server&lt;br /&gt;               type=refreshOnly       #we want pull-based to start with&lt;br /&gt;               interval=00:00:05:00   #schedule a replication event every 5 minutes&lt;br /&gt;               searchbase="dc=example,dc=com" #your search base&lt;br /&gt;               filter="(objectClass=*)"  #get all elements&lt;br /&gt;               attrs="*"&lt;br /&gt;               scope=sub&lt;br /&gt;               schemachecking=on      #ensure schema is not violated&lt;br /&gt;               bindmethod=simple       #authentication method&lt;br /&gt;               binddn="cn=replica,dc=example,dc=com" #your replication user&lt;br /&gt;               credentials="secret"      #your replication password&lt;br /&gt;&lt;br /&gt;Now simply restart your slave and watch /var/lib/ldap increase as the data is pulled from the master. Beautiful aye? If you don't particularly like the 5 minute wait, you can decrease that value, or look at setting up refreshandPersist replication "type". Haven't tried that yet, so can't comment on it.&lt;br /&gt;&lt;br /&gt;-T&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-8475056803389932861?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/8475056803389932861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=8475056803389932861' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/8475056803389932861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/8475056803389932861'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/08/openldap-sync-replication-instead-of.html' title='openldap sync replication instead of slurpd'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-7853404691512285485</id><published>2008-07-31T04:41:00.000-07:00</published><updated>2008-07-31T23:21:53.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ldap splatd authorized_keys'/><title type='text'>Splatd, the glue between LDAP and your home directory</title><content type='html'>LDAP is awesome for central authentication, and even more advanced things like mail routing and database info. But there are some things that it doesn't handle like creating and later cleaning and archiving user home directories. Or easily pushing out authorized_keys files for ssh. This is where splatd comes in.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/splatd"&gt;Splatd&lt;/a&gt; can create home directories based on criteria that it can gather from ldap(such as min and maximum uidNumber), can copy your authorized_keys file from ldap, handle .forward files for users(again gathered from ldap), and finally can archive, and later delete home directories for users based on the criteria that you specify.&lt;br /&gt;&lt;br /&gt;Unfortunately splatd doesn't have a Debian(etch) package, but it's fairly painless to use install it from source, then take the config and init script from an Ubuntu package. The only thing to adjust in the init script is the location of the binary, and away you go. You can tell it how often to query ldap for updates(default is 10 minutes), and apply its changes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt; To get authorized_keys working, you'll need to copy ooo.schema and ooossh.schema to /etc/ldap/schema on all your ldap instances, which allows you to set the sshAccount objectClass, and under that sshPublicKey. You can have multiple public keys.&lt;br /&gt;&lt;br /&gt;In my tests it worked very nicely, and I really liked how easy the config file was. I'm pretty sure all of these actions could be done by something like Puppet(which I'll be blogging next week), but splatd made it easy.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Speaking of ldap, it appears that slurpd replication no longer works in 2.4(I'm guessing Debian Lenny) so I'll also be investigating changing that to the new "syncrepl" replication.&lt;br /&gt;-T&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-7853404691512285485?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/7853404691512285485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=7853404691512285485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/7853404691512285485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/7853404691512285485'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/07/splatd-glue-between-ldap-and-your-home.html' title='Splatd, the glue between LDAP and your home directory'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-4384594161507573239</id><published>2008-07-24T04:59:00.000-07:00</published><updated>2008-07-24T05:16:03.063-07:00</updated><title type='text'>Positive Stress</title><content type='html'>When is stress good? When it's a .deb package :) What does it do?&lt;br /&gt;&lt;br /&gt;It allows you to put the CPU, memory, hard disk, or i/o systems (or all at once if you want) into a loop so you can do stress testing on your system. Why would you want to do that?  Well, you can see how your application perform under load, or to identify a bad piece of hardware. Some examples:&lt;br /&gt;&lt;br /&gt;Run a CPU test for 30 seconds&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;stress -c 10 --timeout 30s &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Run a memory test for 60 minutes&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;stress -m 10 --timeout 60m&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Run a combined test for 2 days:&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;stress -m 10 -c 5 -d 2 -i 9 --timeout 2d&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Notice how you can specify the number of "hogs"(love that term) for each subsystem.&lt;br /&gt;&lt;br /&gt;Be careful that the disk test(-d) will write files and may even fill up your disk(if it's small). Happened to me, but it was very smart and quickly removed its temp files, and exited with an error to let you know what happened.&lt;br /&gt;&lt;br /&gt;Also, goes without saying, watch the load on your system and your logfiles to make sure you haven't DOS-ed any of your services. Of course you shouldn't run this outside a scheduled maintenance window, right? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-4384594161507573239?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/4384594161507573239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=4384594161507573239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/4384594161507573239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/4384594161507573239'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/07/positive-stress.html' title='Positive Stress'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-7103971233662914372</id><published>2008-07-01T03:43:00.000-07:00</published><updated>2008-07-01T03:58:12.543-07:00</updated><title type='text'>vnstat-daily network statistics from the CLI</title><content type='html'>I found&lt;a href="http://humdi.net/vnstat/"&gt; vnstat&lt;/a&gt; a few days ago, when I was researching netflow monitors for &lt;a href="http://www.cacti.net"&gt;Cacti&lt;/a&gt;. Cacti is great for providing a visual display of almost anything that you can query through SNMP, which, provided the extendability of SNMP, can be numeric output from any script over time.&lt;br /&gt;&lt;br /&gt;Sometimes, it's nice to have a CLI tool though, that can provide both an active and a historical view of traffic on an interface.It would also be an added benefit, if you didn't _have_ to be root, and more importantly didn't need to sniff the network interface(which is usually quite CPU/memory intensive) vnstat fills this requirement very nicely, and it is an (k)ubuntu package, so just apt-get install it.&lt;br /&gt;&lt;br /&gt;After you install it, you need to run&lt;br /&gt; vnstat -u -i eth0 (or eth1, or whatever interface you want to monitor)&lt;br /&gt;&lt;br /&gt;It's possible to monitor multiple interfaces&lt;br /&gt;&lt;br /&gt;then wait a while for it to gather some data(it reads /proc btw), and then you can have it report by hour(-h) by day(-d) by month(-m) or top10(-t):&lt;br /&gt; Example: vnstat -u -i ath0&lt;br /&gt;&lt;br /&gt; ath0                                                                    22:56&lt;br /&gt; ^                                                                       r    &lt;br /&gt;  |                                                                       r    &lt;br /&gt;  |                                                                       r    &lt;br /&gt;  |                                                                       r    &lt;br /&gt;  |                                                                       r    &lt;br /&gt;  |                                                                       r    &lt;br /&gt;  |                                                                       r    &lt;br /&gt;  |                                                                       rt   &lt;br /&gt;  |                                                                       rt   &lt;br /&gt;  |                                                                       rt   &lt;br /&gt; -+---------------------------------------------------------------------------&gt;&lt;br /&gt;  |  23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22   &lt;br /&gt;                                                                               &lt;br /&gt; h   rx (kB)    tx (kB)      h   rx (kB)    tx (kB)      h   rx (kB)    tx (kB)&lt;br /&gt;23          0          0    07          0          0    15          0          0&lt;br /&gt;00          0          0    08          0          0    16          0          0&lt;br /&gt;01          0          0    09          0          0    17          0          0&lt;br /&gt;02          0          0    10          0          0    18          0          0&lt;br /&gt;03          0          0    11          0          0    19          0          0&lt;br /&gt;04          0          0    12          0          0    20          0          0&lt;br /&gt;05          0          0    13          0          0    21          0          0&lt;br /&gt;06          0          0    14          0          0    22          3          1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-7103971233662914372?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/7103971233662914372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=7103971233662914372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/7103971233662914372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/7103971233662914372'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/07/vnstat-daily-network-statistics-from.html' title='vnstat-daily network statistics from the CLI'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-3761487785236972267</id><published>2008-07-01T03:15:00.000-07:00</published><updated>2008-07-02T18:24:02.743-07:00</updated><title type='text'>Monarch and Childsplay</title><content type='html'>&lt;a href="http://sourceforge.net/projects/monarch"&gt;Monarch&lt;/a&gt; is another Nagios configuration tool like Fruity which I tried earlier. They're both written by Groundworks OpenSource, although Fruity appears to have stalled in development. In a nutshell&lt;span style="font-weight: bold;"&gt; it has a more powerful web interface, but also has more prerequisites in setup. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While Fruity required only Mysql and PHP, Monarch requires MySQL and lots of perl modules. The package comes as a .tgz(tested with 2.0.2), which includes an install script and a README.TXT file, which is fairly easy to follow. The only thing I did differently, is instead of using cpan as the README suggests, I installed the perl module Debian packages using apt-get. Here's the list of what it needed:&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;sudo apt-get install libcgi-session-perl  libclass-accessor-perl libcgi-ajax-perl libxml-sax-perl libxml-libxml-common-perl libdbi-perl libdbd-mysql&lt;/span&gt;-&lt;span style="color: rgb(51, 102, 255);"&gt;perl libxml-libxml-perl&lt;/span&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;libarchive-tar-perl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The install script, asks you several questions, many of which can later be altered on the web interface. After installation, it's easy to import your nagios configuration, simply by going to&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;Control-&gt;Main Nagios Configuration-&gt;Load from file&lt;/span&gt; and then to&lt;br /&gt;Control-&gt;Load&lt;br /&gt;&lt;br /&gt;The "load" dumps the database, and reloads it with the new data. This is a bit clunky, as they could've done it with version control, a new set of tables, or perhaps given the option to create a new database, but easily roll back to the previous one.&lt;br /&gt;&lt;br /&gt;The interface is fairly easy to follow, and you can drill down from a hostgroup to hosts, and then their related services. The nice thing about all the levels in the tree is the pre-populated menus. For example when looking at services for a host, you can easily add a new service just by choosing it from the list. On the other hand, I didn't like the "copy" function the way it was implemented.&lt;br /&gt;&lt;br /&gt;The export is a bit dissapointing in that it's not flexible enough. Much like Fruity, it will take a nicely laid out conf.d directory(and any subdirectories) and squish it into a single fileset. Also it still requires work&lt;br /&gt;&lt;br /&gt;Conclusion:  If you want a nice tool to get a better overview of your existing Nagios configuration(or if you're starting with a fresh configuration), and you'd rather click than edit config files, then Monarch is a nice tool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://childsplay.sourceforge.net/screenshots.php"&gt;Childsplay&lt;/a&gt; is a nice set of educational games for young children(ages 2-11). It features sound and number identification games, memory card games,easy picture puzzles, and for the older ones, typing, spelling and math.&lt;br /&gt;&lt;br /&gt;One of the first things I really liked about Childsplay is that it starts out as full screen, so kids can't accidentally click outside the window and lose their game. The interface is easy and graphical and the icons and games are colorful and fun. And everything has audio feedback. My 22 month old thoroughly enjoyed it to her full attention span(about 10minutes). Highly recommended.&lt;br /&gt;&lt;br /&gt;-T&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-3761487785236972267?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/3761487785236972267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=3761487785236972267' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/3761487785236972267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/3761487785236972267'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/07/monarch-and-childsplay.html' title='Monarch and Childsplay'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-5950512488007504283</id><published>2008-06-23T19:01:00.001-07:00</published><updated>2008-06-23T19:30:07.439-07:00</updated><title type='text'>sshfs - mount a filesystem when you only have ssh access</title><content type='html'>&lt;a href="http://fuse.sourceforge.net/sshfs.html"&gt;sshfs&lt;/a&gt; is one of the most useful tools I've found recently. Basically it allows you to mount a filesystem, let's say your home directory, on a remote machine, just by using ssh. It uses FUSE and sftp in the background, but you don't need to worry about that. If you can ssh, you can mount the remote filesystem.&lt;br /&gt;&lt;br /&gt;By default it only allows root to mount, but all you have to do is &lt;span style="font-weight: bold;"&gt;add yourself to the "fuse" group &lt;/span&gt;and re-login(or sudo -yourloginid if you're lazy or don't want to lose all your windows) and you can start using it:&lt;br /&gt; mount remotemachine:/your/home/directory /local/mount/point&lt;br /&gt;&lt;br /&gt;to unmount it just do:&lt;br /&gt;fusermount -u /local/mount/point&lt;br /&gt;&lt;br /&gt;It's excellent when you don't have NFS/samba available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-5950512488007504283?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/5950512488007504283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=5950512488007504283' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/5950512488007504283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/5950512488007504283'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/06/sshfs-mount-filesystem-when-you-only.html' title='sshfs - mount a filesystem when you only have ssh access'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-7539830311719030259</id><published>2008-06-11T01:54:00.000-07:00</published><updated>2008-06-11T02:17:51.862-07:00</updated><title type='text'>Want a better "top", try atop</title><content type='html'>I was recently looking for a utility that could record cpu, memory, and load usage on a per-process basis over a specified period of time. "top" itself has a -p flag, that lets you watch a single process, but no way to record to a logfile that I could find. Other utilities, like sar are system-wide, instead of process-specific. I was ready to write a script, when I found &lt;a href="http://www.atcomputing.nl/Tools/atop/"&gt;atop&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Atop can work like top or sar(if used with atopsar binary), but unlike either of these, it has heaps of flexibility, including being able to write to a logfile. It also has color highlighting, so that you can define when the CPU reaches a certain threshold, that it should turn red. It can write an ASCII logfile with timestamps based on the intervals you define, and it lists the system state, along with the process state that you've chosen.&lt;br /&gt;&lt;br /&gt;Try this simple .atoprc to watch firefox's activity at 5 minute intervals:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;interval 5&lt;br /&gt;procname firefox&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Then just run it with "atop -M &gt; your_log_file" and let it's do it's magic. This produces human-readable format but if you want something that's easily parseable(ie. tab separated data, check out the -P flag.&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-7539830311719030259?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/7539830311719030259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=7539830311719030259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/7539830311719030259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/7539830311719030259'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/06/want-better-top-try-atop.html' title='Want a better &quot;top&quot;, try atop'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-3833286593261244404</id><published>2008-06-11T01:21:00.000-07:00</published><updated>2008-06-11T01:50:57.700-07:00</updated><title type='text'>Tuxpaint--Brilliant painting program for kids</title><content type='html'>I recently read about&lt;a href="http://www.tuxpaint.org"&gt; TuxPaint&lt;/a&gt; on Newsforge, and since I'm always on the lookout for programs that my little daughter can play with, I was keen to check it out. I was definitely impressed!&lt;br /&gt;&lt;br /&gt;It has a very simple and intuitive interface, lots of fun brush shapes(heart, star, flower etc) with a color palette on the bottom. It's easy to change the size of the brush. Then you have your basic set of shapes, but the thing that makes the program very unique is the stamps.&lt;br /&gt;&lt;br /&gt;There are heaps of stamps. At first I only noticed the first set(animals), but there are 34 pages of shapes within a wide range of categories. These include, fruits and veggies, coins, letters and smilies, planets, cars and traffic signs, musical instruments, sports equipment, and even holiday-specific icons. And again the stamps are easily resized, and some allow you to change their colors. Very cool!&lt;br /&gt;&lt;br /&gt;In addition to the above there are the "Magic" tools which are some of the usual photo retouching tools, with some creative ones(like sparkles) that again make it fun for kids. Even saving and opening is extremely easy. The dialogs only ask "yes" or "no" and are simple visual representations. I wish other programs designed for kids (for example Potato Guy) used similar dialogs.&lt;br /&gt;&lt;br /&gt;So in conclusion, if you have kids try Tuxpaint. You won't be disappointed.&lt;br /&gt;-T&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-3833286593261244404?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/3833286593261244404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=3833286593261244404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/3833286593261244404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/3833286593261244404'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/06/tuxpaint-brilliant-painting-program-for.html' title='Tuxpaint--Brilliant painting program for kids'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-4467598053512989513</id><published>2008-06-02T15:01:00.000-07:00</published><updated>2008-06-02T15:04:53.897-07:00</updated><title type='text'>Goosh-the CLI interface to google(web based!)</title><content type='html'>Like to use the command line? Want to have your recent searches all visible on an easy to read page.&lt;br /&gt;&lt;a href="http://www.goosh.org"&gt;&lt;br /&gt;http://www.goosh.org &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Even does images (i &lt;yourkeyword&gt;), and you can tell it to search blogs(b &lt;yourkeyword&gt;). Press "h" for the full list. "addengine" adds it to the firefox search bar. Very cool!&lt;br /&gt;-T&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-4467598053512989513?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/4467598053512989513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=4467598053512989513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/4467598053512989513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/4467598053512989513'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/06/goosh-cli-interface-to-googleweb-based.html' title='Goosh-the CLI interface to google(web based!)'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-183778012196683421</id><published>2008-05-29T01:28:00.000-07:00</published><updated>2008-05-29T03:28:37.686-07:00</updated><title type='text'>Screen, Fruity and Nikto</title><content type='html'>These are the latest applications I've found extremely useful.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.gnu.org/software/screen"&gt;GNU Screen&lt;/a&gt;-&lt;/span&gt; Terminal multiplexer with ability to detach and reattach a session&lt;br /&gt;Useful when:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You want to be sure that a terminal program you started on a server keeps running even if you lose your ssh session&lt;/li&gt;&lt;li&gt;You want to leave a terminal program and resume it exactly where you left off.&lt;/li&gt;&lt;li&gt;You want multiple sessions within single window. Many other terminals do this, but screen will do it even when there's no GUI(like from the console)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     Quickstart:&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;Start it: &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;screen&lt;/span&gt;  or &lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-weight: bold;"&gt;screen yourprogram&lt;yourapplication&gt;&lt;/yourapplication&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;                 Detach it: &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Ctrl-a d&lt;/span&gt;&lt;br /&gt;               Reattach it: &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;screen -r -d&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The beauty of it is, that &lt;span style="font-weight: bold;"&gt;you can do the reattach from a different computer&lt;/span&gt; logging in from an entirely different ssh session. &lt;span style="font-weight: bold;"&gt;And&lt;/span&gt; even if your ssh session dies, you can reconnect and reattach it. That's brilliant! There's lots more cool things you can do with screen. To have multiple terminals within one, do "Ctrl-a C" to create a new window, and Ctrl-A  (or Ctrl-a n) to switch to the next window. And yes, when you detach all those windows will stay there.&lt;space&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://fruity.sourceforge.net/"&gt;Fruity&lt;/a&gt;- Web-based Nagios configuration tool. (&lt;span style="font-weight: bold;"&gt;nagios2 only&lt;/span&gt;)&lt;br /&gt;Useful when:&lt;/space&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Your nagios configs are not setup in a logical concise way-this often happens if you start small and add over time.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You're not taking advantage of the advanced features of  config file modularity, such as separate client/site directories, services, or even service groups applied per hostgroup, or templates.&lt;/li&gt;&lt;li&gt;You want a powerful tool, that will easily let you organize and maintain your nagios config file.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;Quickstart:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Generally you want to install fruity on the same machine that you have Nagios2 on. If that's a production box, then you can tar up /etc/nagios2 and untar it on the test box where you install Fruity on.&lt;/li&gt;&lt;li&gt; untar and unzip(&lt;span style="color: rgb(0, 153, 0);"&gt;tar -zxvf&lt;/span&gt;) the source file and move the directory to your Apache DocumentRoot(&lt;span style="color: rgb(0, 153, 0);"&gt;mv fruity1.0-rc2 /var/www/fruity&lt;/span&gt; )&lt;/li&gt;&lt;li&gt; Import the DB schema(mysql -u root -p &lt; /var/www/fruity/sqldata/fruity.sql&lt;/li&gt;&lt;li&gt;The web interface(ie. http://localhost/fruity) should now "just work". It won't automatically import your configs, nor will it change the actual config files when you make changes. These are done via import and export tabs.&lt;/li&gt;&lt;/ul&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.cirt.net/nikto2"&gt;Nikto&lt;/a&gt; - Nikto is an HTTP security scanner. It will scan for common files and directories which may reveal versions of not just Apache, but PHP and even MySQL.&lt;br /&gt;Useful when: You want to secure your website against fingerprinting and ensure that nothing more is revealed than necessary.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Quickstart:&lt;/span&gt;&lt;br /&gt;Nikto is a perl script, so after you unzip/tar the source, you just run it:&lt;br /&gt;nikto.pl -host yourtargetwebsite&lt;br /&gt;&lt;br /&gt;It takes quite a while to run(took about 20min for the site I tried), but it gives you lots of &lt;span style="font-weight: bold;"&gt;very useful information&lt;/span&gt;, and presents it in a concise way. I have yet to figure out how to run it on an SSL(https) website.&lt;br /&gt;&lt;a href="www.cirt.net/nikto2"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-183778012196683421?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/183778012196683421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=183778012196683421' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/183778012196683421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/183778012196683421'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/05/screen-fruity-and-nikto.html' title='Screen, Fruity and Nikto'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051274034448196719.post-115377388174118872</id><published>2008-05-28T21:44:00.000-07:00</published><updated>2008-05-28T22:02:27.968-07:00</updated><title type='text'>Starting by Popular Request</title><content type='html'>I've been a *nix sysadmin for 8 years now. Damn, has it been that long? :)&lt;br /&gt;&lt;br /&gt;Along the way I've learned a lot, and continue to learn and discover new tools that make my life easier.&lt;br /&gt;&lt;br /&gt;I'm a devout fan of Open Source Software and have discovered, that you can find virtually any open source tool that rivals or exceeds its commercial equivalent. Network security and testing is another one of my main interests, which often overlaps with the above, so hopefully I can mesh the two.&lt;br /&gt;&lt;br /&gt;On the same premise, I love to share information which I find with my colleagues. Since they're probably getting tired of me spamming that with that information, I decided to start this blog. Let's hope I have time to update it, and that others find it useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7051274034448196719-115377388174118872?l=oss-n-security.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oss-n-security.blogspot.com/feeds/115377388174118872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051274034448196719&amp;postID=115377388174118872' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/115377388174118872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051274034448196719/posts/default/115377388174118872'/><link rel='alternate' type='text/html' href='http://oss-n-security.blogspot.com/2008/05/starting-by-popular-request.html' title='Starting by Popular Request'/><author><name>Tibor Incze</name><uri>http://www.blogger.com/profile/01583014544931208290</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18395343830470136321'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry></feed>