Saturday, January 7, 2012

Free as in Speech

 on  with No comments 
In , ,  
There's a lot of terms in the world of software that can sound like the same thing to someone not well versed in all of this.  And a lot of these terms have a lot more in common than they have different. adding to the confusion.  So exactly what is Open Source Software (OSS), Free Software, Freeware, Free and Open Source Software (FOSS) or even Shared Source Software? And more importantly, how are they different?  And exactly what is the whole free as in speech vs. free as in beer thing?

Open Source Software (OSS here on) is software where the source code is made available to the users of the software. There are a number of licenses that this software is released under, such as the BSD LicenseThe GPL, and others. I'll skip the pros and cons of all of these different open source licenses and how they differ because that's more of a philosophical debate.  What is important is that you as the user are free to use the software as you wish as well as being able to examine or even modify the source code.  Different open source licenses place different restrictions on redistributing the source code or software which makes use of some or all of the source code.  But any truly open source license does not restrict my use of the software in any way, only how I am permitted to redistribute it, despite a lot of FUD against the GPL that is out there.  I can modify the source code in any way I wish and keep the changes to myself as long as I am not distributing anything containing the original source code or my modifications. If you care to compare and contrast software licenses and your rights and responsibilities as a user or a distributor, visit the Free Software Foudation's website at www.fsf.org.

The FSF builds on this principle with their term Free Software.  The FSF states that "'Free Software' is a matter of liberty, not price. To understand the concept, you should think of 'free' as in free speech, not as in 'free beer.'"  To put it simply, when you enjoy free beer, you are free to drink and enjoy the beer, but you're not getting the recipe so you can go home and brew you up another batch tomorrow.  With free as in speech, you are getting that recipe, and you are allowed to make your own any time you wish.  Free as in speech is free software (such as a utility like The Gimp), free as in beer is freeware (such as Paint.NET).

So what is the difference between Free Software and Open Source Software?  That lies mainly with the developers of the software.  Free Software is as much as philosophy as a license.  Proponents of Free Software want all software to be free (within their definition of free) with an almost religious devotion.  Proponents of Open Source Software either just want to share their work or cite the open source model as a superior way of developing software.  Most of us fall somewhere in between and use the term Free and Open Source Software (FOSS) which is fine since both camps use the same licenses.

There is one more category related to this discussion.  Some commercial software vendors provide what what is referred to as Shared Source Software.  This is where the vendor provides the source code for a product to a customer for review, but the customer usually has no rights to anything other than a review.  Therefore shared source is not really related to free and open source software despite the providers attempting to make the case that it is.



Share:

Saturday, December 3, 2011

Building an ACL

 on  with No comments 
In , ,  
The different types of ACLs are first identified by the line number used. Standard IP ACLs use numbers in the range of 1 – 99 and 1300 – 1999. Extended ACLs use numbers in the range 100 - 199 and 2000 – 2699. Other types of ACLs which filter traffic utilizing other protocols such as Appletalk, DECNet, IPX, and XNS use other number ranges, however those are rarely used today. Named ACLs of course do not use numbers, but instead text names as identifiers. Other than ensuring that an ACL number falls into the correct range, the numbers have no meaning and can be used as you see fit.

There are two steps in defining an ACL. First, you enter the series of ACEs that define the ACL. Finally, you apply the ACL to an interface. For a standard ACL, the syntax is as follows:

access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 permit 192.168.2.0 0.0.0.255
access-list 20 deny 10.0.0.0 0.255.255.255

This simple ACL allows all traffic from hosts with IP addresses in the 192.168.1.0/24 or 192.168.2.0/24 network. The “access-list 10” statement signifies that each of these statements belongs to the ACL designated as 10. An extended ACL looks as such:

access-list 100 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 eq www

This extended ACL permits tcp traffic originating from the 192.168.1.0/24 network with a destination in the 192.168.2.0/24 network utilizing port 80 (“eq www” means “equals www” or port 80). In addition to ‘eq’ for equals, we can also use “lt” for less than, “gt” for greater than, or “range” to specify a range of ports. To apply an ACL, simply enter the configuration of that interface and specify which ACL as such:

interface Serial0/1
access-group 10 out
line con 0
access-group 15 in

This applies ACL 10 to the Serial0/0 interface, and inspects traffic moving in the outbound direction through that interface. An important thing to note here is that ACLs use wild card masks rather than the more traditional subnet masks used elsewhere when configuring a router. An ACL can be applied to any interface, or to any line (console, aux, or vty).

There are a number of mnemonics used by Cisco IOS to specify ports. You can use the actual port number when configuring the router, however the mnemonic will still be shown in the running configuration and startup configuration. Some mnemonics that you will often see include:
  • bootpc
  • ftp
  • isakmp
  • lpd
  • ntp
  • rip
  • ssh
  • telnet
  • www
or “any” to specify any protocol.

A router can have one ACL per interface, per direction and per protocol. What this means is that each interface may have one ACL in each direction for each protocol that the router supports. For example, in a router that supports IP, IPX and Appletalk, each interface may have an ACL for inbound IP, outbound IP, inbound IPX, outbound IPX, inbound Appletalk, and outbound Appletalk. For a router that supports those three protocols and has 3 interfaces, that router can have 18 active and applied ACLs. An administrator can have as many ACLs defined as memory permits, however only the previously specified 18 may be applied and active.
Share:

Saturday, October 15, 2011

Seizing Internet Domains

 on  with No comments 
In , ,  
Homework Assignment from the past.

The question of who, if anyone, had authority to seize the domain name of a questionable website first came to the forefront two years ago when the commonwealth of Kentucky attempted to take control of 141 domain names belonging to websites associated with online gambling. While most forms of online gambling are currently illegal in the United States, it was quite controversial when a county circuit judge gave the state the green light to seize control of these sites. The major question about this was the motive. In the state of Kentucky as of 2005, 96,000 jobs were in some way related to the horse racing industry. It is fair to ask whether this was simply attempting to shut down illegal websites, or a state simply looking after its own bottom line.

This issue came to the forefront again recently with what has been dubbed in the media as the “Internet Kill Switch.” This past June, a Senate committee approved the Protecting Cyberspace as a National Asset Act of 2010 (S. 3480). This bill will create a White House office of cyber security and a vaguely worded section that many interpret as giving the president the authority to effectively shut down the Internet in an emergency. The committee however denies that the president would be able to shut down the Internet. A version of the bill, H.R. 5548, has also been introduced in the House.
Share: