Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slips v1.0.12 #482

Merged
merged 114 commits into from
Mar 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
2c48014
catch problem json loading urlhaus responses
AlyaGomaa Feb 19, 2024
493145b
get client_ips from the config file
AlyaGomaa Feb 20, 2024
a3120bb
flowalerts: don't detect conn without dns if the daddr is in our clie…
AlyaGomaa Feb 20, 2024
e7a7e42
add type hinting
AlyaGomaa Feb 20, 2024
02b2281
Merge pull request #460 from stratosphereips/alya/ignore_client_ip_in…
AlyaGomaa Feb 20, 2024
014b187
flowalerts: use the dns answer of young domains to set evidence for t…
AlyaGomaa Feb 22, 2024
37d6731
flowalerts: move weird http method detections to http analyzer module
AlyaGomaa Feb 22, 2024
587bcb2
flowalerts: set 2 evidence for some detections, one for the saddr and…
AlyaGomaa Feb 22, 2024
437a498
p2p: when the network reports a malicious ip, set an evidence for the…
AlyaGomaa Feb 22, 2024
ee53482
p2p: remove the commented code for sending a blame report, handle_upd…
AlyaGomaa Feb 22, 2024
acf9367
threat_intel: have a separate function for handling BLACKLISTED_DNS_A…
AlyaGomaa Feb 22, 2024
5807200
threat_intel: have more descriptive evidence when there's an evidence…
AlyaGomaa Feb 22, 2024
7fd416b
threat_intel: have a separate function to lookup cnames from dns answers
AlyaGomaa Feb 22, 2024
6d64dad
set evidence for saddr and daddr for some evidence
AlyaGomaa Feb 22, 2024
9278928
update unit tests
AlyaGomaa Feb 23, 2024
85b2020
flowalerts: use the dns answer of young domains to set evidence for t…
AlyaGomaa Feb 22, 2024
a95d46f
flowalerts: move weird http method detections to http analyzer module
AlyaGomaa Feb 22, 2024
7e06dd7
flowalerts: set 2 evidence for some detections, one for the saddr and…
AlyaGomaa Feb 22, 2024
6556ed5
p2p: when the network reports a malicious ip, set an evidence for the…
AlyaGomaa Feb 22, 2024
8b01955
p2p: remove the commented code for sending a blame report, handle_upd…
AlyaGomaa Feb 22, 2024
1210179
threat_intel: have a separate function for handling BLACKLISTED_DNS_A…
AlyaGomaa Feb 22, 2024
6d071d3
threat_intel: have more descriptive evidence when there's an evidence…
AlyaGomaa Feb 22, 2024
9a66a0c
threat_intel: have a separate function to lookup cnames from dns answers
AlyaGomaa Feb 22, 2024
caab6a5
set evidence for saddr and daddr for some evidence
AlyaGomaa Feb 22, 2024
1f96b6d
update unit tests
AlyaGomaa Feb 23, 2024
747f1ad
Merge remote-tracking branch 'origin/alya/set_evidence_for_saddr_and_…
AlyaGomaa Feb 23, 2024
1f9af7a
db: use snake case for domain functions
AlyaGomaa Feb 23, 2024
ec07f26
fix problem printing traceback on exceptions
AlyaGomaa Feb 23, 2024
27698e5
db: fix problem getting get_all_flows_in_profileid
AlyaGomaa Feb 23, 2024
ec3caa6
db: properly handle domain resolutions from the db
AlyaGomaa Feb 23, 2024
b3bab9d
Merge pull request #461 from stratosphereips/alya/set_evidence_for_sa…
AlyaGomaa Feb 23, 2024
90b9987
start progress bar before all modules so it doesn't miss any prints i…
AlyaGomaa Feb 23, 2024
e66c86e
update unit tests
AlyaGomaa Feb 23, 2024
1decb04
Merge pull request #462 from stratosphereips/alya/fix_slips_freezing_…
AlyaGomaa Feb 23, 2024
d3f986a
Update installation.md to fix the image
roshnaeem Feb 25, 2024
1fc7e1e
Merge pull request #466 from stratosphereips/sebas-merge-doc-PR
eldraco Feb 27, 2024
2b47b6f
Update installation.md image file
eldraco Feb 27, 2024
8273de1
Update installation.md. Fix link to image that was not working
eldraco Feb 27, 2024
9475310
Replaced sklearn with scikit-learn
roshnaeem Feb 27, 2024
f6a40ba
Fixed documentation
roshnaeem Feb 29, 2024
4da9b65
Merge pull request #470 from roshnaeem/usage-doc
AlyaGomaa Mar 4, 2024
4242cfd
Merge pull request #468 from roshnaeem/mac-installation
AlyaGomaa Mar 4, 2024
c7b7a6f
p2p: add debugging prints
AlyaGomaa Mar 5, 2024
fe93e9c
p2p: add debugging prints
AlyaGomaa Mar 5, 2024
c1c4d77
p2p: fix problem extracting evidence details and sharing to other peers
AlyaGomaa Mar 5, 2024
21413bc
p2p: fix problem converting dict evidence to evidence object
AlyaGomaa Mar 5, 2024
c169b3b
db: refactor update_threat_level()
AlyaGomaa Mar 6, 2024
abe407f
db: refactor set_evidence()
AlyaGomaa Mar 6, 2024
832e3b9
shorten lines
AlyaGomaa Mar 6, 2024
eb3a0b5
p2p: process_network_response in a separate function
AlyaGomaa Mar 6, 2024
015f36a
p2p: add debugging prints
AlyaGomaa Mar 6, 2024
7b369e3
p2p: more debugging prints
AlyaGomaa Mar 6, 2024
5e6a007
p2p: fix problem comparing attacker type of evidence to be reported t…
AlyaGomaa Mar 6, 2024
24a11de
p2p: fix extracting evidence int scores for sending peer reports
AlyaGomaa Mar 6, 2024
4205d37
p2p: fix calling process_network_response()
AlyaGomaa Mar 6, 2024
b357bbd
p2p: remove debugging prints
AlyaGomaa Mar 6, 2024
42ba8d4
flowalerts: set evidence for all the young domain dns answers
AlyaGomaa Mar 6, 2024
da35bb0
evidence: add threat level to evidence printed in the cli and to log …
AlyaGomaa Mar 6, 2024
98d58b2
Merge pull request #471 from stratosphereips/alya/fix_p2p_evidence_ca…
AlyaGomaa Mar 6, 2024
22dfbb5
db: return blacklist name instead of ip source from get_ip_identifica…
AlyaGomaa Mar 6, 2024
36ef13b
flowalerts: set evidence for all the young domain dns answers
AlyaGomaa Mar 6, 2024
2f0c7b2
Merge remote-tracking branch 'origin/alya/improve_young_domain_detect…
AlyaGomaa Mar 6, 2024
548711b
evidence: add threat level to evidence printed in the cli and to log …
AlyaGomaa Mar 6, 2024
742be6a
db: return blacklist name instead of ip source from get_ip_identifica…
AlyaGomaa Mar 6, 2024
728d90b
Merge remote-tracking branch 'origin/alya/better_alerts_log' into aly…
AlyaGomaa Mar 6, 2024
5c23ce2
main: don't print info in errors.log
AlyaGomaa Mar 6, 2024
3e3a077
update integration tests
AlyaGomaa Mar 6, 2024
64ded03
Merge pull request #472 from stratosphereips/alya/improve_young_domai…
AlyaGomaa Mar 6, 2024
1290d1b
Merge pull request #473 from stratosphereips/alya/better_alerts_log
AlyaGomaa Mar 6, 2024
a5feaa6
flowalerts: fix setting data upload evidence
AlyaGomaa Mar 6, 2024
815fff1
flowalerts: fix setting ssh successful evidence
AlyaGomaa Mar 6, 2024
fa1a141
flowalerts: fix setting data upload evidence
AlyaGomaa Mar 6, 2024
66127c9
flowalerts: fix setting ssh successful evidence
AlyaGomaa Mar 6, 2024
3a03002
Merge remote-tracking branch 'origin/alya/fix_Setting_data_exfiltrati…
AlyaGomaa Mar 6, 2024
47e6d27
Merge pull request #474 from stratosphereips/alya/fix_Setting_data_ex…
AlyaGomaa Mar 6, 2024
82b5912
use snake case
AlyaGomaa Mar 6, 2024
4807f38
db: refactor set_local_network()
AlyaGomaa Mar 6, 2024
b9aee6d
profiler: set the local network as the network of the first client_ip…
AlyaGomaa Mar 6, 2024
62b802f
db: don't handle getting the local net by set_local_network(), handle…
AlyaGomaa Mar 6, 2024
975fa63
flowalerts: set the threat level to low if the ip ouytside of local n…
AlyaGomaa Mar 7, 2024
70cd53a
update the docs of "Connection to private IPs outside the current loc…
AlyaGomaa Mar 7, 2024
96f9d57
profiler: if we have client ips param set, don't check for private so…
AlyaGomaa Mar 7, 2024
42c8e86
Merge pull request #475 from stratosphereips/alya/fix_conn_outside_of…
AlyaGomaa Mar 7, 2024
2ba0218
whitelist: add a separate function for retrieving the whitelist from …
AlyaGomaa Mar 11, 2024
4d1ea5d
whitelist: handle ignoring evidence from 'both' directions
AlyaGomaa Mar 11, 2024
9b3687d
evidence: fix problem showing popups
AlyaGomaa Mar 11, 2024
0b8944c
Merge pull request #477 from stratosphereips/alya/fix_whitelist
AlyaGomaa Mar 11, 2024
e5e0d35
db: rename store_process_PID() to store_pid()
AlyaGomaa Mar 12, 2024
b6bda3d
ui_manager.py: use cwd when executing python3 webinterface/app.py
AlyaGomaa Mar 12, 2024
ce0fb9e
treat the web interface as a package
AlyaGomaa Mar 12, 2024
03fc1b5
start the web interface using python3 -m
AlyaGomaa Mar 12, 2024
891d025
ui_manager: confirm that the port is available before starting the we…
AlyaGomaa Mar 12, 2024
fa12fd3
move is_port_in_use() from redis_manager.py to slips_utils()
AlyaGomaa Mar 12, 2024
8219e9e
slips_utils: fix checking if a port is in use
AlyaGomaa Mar 12, 2024
f6dcd3a
ui_manager: fix checking if a port is in use
AlyaGomaa Mar 12, 2024
41b4f25
Merge pull request #478 from stratosphereips/alya/fix_starting_webint…
AlyaGomaa Mar 12, 2024
c8513b8
rename store_process_PID() to store_pid()
AlyaGomaa Mar 14, 2024
dc66e98
move the checks for stopping slips to process_manager.py
AlyaGomaa Mar 14, 2024
e9de0a6
use the latest redis version in all dockerfiles
AlyaGomaa Mar 14, 2024
55013dd
use the latest redis version in install.sh
AlyaGomaa Mar 14, 2024
1a315ec
migrate the deprecated nodejs installation script in dockerfiles and …
AlyaGomaa Mar 14, 2024
e8ac010
update the docs
AlyaGomaa Mar 14, 2024
a2fcd34
rename store_process_PID() to store_pid()
AlyaGomaa Mar 14, 2024
3c25ad0
move the checks for stopping slips to process_manager.py
AlyaGomaa Mar 14, 2024
03f9dd2
use the latest redis version in all dockerfiles
AlyaGomaa Mar 14, 2024
22923a7
use the latest redis version in install.sh
AlyaGomaa Mar 14, 2024
7fe6435
Merge remote-tracking branch 'origin/alya/handle_conn_reset_by_peer' …
AlyaGomaa Mar 14, 2024
9e9ae29
fix problem stopping slips
AlyaGomaa Mar 14, 2024
a2d12a5
Merge pull request #481 from stratosphereips/alya/handle_conn_reset_b…
AlyaGomaa Mar 14, 2024
ca4b113
Merge remote-tracking branch 'origin/alya/migrate_nodejs_script' into…
AlyaGomaa Mar 14, 2024
b88188d
flowalerts: refactor check_dns_without_connection()
AlyaGomaa Mar 15, 2024
96d6781
update slips version to 1.0.12
AlyaGomaa Mar 15, 2024
f5df183
update changelog
AlyaGomaa Mar 15, 2024
9fc1f89
update slips.gif to use the latest version
AlyaGomaa Mar 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
- 1.0.12 (March 2024)
- Add an option to specify the current client IP in slips.conf to help avoid false positives.
- Better handling of URLhaus threat intelligence.
- Change how slips determines the local network of the current client IP.
- Fix issues with the progress bar.
- Fix problem logging alerts and errors to alerts.log and erros.log.
- Fix problem reporting evidence to other peers.
- Fix problem starting the web interface.
- Fix whitelists.
- Improve how the evidence for young domain detections is set.
- Remove the description of blacklisted IPs from the evidence description and add the source TI feed instead.
- Set evidence to all young domain IPs when a connection to a young domain is found.
- Set two evidence in some detections e.g. when the source address connects to a blacklisted IP, evidence is set for both.
- Use blacklist name instead of IP description in all evidence.
- Use the latest Redis and NodeJS version in all docker images.


