Я действительно не знаю, в чём дело, я не вижу ошибок в своих iptables ... Я изменил свой порт ssh на 50000 для целей проекта, если вам интересно, почему это не 22.
Такмне нужен скрипт, который удаляет все правила и открывает только ssh, dns, http, ping, local и также предотвращает ddos.
Я нашел это на очень доверенном учебном сайте:
#!/bin/sh
# Réinitialise les règles
sudo iptables -t filter -F
sudo iptables -t filter -X
# Bloque tout le trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD DROP
sudo iptables -t filter -P OUTPUT DROP
# Autorise les connexions déjà établies et localhost
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t filter -A INPUT -i lo -j ACCEPT
sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT
# ICMP (Ping)
sudo iptables -t filter -A INPUT -p icmp -j ACCEPT
sudo iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# SSH
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
# DNS
sudo iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
# HTTP
sudo iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
# filtre antiflood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
# restart network
sudo service networking restart; ifup enp0s3
Ну, все работало нормально, пока я не обнаружил, что целая куча вещей, которые я не хотел, была открыта.Я использовал:
nmap 10.12.254.253
, и я получил такой вывод:
Starting Nmap 7.40 ( https://nmap.org ) at 2019-02-19 20:48 CET
Nmap scan report for mac-server-e2.42.fr (10.12.254.253)
Host is up (0.000014s latency).
Not shown: 984 closed ports
PORT STATE SERVICE
1/tcp open tcpmux
79/tcp open finger
111/tcp open rpcbind
119/tcp open nntp
143/tcp open imap
1080/tcp open socks
1524/tcp open ingreslock
2000/tcp open cisco-sccp
6667/tcp open irc
12345/tcp open netbus
31337/tcp open Elite
32771/tcp open sometimes-rpc5
32772/tcp open sometimes-rpc7
32773/tcp open sometimes-rpc9
32774/tcp open sometimes-rpc11
50000/tcp open ibm-db2
Я не ожидал столько, поэтому я тоже удалил строки из моего скрипта:
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Я снова запускаю скрипт, и мое ssh-соединение было разорвано.Я подошел к семестру ВМ и попробовал несколько вещей:
ping wikipedia.org
apt-get update
ничего не получалось.Я считаю, что по какой-то причине мой DNS больше не работает.Спасибо, что прочитали все это, и, пожалуйста, помогите мне !!