This gem is a collection of useful tools for auditing data and performing security checks.
Installation
Standalone
$ gem install security_guard
As part of your application
Add this line to your application's Gemfile:
gem 'security_guard'
And then execute:
$ bundle
Usage
Executable
There is an sguard
command if you intend to use security_guard as a command line tool. Please refer to the help option for its usage.
sguard -h
Tips
You can pass in setters during initialisation, for example:
country_ips = SecurityGuard::CountryIps.new
country_ips.countries = ['Australia', 'United Kingdom']
country_ips.ips = ['4.4.4.4', '8.8.8.8', '203.206.0.1']
# the above is equivalent to:
country_ips = SecurityGuard::CountryIps.new(
:countries => ['Australia', 'United Kingdom'],
:ips => ['4.4.4.4', '8.8.8.8', '203.206.0.1']
)
Country IPs
Returns a list of the IPs from given country and IP dictionaries. Useful for auditing IPs from higher risk nations.
SecurityGuard::CountryIps.new(
:countries => ['Australia'],
:ips => ['4.4.4.4', '8.8.8.8', '203.206.0.1']
).result # => ['203.206.0.1']
You may also pass country and IP data as a line-delimited file by appending _from_file
at the end of the attributes:
country_ips.countries_from_file = '/path/to/the/file'
country_ips.ips_from_file = '/path/to/the/file'
Deduplication
Deduplicates line-delimited content contained within a list of files. Useful for deduplicating email newsletter subscription lists.
SecurityGuard::Deduplication.new(
:input_folder => '/path/to/the/input/folder',
:output_folder => '/path/to/the/output/folder'
).process
Sequences
Prepends line-delimited content with a comma-delimited sequence column (1, 2, 3...) for counting.
SecurityGuard::Sequences.new(
:input_folder => '/path/to/the/input/folder',
:output_folder => '/path/to/the/output/folder'
).process
Changelog
v0.0.6 [2012-03-07]
- Output file names are now automatically mapped from the input file names
v0.0.5 [2012-03-07]
- Fixed the file ordering issue on some OSes like Linux
- Fixed the non-existing
specs/tmp
directory that causes specs to fail
v0.0.4 [2012-02-08]
- Fixed
Concerns::Initializable
forCountryIps
- Added
Deduplication
v0.0.3 [2012-01-20]
- Added
Concerns::Initializable
v0.0.2 [2012-01-19]
- Added IP address sanity check
- Coloured test output
- Added changelog
v0.0.1 [2012-01-18]
- First release, implemented
CountryIps
andbin/sguard
Contributing
- Fork it
- Make sure you add documentation to README.md
- Make sure you test all your code
- Do your magic!
- Create a new Pull Request
Author
Brought to you by SitePoint.