From: Honest Joe <[email protected]> Newsgroups: alt.satellite.direcpc Subject: Computer Security.. Date: Sunday, November 21, 1999 |
*Caveat lector* |
I'm *not* any kind of security expert.. I make NO claims in this area..
There are people who get paid _lots_ of money to do just this.. This article stems from requests, and posts, I've seen of late, surrounding this issue.. |
|
________________________________________________________ |
|
To begin: | What is security? This question has a twofold answer.
|
Strange enough, after reading books on this subject, and from my own
observations, by far, the biggest "dangers" are within.. Especially fromm people
who have physical access to the computer(s) in question or have access to the networking
cabling.. These enemies within being: "spies", disgruntled employees, x-spouses,
errant kids and any other type of malcontent you could dream up.. |
For the sake of brevity, I'm going to skip the Bad Guy
"within".. |
I suppose the question that should be asked first is:
|
|
There are subcategories that fall under these general ideas as well.. |
The question is _how_ are these people doing this?? This answer depends
upon what the loser is trying to accomplish.. Times have changed slightly from the unix
only days, but the methods remain similar.. Most attacks, from losers who are attempting
to gain access, start by checking to see what services are available on a target box..
This is done by checking what is called "well known ports/services" to see if
any of the common TCP/UDP (and even ICMP) services are being offered to others on the
network.. |
By the way: |
The term "network" also implies an Internet connection, though a
modem/ISDN/DSL/etc, to your ISP.. Or Direcpc.. After all, the Internet is the worlds
biggest network.. The way these services are "checked" depends.. Anything from a simple telnet client, (every OS comes with one), to sophisticated scanning software, packet sniffing tools, etc, etc.. The "tools" are "loser dependent" depending upon his/her/its wherewithal.. Remember, each service has an assigned port, or address, in which it
"listens" for requests.. A service is a _trusted_ software driver/componet that performs a "service"
for clients. For example, an FTP server, a mail spooler (server), a getty (telnet)
server, programs that facilitate file/printer sharing across a network, and so forth..
Most of these programs come with the OS, and the configuration for them is either in
configuration files in the /etc directory or, in NT, buried in the registry.. |
Now, in order for losers to gain access, they need either: ->user name and password<-.. |
How do they get it?? Consider: If the box is offering the "finger" service, (most unix boxes do) names of people with accounts appear.. The "finger" program is very useful.. Here is the help string from the "finger" program: ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Displays information about a user on a specified system running the Finger service. Output varies based on the remote system. FINGER [-l] [user]@host [...] -l Displays information in long list format. user Specifies the user you want information about. Omit the user parameter to display information about all users on the specified host. @host Specifies the server on the remote system whose users you want information about. +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Notice the second option, the one called "user".. Interesting, no?? User account names can be guessed if they are not givenoutright.. Passwords can be guessed or "brute forced".. People are *notoriously* lazy, and, almost always, choose short passwords that are easy to remember.. Dictionaries, also, are a good place to look for passwords.. Have the attacking computer try every word in it.. There are even "special" dictionaries for doing just this type of "work".. Another method is to use known bugs, _or_ poorly setup services to gain access to password/shadow files (unix), or use the service to directly control the box (Unix/NT).. Passwords in both unix, and NT systems are encrypted.. In unix, the ciphertext info, (encrypted passwords), is in a plain text file.. There are programs around that can try to "brute force" decrypt the passwords in these files, and can be quite successful.. This is because, again, most users don't like long passwords.. Many an administrator will have horror stories about havoc caused by users leaving their user name and password written on a "sticky" and pasted on their monitor.. Or idiots using passwords such as "123456".. Windows NT keeps this info in its registry, so losers will try to get a program to run.. The object is to set themselves up an administrators account or have a "back door" service, running with administrators privileges, installed that allows them "remote" control .. Again, entry is obtained by targeting a service/program running with administrator privileges, that has bugs, to do the "dirty" work, or, getting people, running as the administrator, to run a "worm".. The "Backorifice" worm falls under the latter.. I'm not going to go into the buggy programs that allow losers to gain access.. This would be a book in and of itself.. But, I will mention a few.. In unix, the old sendmail program had several bugs losers could use in order to get sendmail to email them the password file, or execute a script.. There were also telnet, FTP, and other server type programs that were found to have bugs as well.. Under windows 95/98/NT both Netscape and Internet Explorer seem to be shot full of various and sundry security related bugs.. Everything from their e-mail programs not handling subject lines correctly, inappropriate attachment checking/decoding.. Running (running without permission and/or invocation) of attachments, and the browser itself running inappropriate script.. There are also the various bugs in Microsoft Word, and so forth.. I suspect (am quite sure, actually) that there are *many* bugs yet to be found and exploited.. Bugs in programs we use to access the Internet, in any way shape or form, are, by far, the most dangerous.. Remember folks, we are talking about software bugs.. I haven't even touched on programs that do *not* have real security bugs, but are setup improperly.. Especially programs designed to offer services to the network.. Poor directory selection, not setting correct permissions on files and directories, improper filter rules, the list is endless.. Almost all of the high profile "Website Hacking" we have seen, of late, is due to poor setup by administrators, in my opinion.. Any security person will tell you that good security has to start, and remain ->SIMPLE<-.. This rule is completely tossed to the wind in today's OS, application software, and development environments.. Some of these programs contain *millions* of lines of code.. In most cases, the programmer *never* sees even 1/100th of that.. This is common in today's "visual" programming environment.. C++ "Classes" contain endless amounts of code that is: *never* inspected by the programmer.. Who knows *how many*, and what type of bugs that could be lurking?? The point of the discussion above is to realize that you can not trust most of the programs you are running to be secure, if attacked.. Especially programs that either use, or provide services to a network.. The enemy within is as bad as the enemy without.. Further, some programs are *designed* to "call home".. Nothing like Judas style programming methodology.. *Real* security people, quite often, write their own short, concise: scripts/executables, and *never*, as a rule, run "boxed" software on a security/firewall box.. Software that does not include the source code for inspection, anyway.. When you are responsible for security/trade secrets/infomation worth millions, or much more, you get *real* fussy.. Also,: unix is the preferred OS for firewall's, etc, as most, if not all, programs come with source code included.. Scripting is the native way of doing things in that OS.. That means simplicity.. It is very easy to write a small, logging, input: checking "front end" filter/script that checks/logs/filters virtually *anything* you can possibly want/imagine, *before* the input is fed to the service program itself.. You don't have to have the latest copy of Visual development Studio installed.. In fact *no* programming software of any kind is necessary.. A
plus.. I'm not going to delve into unix specifics either as most
people in this group don't use it.. (Saves a lot of typing <g>..) Rules good for NT
are good for Unix (linux) as well..
3: NT users, consider doing
this as well.. Change the permission of the: 4: For NT users, get into your
user manager and set the account policy to disallow login's to an account after, (about)
10 tries.. That should be more than enough.. Also make it *stay* locked out for about an
hour.. This will prevent losers from trying to "brute force" your password..
This is a good option for downloader's, etc, who keep their machines connected for long:
periods of time.. I would not recommend choosing the option to locking out the account
forever, as you could end up locking out the administrators account ->permanently<-,
if that is what the losers go after (it will be).. 6: For NT users, go to your bindings property sheet of your networking properties and *unbind* _all_ services, with the sole exception of TCP/IP from whatever interface(s) that are exposed to the Internet.. This would include your WAN (wide area networks, I.E. modems), your direcpc card (if you have one of the lobotomized things <g>..) and any other network card that has access to the "outside".. This is important, as you are telling the OS that *none* of these services should be available to these interfaces.. It is _these_ services, netbios, server, RAS, workstation, etc, that the losers try to get in through.. Make sure you have the IP forwarding feature on each network card *turned off*, as well.. 7: Again for NT
users.. Most services run under the "System" account.. Indeed, for some, this is
the *only* account that they _can_ run under.. 8: ->Don't use
fat<- on your NT system hard drive.. Use NTFS.. But, you whine, I want to run
Win95/98 so I can play the newest, kewl game that just came out.. ->A Firewall<-.. Finally a note about proxys/relay
agents/etc.. I use wingate, but I'm sure others products have similar settings.. On
wingate make _sure_that you set the bindings (the network card that wingate will accept
connections on) to the LAN network card *ONLY*.. DO NOT let it take connections from
elsewhere.. Specifically: your dialups or direcpc card.. You may also consider making your
default policy "Must Authenticate".. I run the gatekeeper program as a matter of
habit every time I'm on the 'net' anyway, just to monitor.. : Microsoft's proxy server has
similar features to allow or disallow connections from an IP, or Block of IP's.. This brings us to our next subject.. Legalities.. |
Want to see what your computer can tell about you? IE users only with Win98 or Win2K