- 1.0.11 (February 2024)
- Improve the logging of evidence in alerts.json and alerts.log.
- Optimize the storing of evidence in the Redis database.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<h1 align="center">
Slips v1.0.11
Slips v1.0.12
</h1>


Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.11
1.0.12
8 changes: 8 additions & 0 deletions config/slips.conf
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,14 @@ export_labeled_flows = no
# export_format can be tsv or json. this parameter is ignored if export_labeled_flows is set to no
export_format = json

# These are the IPs that we see the majority of traffic going out of from.
# for example, this can be your own IP or some computer you’re monitoring
# when using slips on an interface, this client IP is automatically set as
# your own IP and is used to improve detections
# it would be useful to specify it when analyzing pcaps or zeek logs
#client_ips = [10.0.0.1, 172.16.0.9, 172.217.171.238]
client_ips = []

#####################
# [2] Configuration for the detections
[detection]
Expand Down
14 changes: 9 additions & 5 deletions docker/P2P-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,27 @@ RUN apt update && apt install -y --no-install-recommends \
curl \
gnupg \
nano \
lsb-release \
&& echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | tee /etc/apt/sources.list.d/security:zeek.list \
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/security_zeek.gpg \
&& curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" > /etc/apt/sources.list.d/redis.list


# Install Slips dependencies.
RUN apt update && apt install -y --no-install-recommends \
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
redis-server \
zeek \
redis \
python3-pip \
python3-certifi \
python3-dev \
build-essential \
file \
lsof \
net-tools \
iproute2 \
iptables \
iproute2 \
python3-tzlocal \
nfdump \
tshark \
Expand Down Expand Up @@ -68,7 +72,7 @@ RUN pip3 install -r install/requirements.txt


