Archive for February, 2009

One down… Four to go…

Due to the fact that I have not internet in my home (Because we moved out to another house… Now I’ll have to wait for QualityNet to change jumpers by Sunday), I had to warm up my gaming spirit with offline games… And as a starter, I played Mirror’s Edge…

I, personally, start playing games in easy difficulties then build up it’s hardness (Unless I get bored of that game and just play it in easy difficulties)…

And just to explain how bad things are in my side, I play my PS3 with a projector TV that doesn’t support HDMI neither that component cable thingy… So things are really ugly…

Anyways, I started to play Mirror’s Edge… Such an entertaining game… I really loved it considering the TV I’m playing on…

Here’s what I loved about the game (Well, in easy mode… I’m not sure if things differs in any other difficulty):
* No lives; I really fall alot…
* No real damage gauge; they can shoot me as much as they want, but I can rest and recover (Somehow like Call of Duty)…
* The colors; White, Blue, Red, Green, Yellow and Orange… Six shiny colors that might blind, but blends well in the game (Leaving the other colors aside… And yea, Red usually means that you have to go that way)…
* The soundtracks…
* The simple (Vector drawing based… Or whatever they call it) movies; Blends well with the game’s colors and all…

What I hated about the game:
* The story is short; I can’t believe I finalized the game in few hours in total…
* Some difficulties in some chapters to actually figure out what to do… That could be true… Or could be just me (Probably the 2nd choice :P )

What I think they should’ve added:
* Level editor; So you can create a map, add your own obstacles and play on it
* Free gameplay; As in, just buildings and stuff with the freedom to go anywhere
* City mode; Just walk around and start fooling around and avoid obstacles in street-level… I know this is against the game’s principle, but I think this would be cool…

Bottom live:
I’d play this game every now’n'then to finish it’s trail and time killing thingies…
I’d play it every once in a while and work on the game’s trophies…

No Comments

Feb the 25th: When good becomes ugly…

25th of February is Kuwait’s NATIONAL day (Not Liberation day neither Independent day)…

I’m sure everyone knows that 25th and 26th of February (Adding 2 days before and after those 2 days) are filled with foam cans and cups… That’s how Kuwaitis celebrate it…

I’m not entirely against it… In fact, I used to REALLY obsess about it… But then I just grew up :P (Or not :P )…

Kuwait’s National day is related and concerns Kuwaitis ONLY!!… It got nothing to do with war and all… It got nothing to do with other countries…

So, Why do I see Egyptians, Syrians, Jordanians, Palestinians, Indians, Pakistanis, Saudis, Qataris, Emirates and different nationalities celebrates it?

I’d understand Why Saudis, Qataris, Syrians maybe, Egyptians, Americans and other nationalities celebrates Kuwait’s Independence day since Kuwait was freed from the Iraqi bastards in 26th of February with the help of other countries, but NOT THE NATIONAL DAY!!!

Even those with unrelated nationalities (Nigerian, Iranian and even Sudanese) are celebrating this…

This is a Kuwaiti-only event… Don’t interfere…

Other thing, the marching “Maseera” thingy is in Gulf-Street and Chalet street(s) and similar places…

WHY THE HELL MY CAR GETS FOAMED IN A CO-OP’S PARKING!?
WHY THE HELL KIDS RUN IN TRAFFIC LIGHTS (Even when the light is green and car are moving in some dangerous speeds) RUN AND FOAM EACH OTHERS AND CARS!?
And, WHY THE HELL WOULD THE ASSHOLES (Foamers) FORCEFULLY OPEN CAR DOORS JUST TO SOAK THE GUYS INSIDE!?

I don’t really celebrate it with foam and fireworks… But please, be decent; foam whoever meets the foaming requirements (Someone with a foaming can in his hand or something)…

In the end, I say “Happy Kuwait’s National Day”

6 Comments

SSH/openSSH Guide

A more up to date version is available here.

This document is licensed under the Creative Commons Attribution-Share Alike 3.0 license, Unported. You can find the details of this license at http://creativecommons.org/licenses/by-sa/3.0/.
Basically, you can copy, redistribute, and modify as long as the resulting work remains licenses under the same license. This a rough summery of the license and can not be legally used. If any conflicts are found between this description and the official license. The official license (the URL above) is considered correct.

Have you ever wanted to access your box over a secured network connection? Do have a normal DSL/Modem connection (Your IP changes each time you reconnect or when ever your ISP feels like it) but want to access it from anywhere without checking what IP address? Do you want to access your PC but you workplace has a firewall that doesn’t allow anything except browsing? Well, your in luck, because this guide shows you how to do just that!

