SecuringUbuntu-21-December-2010

advertisement
Ubuntu 10.04
Overview
•
•
•
•
•
Ubuntu Intro
Backdoor/Virus/Malware
Firewall
User and Group Security
Local Security Policy
Ubuntu Intro
Why learn Linux/Unix?
• The backbone of the internet and a large amount of
corporate networks are based on Linux/Unix
architecture.
• Lots of Legally free open-source software that can be
altered to fit individual needs.
• Use security tools only available on Linux systems.
• Many open-source tools actually work better on Linux
than their Windows counterparts. (Hydra, Nmap,
Hping, etc.)
• Cyber Patriot Competition.
• Because it’s fun!!
Ubuntu
• Ubuntu is a very user friendly Linux distribution.
It is available for free at
http://www.ubuntu.com/desktop/getubuntu/download
• Current desktop versions of Ubuntu can be
installed inside a Windows OS (as if it were just a
program). If installed in this way the system will
have to be rebooted to change between Oss, but
the Ubuntu partition can be uninstalled from the
Windows Add/Remove programs utility if it is no
longer needed.
Ubuntu
• Ubuntu can also be made into a live cd or USB
drive that can be used to learn and practice
with without ever installing the OS on the
actual hardware.
• The Ubuntu installer is easy to follow and
installation is relatively quick (< hour max).
• Ubuntu supports most hardware, however if
there is a complication a VM may be a better
option for running Ubuntu.
Malware and etc.
• ClamAV is an open source antivirus software
typically run on email servers.
• ClamAV can be configured to scan incoming
and outgoing files but it lacks the runtime
function as typically seen in windows.
• We just want to install and scan periodically
(or just right away for competition).
• ClamAV is command line but the ClamTK
package adds a GUI.
Installing ClamAV
Open Synaptic Package Manager
Type “clamav” into Quick Search.
Select “clamav” and “clamtk” packages
with dependencies
Click Apply and accept the next prompt.
Run Clam Virus Scan
Applications Accessories Virus Scanner
ClamAV Preferences
ClamAV Scan
• Scan using the “Scan” tab
• Full scan: Select a Directory [File System] (will
take a long time probably)
Ubuntu Firewalls
• Uncomplicated Firewall (UFW)
• Front end for IPTables (Default in Ubuntu)
• Cheat Sheet Commands
If prompted for password, use your password or
root
–
–
–
–
–
–
–
sudo ufw enable (enables)
sudo ufw [allow/deny][port number]
sudo ufw status
sudo ufw app list (installed profile apps)
sudo ufw app info [app name] (port proto)
sudo ufw [allow/deny][app name]?
sudo ufw logging on (enables logging)
Opening Terminal Through GUI
• Applications Accessories Terminal
Command Examples
User and Group Security
Command Cheat Sheet
• sudo adduser [username] (create user)
• sudo deluser [username] (delete user)
• sudo passwd –l [username] (lock account)
• sudo passwd –u [username] (unlock account)
• sudo addgroup [groupname] (create group)
• sudo delgroup [groupname] (delete group)
• sudo adduser [username] [groupname] (adds
user to a group)
User and Group Security Cont.
ls –ld /home/[username] (list permissions of user’s home file or other
directory [directorypath])
Permission
Action
chmod option
User
ls output
read
(view)
r or 4
owner
-rwx------
write
(edit)
w or 2
group
----rwx---
execute
(execute)
x or 1
other
-------rwx
Directories have directory permissions. The directory permissions
restrict different actions than with files or device nodes.
Permission
Action
chmod option
read
(view contents, i.e. ls command) r or 4
write
(create or remove files from dir)
w or 2
execute
(cd into directory)
x or 1
Permissions in Action
Using the example above we have the file "/etc/hosts"
which is owned by the user root and belongs to the root
group.
What are the permissions from the above /etc/hosts ls
output?
Changing Permissions (chmod)
• chmod with letters
• Usage: chmod {options}
[filename]
Options
Definition
u
owner
g
group
o
other
x
execute
w
write
r
read
+
add permission
-
remove permission
=
set permission
Changing Permissions (chmod)
• chmod with numbers
• Usage: chmod {options}
[filename]
• When using numbers and
multiple options the
numbers are added
together.
• Execute and read would
be 5 (1+4=5)
Options
Definition
#--
owner
-#-
group
--#
other
1
execute
2
write
4
read
Chmod Usage Example
Changing Ownership(chown)
• chown can be used to change the file ownership and
group of a file
• Usage: chown {options} [owner:group] [filename]
Option Flag
Explanation
--from=[currentowner:currentgroup]
changes owner and/or group of each file
only if its current owner and/or group
match those specified.
-R, --recursive
Operates on files and directories recursively
-v, --verbose
Output information for each file processed
--reference=[filename]
Use owner group of name file
chown example
Note: The use of “*” as a
wildcard character. This
allows multiple files to be
targeted with the same
command.
Recursive and Wildcards
If there is a problem with file ownership due to malware it may be necessary
to change the ownership back. The recursive and from= options will be
much more efficient when combine with a wildcard. Here’s an example:
sudo chown –v –R –from=roy:abusers user:user *
Notice that the command has the verbose and recursive flags on. The –
from=roy:abusers user:user * is searching for every file owned by the roy
account with group permissions set to the abusers group. This command
will then change the ownership to the user account and the user group. The
* character is a wildcard to check all files and the –R makes it check
recursively. If this command is launched from the base file system it will
check every file on the drive. This is extremely powerful but extremely
dangerous if the command is messed up in any way. Please make sure you
understand before using recursive wildcard chown commands. It should
also be noted that some directories will not allow you to launch this
command with sudo. In these cases the root account would have to be
unlocked and used. Make sure to re-lock the root account after.
Password Policy
sudo chage –l [username] - shows password policy
information for account specified
sudo chage [username] – change password policy for
specified account
Unfortunately, the default management for passwords is
done by account in regards to expiration, resets, etc.
There exist open-source alternatives for better password
policy management, but this will probably not be
required for the competition.
Password Policy
chage flags
Explanation
-E
Expiration date
-m
Minimum password reset
-M
Maximum password reset
-I
Inactivity period after
password expiration
-W
Number of days that it warns
of password expiration
Example
Password Policy
Changing the required
length, encryption
technique, and using
complexity rules are all
handled in the
/etc/pam.d/commonpassword file.
The line directly above
the highlighted text is
the original. The
highlighted has been
modified to set the
minimum password
length to 8 (ubuntu
10.04 is 6 by default).
The obscure rule toggles on some basic complexity requirements. And the “sha512”
determines the encryption type. MD5 is an option but sha512 is more secure.
Man Pages
• Manual Pages are available for most
commands and programs within the linux
environment. Simply type man [command or
program name] to bring up the manual pages.
• These pages describe proper use and options
for the command/program.
• Man Pages = Saving grace for Linux Newbies.
• Read them!!
Man Pages for the man Command
Yes, there is even a man pages for the man command.
Misc. Commands
• gksudo nautilus – opens gui directory browser
with escalated priviledges
• Ifconfig – works like ipconfig in windows
• ls – works like dir, lists contents of directory(-a
option to show hidden files)
• rm – delete file or folder(additional flags needed
for non-empty folders)
• cp – copies files from one location to another
• sudo – escalates priviledges
• man – allows manual to be seen for specified
command/application
• cd – changes the directory
Misc. Commands
• netstat – shows network status (-a flag shows
state of all sockets and routing table entries)
• top – list running processes with PID#
• kill – stops process based on process PID#
• locate – list files in database that match a
pattern (may need updatedb command)
• find – search for files in a directory hierarchy
References
• https://help.ubuntu.com/10.04/serverguide/C
/security.html
Download