# For Kalipso:
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | bash - && apt install -y --no-install-recommends nodejs
RUN curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && apt install -y --no-install-recommends nodejs

# Switch to kalipso dir to install node dependencies
WORKDIR ${SLIPS_DIR}/modules/kalipso
Expand Down
13 changes: 9 additions & 4 deletions docker/dependency-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,27 @@ RUN apt update && apt install -y --no-install-recommends \
git \
curl \
gnupg \
lsb-release \
&& echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | tee /etc/apt/sources.list.d/security:zeek.list \
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/security_zeek.gpg \
&& curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" > /etc/apt/sources.list.d/redis.list


# Install Slips dependencies.
RUN apt update && apt install -y --no-install-recommends \
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
redis-server \
zeek \
redis \
python3-pip \
python3-certifi \
python3-dev \
build-essential \
file \
lsof \
net-tools \
iproute2 \
iptables \
iproute2 \
python3-tzlocal \
nfdump \
tshark \
Expand All @@ -58,6 +62,7 @@ RUN apt update && apt install -y --no-install-recommends \
&& ln -s /opt/zeek/bin/zeek /usr/local/bin/bro



# Install python dependencies

# you should build the image using
Expand Down
14 changes: 9 additions & 5 deletions docker/macosm1-P2P-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,27 @@ RUN apt update && apt install -y --no-install-recommends \
git \
curl \
gnupg \
lsb-release \
&& echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | tee /etc/apt/sources.list.d/security:zeek.list \
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/security_zeek.gpg \
&& curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" > /etc/apt/sources.list.d/redis.list