This guide assumes that you have Ubuntu up and running. If you have Debian, you may be able to follow this guide. But if you have other distributions such as SUSE or Fedora, you will need to improvise.

Distros Used

I am using Ubuntu for this guide because most beginner tend to use it. for other distoros, you might need to take a few additional steps to get ssh working in the way you want it such as opening ports/excepting connections and so on. personally i use Archlinux, for other arch users, i recommend this.

Setting up SSH

The software that is used to remotely access your computer is called OpenSSH (open secure shell). but throughout this guide, it will be referred to simply as SSH. To access your PC remotely, you need two programs: A client, which is the software that is used to connect to the server. Ubuntu has a ssh client installed by default. And a server, which runs on the computer you connect to (herein referred to as sshd or ssh daemon). You will need to install this if you want access your PC remotely via ssh.

To install the server software (sshd) on Ubuntu:

sudo apt-get install openssh-server

Type in your password and apt-get will start to download the software and will install it automatically once it has finished.

To test the ssh server, type this at the terminal:

ssh localhost

You should get a login prompt indicating that sshd is up and running correctly. If that succeeds, you can go on and try to login from another computer on the same network (nothing that goes through a router/firewall). To login to the server from a deferent computer, type the following:

ssh ?.?.?.? -l username

where ?.?.?.? is the IP address of the computer you are trying to login to. And username is the name of the user you want to use to login with.

Congratulations, you can now control your server from anywhere, as long as you’re connected to the same network the PC is in, or the server is directly connected to the internet (no router, proxy server, or any other network device to hide behind).

Configuring your Router to accept and redirect connections

Unless you plan to use ssh only in your local network, you will need to configure your router to accept connections made to the port the ssh server (sshd) listens to. This port is usually 22. but as you will see later, this port can be changed to any other port to improve security and availability. Since there are countless router manufacturers, it would be imposable to cover each and everyone. And as a result, configuring your router will be left to you. The keywords you will need to search for is port forwarding. Linksys misleadingly calls it “Applications & Gaming”. Just connect to your router by typing its address in your browser. This might be 192.168.1.1 or 192.168.0.1. but it needn’t be one of the two. Just mess around until you find it (assuming that your router supports port forwarding). WARNING: CHANGING ROUTER SETTINGS MIGHT PREVENT YOU FROM ACCESSING THE INTERNET, OR MIGHT PREVENT YOU FROM ACCESSING YOUR ROUTER. PRECEDE WITH CAUSION!

Finding a good Dynamic DNS service

To access your PC from a remote location, you will need to know its address or at least your routers address. This wouldn’t be a problem if you had a static IP. but seeing that most ISPs don’t assign static IPs, you will need to take special measures to insure that you can access your server where you are even if your IP changes. The easiest way to do that is to use a free dynamic domain name service (DNS). There are countless servers available. I have experience with only one service, but that doesn’t mean it’s the best and any DNS service will do. And if you have a domain name (such as example.com) you can also use it but you will need to find a way to update it.

I currently use FreeDNS and have been using it for about 3 months. It provides a good reliable service and has never failed (at least not yet). The downside is that it doesn’t provide official software to automate the process of checking your IP and updating the DNS if required.

Another service that comes highly recommended is www.no-ip.com. This service looks good enough but have never tried it. I would recommend this for beginners. I am considering using it myself if and when FreeDNS fails.

To login using a domain name, simply subtitute the domain name with the IP address. The following should clear things out:

ssh DomainName -l username

where DomainName points to the server you want to connect to.

Modifying SSH to get past any Firewall that allows browsing

SSH uses port 22, this wouldn’t be a problem if you were trying to connect from a private network. But most companies and other institutions have restrictive firewalls that reject connections unless these connections are used to preview web pages. In other words, it only allows HTTP (80) and HTTPS 2(443) are allowed. To get around this problem, set the ssh server to listen to ether port one of the two ports. You should be able to fool the firewall into allowing an ssl connection. I recommend using port 443 since SSH uses the same protocol as SSL (HTTPS).

To do this you will need to modify the sshd configuration file. Also, you will need to type in a few more characters each time you want to connect to the server. To set the ssh server to listen to port 443 (or 80), open the sshd config file located at “/etc/ssh/sshd_config”. Search for the line with the following line:

Port 22

