Archive for August, 2006

Asterisk

I settled on a CentOS-based installed of FreePBX (formerly AMP). Their project looked much more professional than Trixbox (formerly Asterisk@home) and I liked the fact that they used Trac for their project management. I unconsciously survey every open source project for characteristics that successfully leverage their community and rule out using or participating in projects that aren’t open enough. The latter tend to die slow deaths at the hands of incompetent management and dwindling participation. See my post on Gaim for more details.

I used a FreePBX howto I found while browsing their site for documentation. The only part I modified was the part where you check out Asterisk sources via SVN so that the sources were in folders ending in -1.2 so I remembered what version they were. A word of advice though: you have to create a number of passwords during this install, write them all down!

I was able to access the FreePBX admin panel at the end of the install no problem, but it started getting a little tricky at this point. They don’t tell you that an admin user has already been created for you and that you need to enable the core services module to access anything in the web console. This seems like a bunch of security hooey that doesn’t do much of anything. The Gallery folks have it the best; you go to their install on the web, it associates a PHP Session ID to you and gives you a hash value, you make a text file in the webroot with that hash value, and it lets the Session ID that was given that hash value set the admin password, done.

Right now I’m having some small problems getting Asterisk to start (I think there is a problem with one of the kernel modules it needs). I’ll continue my review when I get it running.

UPDATE: Asterisk was missing some configuration files.  I had to go back to my asterisk-1.2 source folder and run ‘make samples’ to get Asterisk to start properly.  FreePBX should be able to configure those for me.  Looks like everything is working now.

MacOSX Install CD “Copy Protection”

Apple ships its computers with a different DVD of MacOSX than what you get if you buy it in a retail box at a store. The software is exactly the same, but the OEM discs are usually locked to the particular series of hardware you bought it with: a Powerbook G4 with 1.67Ghz for example.

Yesterday I needed to use one of those discs to install MacOSX 10.4 onto a Powerbook G4 1.5Ghz, so I was in a bit of a bind. I had to figure out how this stupid copy protection worked.

A script is run at install-time that pulls information out of the OpenFirmware and checks it against a blacklist and a whitelist included in that script. That script is a text file on the DVD at /System/Installation/Packages/OSInstall.mpkg/Contents/OSInstall.dist

If you take a quick glance at it you might first think that you need to modify ‘badmachines’ to be an empty array, but you’d be mistaken. ‘badmachines’ is a list of computers that OSX legitimately cannot be installed on (like the Clambook, remember those?). Instead, I had to strip out most of the script and replace almost every function with ‘return true’ to get it to work.

After thinking about it, I guess it wasn’t a crazy decision to make this kind of copy protection even though it inconvenienced me and probably does to others all the time. It prevents casual sharing while recognizing that there is nothing you can do to stop hardcore pirates from patching the hell out of your software to get it to work (WGA). I also heard that if you ever get a MacOSX disc that you can’t get to work on your computer, you can call Apple customer support and they’ll mail you a new one (still a high enough barrier that casual sharing is discouraged while reducing customer frustration). It’s not that bad a trade-off.

New reports coming

I’m doing my end of the summer computer services refresh. Here’s the plan:

  • I’m trashing phobos and putting up a CentOS box with Scalix instead (I’m now officially dependent on Outlook+Exchange because of work, thank god Novell/Gnome started working on Evolution again).
  • I’m throwing away my mini-Reverse Engineering VMWare GSX server and turning it into an Asterisk PBX instead.
  • The CryptoCity frontpage will go through a bit of a reorg to point to the new services.

Expect a report documenting my experiences with both the Scalix and Asterisk servers and whether they’re useful for personal use.

applying enterprise requirements to ordinary items

At work, I’m evaluating a product of which my top complaints are that it:

  • doesn’t have a centralized management and reporting interface
  • doesn’t have enough resiliency to survive a major BCP event
  • isn’t built to be globally deployed
  • doesn’t support automatic load balancing

Of course this occupies my mind through all hours of the day… so when I was walking home I looked at the large-sized fountain just outside the front door and thought, “What if my employer applied the same requirements to that fountain?” Think about it. :-)

ds pickup games

Nintendo DS has fully infiltrated society.  Both going to and coming back from Maryland I played pickup games of Mario Kart DS with people.  The first way a 10 year old from England, the second was a group of 5 people on their way to an Anime convention in Maryland.

exploit payload evolution

Powerful payloads: The evolution of exploit frameworks
TechTarget

Client side attack capabilities of Core IMPACTs Level0 Agent
http://www.itsecurity.com/security.htm?s=12362

If the payloads keep getting more stealthy as time goes on I wonder if the same development will take place with the framework itself?