# Install Slips dependencies.
RUN apt update && apt install -y --no-install-recommends \
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
redis-server \
zeek \
redis \
python3-pip \
python3-certifi \
python3-dev \
build-essential \
file \
lsof \
net-tools \
iproute2 \
iptables \
iproute2 \
python3-tzlocal \
nfdump \
tshark \
Expand Down Expand Up @@ -64,7 +68,7 @@ RUN pip3 install --upgrade pip
RUN pip3 install -r ${SLIPS_DIR}/docker/macosm1-P2P-image/requirements-macos-m1-docker.txt

# For Kalipso:
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | bash - && apt install -y --no-install-recommends nodejs
RUN curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && apt install -y --no-install-recommends nodejs

# Switch to kalipso dir to install node dependencies
WORKDIR ${SLIPS_DIR}/modules/kalipso
Expand Down
2 changes: 1 addition & 1 deletion docker/macosm1-P2P-image/requirements-macos-m1-docker.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pytest-mock
pytest-xdist
slackclient
scipy
sklearn
scikit-learn
GitPython
protobuf
blinker
Expand Down
14 changes: 9 additions & 5 deletions docker/macosm1-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,27 @@ RUN apt update && apt install -y --no-install-recommends \
git \
curl \
gnupg \
lsb-release \
&& echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | tee /etc/apt/sources.list.d/security:zeek.list \
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/security_zeek.gpg \
&& curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" > /etc/apt/sources.list.d/redis.list