Add # before the line, and add a new line after it so that the result would look something similar to this:

#Port 22
Port 443

Of course, you can replace 443 with the number of the port you want to use. After changing this, the command you use to login is as follows:

ssh DomainNameOrIP -l username -p Port

Again, make sure to change Port to match what you chose previously. Use 443 if you’ve decided to set it with 443.

Note: if you are running a web server, port 80 is out of the question. Also, if your web server is set to except SSL connections, port 443 is off the table as well.

X Forwarding Through SSH

SSH has a nice feater called X Forwarding. This allows you to run GUI applications on a remote computer and interact with them just as if they were running on your own pct. Although with Ubuntu, you might have some problems with it at first. But once everything has been set up properly, you’ll be glad it’s there.

To enable X forwarding, simply add the two options XC (case sensitive) as shown bellow:

ssh DomainNameOrIP -l username -p Port -XC

Note that C was added to for better network performance. You might run into problems when trying to use X forwarding, namely the authentication file issue. After searching the web, I have found that the best way to solve it is to delete the file and then reconnect. Ether that or you need to login under root. To test it out, type xclock. A small analog clock should appear.

Securing SSH

ssh was written to allow people to remotely access computers. Naturally, you don’t want the bad guys to gain access to your computer. Although, ssh comes with some security settings by default, it can still be cracked. To improve security there are several things you can do, this guide will list some of them.

Changing the default port:

The first thing that crackers will probably do is preform a port scan and determine what services your server provides. Note that most of these attacks will be automated (as in scripts). Leaving the the default port unchanged will make it very easy for anyone to find out if your server offers ssh or not. To prevent this unnecessary headache, simply change the port sshd listens to (remember, sshd runs on the server side). You may use a technique called port knocking, but I have no experience with it since I never really needed to use it. To change the port sshd listens to: open “/etc/ssh/sshd_config” and search for the line

Port 22

Change the port to whatever you like as long as the port your switching to isn’t in use. I suggest using port 80 if you aren’t using the computer as web page server, or use 443 if the computer isn’t set up to accept SSL connections.

Limiting “MaxAuthTries”:

This option specifies how many chances you get to enter your password before the connection is dropped. This might be useful to slowdown brute force attacks, but if you detect successive login failures. I would strongly recommend using an alternate authentication method such as keys.

Don’t “PermitRootLogin”:

change this to no to prevent anyone who wants to login to your pc under root.

Using keys:

keys can be used to login without typing a letter. With this type of authentication, you can disable interactive login dialogs and therefore destroying any hopes of brute-forcing into your ssh server. I have to admit though, I have yet to use this method. This is primarily because I haven’t seen a single attack so far. But I will probably switch to this type of authentication soon.

Monitoring your server

From time to time, you will need to check on the authentication log to make sure no one is trying to break into your server. To do that, type the following at the server’s terminal:

less /var/log/auth.log | grep ssh | less

This line should display each and every authentication process that has been initiated by sshd. If you see a large number of login failures form unknown address, your server might be under attack. Try changing ports or using ether port knocking or – better yet – keys.

Moving files between server and client

personally I use scp to securely copy my files over the net. scp works in the same way cp does but does so over a secure connection between two separate computers. The syntax of the command is a s follows:

scp -P pornumber source destination

Where: pornumber is the number of the port sshd is listining to (default is 22) source replace this with the path of the file you want to copy. Add ?.?.?.?: in front of the path if the file is on the server side (where ?.?.?.? is the IP Address of the server). And don’t forget the :. destination replace this with the destination of the file(s) you want to copy. It can also have an IP address if you want to copy files to the server.

This guide was intended to glue all the information you might find useful and practical in one place. However, It is not by far the most complete. If you find that one of the sections is not clear enough or just want to learn more, search the net. Or if you want more information on the commands used in this guide, type man followed by the name of the command at the terminal.
Other Resource:

https://help.ubuntu.com/community/SSHHowto

http://www.vanemery.com/Linux/XoverSSH/X-over-SSH2.html

4 Comments

A new era begins: Buying PS3 inshallah

Yes, I’m a Microsoft fanboy and I LOOOOVE Microsoft with passion fruit…

The reason I’m getting that rather than Xbox360 is that, I love PS3 and I feel it’s better for some reasons:
* Better hardware specs (I can has bluray?)
* Almost same game titles… So I don’t have to worry about games
* GranTurismo
* Tekken
* It’s more fun than Xbox360 Technical-wise (To mess around with)