# Install Slips dependencies.
RUN apt update && apt install -y --no-install-recommends \
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
redis-server \
zeek \
redis \
python3-pip \
python3-certifi \
python3-dev \
build-essential \
file \
lsof \
net-tools \
iproute2 \
iptables \
iproute2 \
python3-tzlocal \
nfdump \
tshark \
Expand All @@ -60,7 +64,7 @@ RUN pip3 install --upgrade pip
RUN pip3 install -r ${SLIPS_DIR}/docker/macosm1-image/requirements-macos-m1-docker.txt

# For Kalipso:
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | bash - && apt install -y --no-install-recommends nodejs
RUN curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && apt install -y --no-install-recommends nodejs

# Switch to kalipso dir to install node dependencies
WORKDIR ${SLIPS_DIR}/modules/kalipso
Expand Down
13 changes: 8 additions & 5 deletions docker/tensorflow-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,17 @@ RUN apt update && apt install -y --no-install-recommends \
git \
curl \
gnupg \
lsb-release \
&& echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | tee /etc/apt/sources.list.d/security:zeek.list \
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/security_zeek.gpg \
&& curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" > /etc/apt/sources.list.d/redis.list


# Install Slips dependencies.
RUN apt update && apt install -y --no-install-recommends \
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
curl \
redis-server \
redis \
zeek \
python3-pip \
python3-certifi \
Expand Down Expand Up @@ -70,7 +73,7 @@ RUN pip3 install -r ${SLIPS_DIR}/install/requirements.txt


# For Kalipso:
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | bash - && apt install -y --no-install-recommends nodejs
RUN curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && apt install -y --no-install-recommends nodejs