I’d buy Xbox360 soon though… But priority goes for PS3

Now a new journey will begin… Wish me luck beebol!!

4 Comments

HTTP://simple.wikipedia.org

The topic explains it…

It’s not rich in content yet, but it explains in a really simple way…

Check it out

2 Comments

“How not to get your ass kicked by the Police” by Chris Rock.

Since I’m not reading any interesting articles recently, I decided to dig up some of the videos I’ve seen centuries ago in youtube and found this

Hope you like :P (Good thing that this doesn’t apply on Kuwait, mostly)

3 Comments

Don’t feed money to your goat… Atleast try not to!!

I found this when I googled “10,000 euros” to find a picture so I could add it to the previous post…

Some goat ate it’s German owner’s 10,000 Euros… Here’s how it happened:

He left the money on the table, went to answer a phone call for five minutes and got back watching the goat eating the last 100 euro note and getting it’s tank full…

He called a vet and got’em off the goat’s stomach by an emergency surgery… The vet kept 300 euros taken from it’s stomach (I wouldn’t take that… But he’s a vet anyways, I’m sure he saw more disgusting stuff)…

More details can be found Here.

No Comments

Where not to forget your money…

Well, I personally have bad memory issues: I forgot my bag (That has my laptop, important documents to me and some other personal stuff) in McDonalds, some Cafe in Gulf Street and I forgot my Sony dSLR a-300’s battery in Cosy Cafe and it’s charger… But I was lucky enough to be able to retreive’em…

A German businessman forgot his 10,000 Euros in some toilet and noticed that he forgot’em there after 30 minutes have passed…

He stuffed that amount of money in a plastic bag while answering the nature call, so it’s obvious that someone WILL notice it and all…

I’d say, tough luck buddy… Click here to read the REUTERS article.

No Comments

Jeem Programming Language

The reason I wrote “Jeem” is that Arabic font isn’t enabled in my blog for some reason…

To make it short, some Doctor named “Ammar Salka” made a programming language in Arabic Language…

The story behind creating this language is that one of his friends made some educating material and asked the Dr. Ammar what he thinks. Then he thought that programming (Such as LOGO and BASIC) are easy to teach for kids, but it’s hard since it’s written in English, so this ignited the desire to make an Arabic programming language that should be somehow as useless as C\C++ and PASCAL…

I really respect and salute for the efforts the Dr. Ammar had to push to finalize such project… I know it’s such a real hard task to fulfill and all…

The following paragraphs are nothing but personal opinions… You’re free to like\hate them… You’re free to join me with the laughs or start cussing and all… Whatever you think, it remains personal opinions…

Anyways I’ll be honest, I couldn’t stop laughing and totally couldn’t stop making fun of this project…

Yes, it IS a great project and the work behind it is something I’ll never dream of mimicking, but it just made me do that…

Maybe because I’ve been dealing with computers in English since I was 8 years old and I just burst out laughing when I read the literal translation from English to Arabic…

The only use of this programming language is to teach those with extreme bad English structure computer users how to programme… Or 5~10 years old who studies in public high schools in Kuwait with total bad English education (Yes, I just described the majority of Kuwait’s public school students and probably the majority of private school students as well :P ) how to programme and understand the programming principles until they improve their English language skills and base…

OK, enough of being an ass… I really respect Dr. Ammar for such tool… And I’d literally bow for him if I saw him in real life and take off my hat (I’ll buy one since I have none yet)…

Click here to visit the Jeem Programming Language website.

5 Comments

So you kicked my ass in Xbox live? Well, I’ll kick you outta the Xbox live!!!

That’s a scenario I imagined when I read this BBC NEWS article… I’m sure n00BS in here will refer to such action when they get their ass kicked by p0wn3r5!!

Hackers are starting to sell some DoS tools for Xbox live users so n00BS could flood other players (When they get their asses kicked by them) and get their connection disconnected due to flood…

Microsoft is investigating this matter and it’s banning and\or taking other measures to whoever commit such action…

The thing is, it’s abit of hard to figure out a player’s IP Address because you connect to the Xbox Live service and the servers aren’t privately hosted (Not by private servers neither users)… Hackers usually figure IP Addresses by cons and packet sniffers (Wireshark maybe? :P )…

Such attacks are usually performed on servers and websites… But now you can add XBox live users…

There’s no easy way to solve this ofcourse since DoS can be really tricky, but Microsoft are working on things…

Read the BBC NEWS related article for more details.

No Comments