# Switch to kalipso dir to install node dependencies
WORKDIR ${SLIPS_DIR}/modules/kalipso
Expand Down
16 changes: 10 additions & 6 deletions docker/ubuntu-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,30 +9,34 @@ ENV IS_IN_A_DOCKER_CONTAINER True
# destionation dir for slips inside the container
ENV SLIPS_DIR /StratosphereLinuxIPS

# Install wget and add Zeek repository to our sources.
# Install wget and add Zeek and redis repositories to our sources.
RUN apt update && apt install -y --no-install-recommends \
wget \
ca-certificates \
git \
curl \
gnupg \
lsb-release \
&& echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | tee /etc/apt/sources.list.d/security:zeek.list \
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
&& curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/security_zeek.gpg \
&& curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" > /etc/apt/sources.list.d/redis.list


# Install Slips dependencies.
RUN apt update && apt install -y --no-install-recommends \
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
redis-server \
zeek \
redis \
python3-pip \
python3-certifi \
python3-dev \
build-essential \
file \
lsof \
net-tools \
iproute2 \
iptables \
iproute2 \
python3-tzlocal \
nfdump \
tshark \
Expand All @@ -53,7 +57,7 @@ RUN pip3 install --no-cache-dir -r ${SLIPS_DIR}/install/requirements.txt


# For Kalipso:
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | bash - && apt install -y --no-install-recommends nodejs
RUN curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && apt install -y --no-install-recommends nodejs

# Switch to kalipso dir to install node dependencies
WORKDIR ${SLIPS_DIR}/modules/kalipso
Expand Down
11 changes: 11 additions & 0 deletions docs/flowalerts.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,17 @@ For example if the currently used local network is: 192.168.1.0/24

and slips sees a forged packet going from 192.168.1.2 to 10.0.0.1, it will alert

Slips detects the current local network by using the local network of the private
ips specified in ```client_ips``` parameter in ```slips.conf```

If no IPs are specified, slips uses the local network of the first private source ip
found in the traffic.

This threat level of this detection is low if the source ip is the one outside of local network
because it's unlikely.
and high if the destination ip is the one outside of local network.


## High entropy DNS TXT answers

Slips check every DNS answer with TXT record for high entropy
Expand Down
Binary file modified docs/images/slips.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ _Note: for those using a different base image, you need to also install tensorfl

As we mentioned before, the GUI of Slips known as Kalipso relies on NodeJs v19. Make sure to use NodeJs greater than version 12. For Kalipso to work, we will install the following npm packages:

curl -fsSL https://deb.nodesource.com/setup_19.x | bash - && apt install -y --no-install-recommends nodejs
curl -fsSL https://deb.nodesource.com/setup_21.x | sudo -E bash - && sudo apt install -y --no-install-recommends nodejs
cd modules/kalipso && npm install

#### Installing Zeek
Expand Down
6 changes: 3 additions & 3 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ There are two options how to run Kalipso Locally:

You can run Kalipso as a shell script in another terminal using the command:

```./kalipso.sh```
./kalipso.sh


In docker, you can open a new terminal inside the slips container and execute ```./kalipso.sh```
Expand Down Expand Up @@ -276,14 +276,14 @@ The traffic of IP is splitted into time windows. each time window is 1h long of

You can press Enter of any of them to view the list of flows in the timewindow.

<img src="https://raw.githubusercontent.com/stratosphereips/StratosphereLinuxIPS/develop/docs/images/web_interface.png" width="850px"
<img src="https://raw.githubusercontent.com/stratosphereips/StratosphereLinuxIPS/develop/docs/images/web_interface.png" width="850px">

You can switch to the flows view in kalipso by pressing TAB, now you can scroll on flows using arrows


On the very top you can see the ASN, the GEO location, and the virustotal score of each IP if available

Check how to setup virustotal in Slips here https://stratospherelinuxips.readthedocs.io/en/develop/usage.html#popup-notifications
Check how to setup virustotal in Slips [here](https://stratospherelinuxips.readthedocs.io/en/develop/usage.html#popup-notifications).


### The Web Interface
Expand Down
Loading
Loading