14 Eyl 2009

Fortigate Syn Attack Block

SYN Flood Attacks

A SYN flood is a type of Denial of Service (DoS) attack. DoS is a class of attacks in which an attacker attempts to prevent legitimate users from accessing an internet service, such as a web server. SYN floods are a type of DoS attack in which an
attacker attempts to disable an Internet service by flooding a server with TCP/IP connection requests which consume all the available slots in the server’s TCP connection table. When the connection table is full, it is not possible to establish any new connections, and the web site on the server becomes inaccessible.
This section provides information about SYN flood attacks and the FortiGate IPS methods of preventing such attacks.
How SYN floods work
SYN floods work by exploiting the structure of the TCP/IP protocol. Basically, an attacker floods a server with connection attempts but never acknowledges the server’s replies to actually open the TCP/IP connection.

The TCP/IP protocol uses a three-step process to establish a network connection.

Figure 17: Establishing a TCP/IP connection

1 The originator of the connection sends a SYN packet (a packet with the SYN flag set

in the TCP header) to initiate the connection.

2 The receiver sends a SYN/ACK packet (a packet with the SYN and ACK flags set in

the TCP header) back to the originator to acknowledge the connection attempt.

3 The originator then sends an ACK packet (a packet with the ACK flag set in the TCP

header) back to the receiver to open the connection.

Once the handshaking process is complete the connection is open and data

exchange can begin between the originator and the receiver, in this case the web

browser and the web server.

Server

1. Originator sends a SYN packet

Web

Browser

Web

2. Receiver replies with an ACK/SYN packet

3. Originator replies with an ACK packet

30 Fortinet Inc.

The FortiGate IPS Response to SYN Flood Attacks SYN Flood Attacks

Between steps 2 and 3 however, the web server keeps a record of any incomplete

connections until it receives the ACK packet. A SYN flood attacker sends many SYN

packets but never replies with the final ACK packet.

Since most systems have only a limited amount of space for TCP/IP connection

records, a flood of incomplete connections will quickly block legitimate users from

accessing the server. Most TCP/IP implementations use a fairly long timeout before

incomplete connections are cleared from the connection table and traffic caused by a

SYN flood is much higher than normal network traffic.

The FortiGate IPS Response to SYN Flood Attacks

FortiGate uses a defense method that combines the SYN Threshold and SYN Proxy

methods to prevent SYN flood attacks.

What is SYN threshold?

An IPS device establishes a limit on the number of incomplete TCP connections, and

discards SYN packets if the number of incomplete connections reaches the limit.

What is SYN proxy?

An IPS proxy device synthesizes and sends the SYN/ACK packet back to the

originator, and waits for the final ACK packet. After the proxy device receives the ACK

packet from the originator, the IPS device then “replays” the three-step sequence of

establishing a TCP connection (SYN, SYN/ACK and ACK) to receiver.

How IPS works to prevent SYN floods

The FortiGate IPS uses a defense method that is similar to but not a complete SYN

proxy to prevent SYN flood attack. This pseudo SYN proxy reduces resource usage

and provides better performance than a full SYN proxy approach.

The IPS allows users to set a limit or threshold on the number of incomplete TCP

connections. The threshold can be set either from the CLI or the web-based

manager.

When the IPS detects that the total number of incomplete TCP connections to a

particular target exceeds the threshold, the pseudo SYN proxy is triggered to operate

for all subsequent TCP connections. The pseudo SYN proxy will determine whether a

new TCP connection is a legitimate request or another SYN flood attack based on a

“best-effect” algorithm. If a subsequent connection attempt is detected to be a normal

TCP connection, the IPS will allow a TCP connection from the source to the target. If

a subsequent TCP is detected to be a new incomplete TCP connection request, one

of the following actions will be taken: Drop, Reset, Reset Client, Reset Server, Drop

Session, Pass Session, Clear Session, depending upon the user configuration for

SYN Flood anomaly in the IPS.

SYN Flood Attacks The FortiGate IPS Response to SYN Flood Attacks

Intrusion Prevention System Guide 31

A true SYN proxy approach requires that all three packets (SYN, SYN/ACK, and ACK)

are cached and replayed even before it is known if a TCP connection request is

legitimate. The FortiGate IPS pseudo SYN proxy retransmits every TCP packet

immediately from the packet source to the packet destination as soon as it records the

necessary information for SYN flood detection.

Since the pseudo SYN proxy in the IPS uses a “best effect” algorithm to determine

whether a TCP connection is legitimate or not, some legitimate connections may be

falsely detected as incomplete TCP connection requests and dropped. However, the

ratio of the pseudo SYN proxy dropping legitimate TCP connection is quite small.

Figure 18 illustrates the operation behavior of FGT IPS Engine before the SYN Flood

threshold is reached. Figure 19 illustrates the operation behavior of FGT IPS Engine

after the SYN Flood threshold is reached.

Figure 18: IPS operation before syn_flood threshold is reached

Figure 19: IPS operation after syn_flood threshold is reached

32 Fortinet Inc.

Configuring SYN flood protection SYN Flood Attacks

Configuring SYN flood protection

To set the configuration for the SYN flood anomaly in the web-based manager, go to

IPS->Anomaly, find syn_flood in the anomaly list, and select Edit.

Figure 20: Configuring the syn_flood anomaly

See “Anomalies” on page 19 for information about configuring anomalies.

Suggested settings for different network conditions

The main setting that impacts the efficiency of the pseudo SYN proxy in detecting

SYN floods is the threshold value. The default threshold is 2000. You should select an

appropriate value based on your network conditions. Normally, if the servers being

protected by the FortiGate unit need to handle heavier requests, such as a busy web

server, then the threshold should be set to a higher value. If your network carries

lighter traffic, the threshold should be set to a lower value.

Intrusion Prevention System Guide Version 1.0

Intrusion Prevention System Guide 33

ICMP Sweep Attacks

ICMP (Internet Control Message Protocol) is a part of the IP protocol and is generally

used to send error messages describing packet routing problems. ICMP sweeps are

not really considered attacks but are used to scan a target network to discover

vulnerable hosts for further probing and possible attacks.

Attackers use automated tools that scan all possible IP addresses in the range of the

target network to create a map which they can use to plan an attack.

How ICMP sweep attacks work

An ICMP sweep is performed by sending ICMP echo requests – or other ICMP

messages that require a reply – to multiple addresses on the target network. Live

hosts will reply with an ICMP echo or other reply message. An ICMP sweep basically

works the same as sending multiple pings. Live hosts accessible on the network must

send a reply. This enables the attacker to determine which hosts are live and

connected to the target network so that further attacks and probing can be planned.

There are several ways of doing an ICMP sweep depending on the source operating

system and there are many automated tools for network scanning that attackers use

to probe target networks.

The FortiGate IPS response to ICMP sweep attacks

The FortiGate IPS provides predefined signatures to detect a variety of ICMP sweep

methods. Each signature can be configured to pass, drop, or clear the session. Each

signature can be configured to log when the signature is triggered.

You can create your own custom signatures to block attacks specific to your network

that are not included in the predefined signature list.

The FortiGate IPS also has an ICMP sweep anomaly setting with a configurable

threshold.

Predefined ICMP signatures

Table 1 describes all the ICMP-related predefined signatures and the default settings

for each. See “Configuring individual signature settings” on page 13 for details about

each possible signature action.

34 Fortinet Inc.

The FortiGate IPS response to ICMP sweep attacks ICMP Sweep Attacks

Note: The predefined signature descriptions in Table 1 are accurate as of the IPS Guide

publication date. Predefined signatures may be added or changed with each Attack Definition

update.

Table 1: Predefined ICMP sweep signatures

Signature Description Default settings

AddressMask AddressMask detects broadcast address mask

request messages from a host pretending to be

part of the network. The default action is to

pass but log this traffic because it could be

legitimate network traffic on some networks.

Signature enabled

Logging enabled

Action: Pass

Broadscan.Smurf Broadscan is a hacking tool used to generate

and broadcast ICMP requests in a smurf

attack. In a smurf attack, an attacker

broadcasts ICMP requests on Network A using

a spoofed source IP address belonging to

Network B. All hosts on Network A send

multiple replies to Network B, which becomes

flooded.

Signature enabled

Logging enabled

Action: Drop

Communication.

Administratively.

Prohibited

This signature detects network packets that

have been blocked by some kind of filter. The

host that blocked the packet sends an ICMP

(code 13) Destination Unreachable message

notifying the source or apparent source of the

filtered packet. Since this signature may be

triggered by legitimate traffic, the default action

is to pass but log the traffic, so it can be

monitored.

Signature enabled

Logging enabled

Action: Pass

CyberKit.2.2 CyberKit 2.2 is Windows-based software used

to scan networks. ICMP echo request

messages sent using this software contain

special characters that identify Cyberkit as the

source.

Signature enabled

Logging enabled

Action: Pass

DigitalIsland.

Bandwidth.Query

Digital Island is a provider of content delivery

networks. This company sends ICMP pings so

they can better map routes for their customers.

If you are not a customer of Digital Island use

this signature to block their probes.

Signature enabled

Logging enabled

Action: Drop

Echo.Reply This signature detects ICMP echo reply

messages responding to ICMP echo request

messages.

Signature disabled

ISS.Pinger ISS is Internet Security Scanner software that

can be used to send ICMP echo request

messages and other network probes. While

this software can be legitimately used to scan

for security holes, you can use the signature to

block unwanted scans.

Signature enabled

Logging enabled

Action: Drop

Nemesis.V1.1

.Echo

Nemesis v1.1 is a Windows- or Unix-based

scanning tool. ICMP echo request messages

sent using this software contain special

characters that identify Nemesis as the source.

Signature enabled

Logging enabled

Action: Drop

Packet.Large This signature detects ICMP packets larger

than 32 000 bytes, which can crash a server or

cause it to hang.

Signature enabled

Logging enabled

Action: Pass

ICMP Sweep Attacks The FortiGate IPS response to ICMP sweep attacks

Intrusion Prevention System Guide 35

PING.NMAP NMAP is a free open source network

mapping/security tool that is available for most

operating systems. NMAP could be used

maliciously to perform an ICMP sweep. ICMP

echo request messages sent using this

software contain special characters that

identify NMAP as the source.

Signature disabled

Redirect.Code4 This signature detects ICMP type 5 code 4

redirect messages. An ICMP redirect message

describes an alternate route for traffic to take.

An attacker may use ICMP redirect messages

to alter the routing table or cause traffic to

follow an unintended route.

Signature enabled

Logging enabled

Action: Pass

Sniffer.Pro.

NetXRay

Sniffer Pro and NetXRay are scanning tools.

ICMP echo request messages sent using this

software contain special characters that

identify them as the source.

Signature enabled

Logging enabled

Action: Drop

Source.Quench This signature detects ICMP source quench

messages. These messages are generated

when a gateway cannot forward packets

because the memory buffer is full.

The gateway sends a source quench message

back to the source to request that the

transmission rate be reduced until it no longer

receives source quench messages from the

gateway. Attackers could use this type of

message to slow down the network

considerably.

Signature enabled

Logging enabled

Action: Drop

Superscan.Echo Superscan is a free network scanning tool for

Windows from Foundstone Inc. Superscan

could be used maliciously to perform an ICMP

sweep. ICMP echo request messages sent

using this software contain special characters

that identify Superscan as the source.

Signature enabled

Logging enabled

Action: Drop

TimeStamp TimeStamp detects timestamp request

messages from a host pretending to be part of

the network.

Signature enabled

Logging enabled

Action: Pass

TJPingPro1.1 TJPingPro1.1 is a widely-used network tool

for older versions of Windows. TJPingPro

could be used maliciously to perform an ICMP

sweep. ICMP echo request messages sent

using this software contain special characters

that identify TJPingPro as the source.

Signature enabled

Logging enabled

Action: Drop

Traceroute Traceroute is a very common network tool

available on almost any operating system. This

tool could be sued maliciously to perform an

ICMP sweep. ICMP echo request messages

sent using this software contain special

characters that identify traceroute as the

source.

Signature enabled

Logging enabled

Action: Pass

Whatsup.Gold WhatsUp Gold is a network scanning tool for

Windows from IPswitch. WhatsUp could be

used maliciously to perform an ICMP sweep.

ICMP echo request messages sent using this

software contain special characters that

identify WhatsUpGold as the source.

Signature enabled

Logging enabled

Action: Drop

Table 1: Predefined ICMP sweep signatures

Signature Description Default settings

36 Fortinet Inc.

Configuring ICMP sweep protection ICMP Sweep Attacks

ICMP sweep anomalies

The FortiGate unit also detects ICMP sweeps that do not have a predefined signature

to block them. The FortiGate IPS monitors traffic to ensure that ICMP messages do

not exceed the default or user-defined threshold.

Configuring ICMP sweep protection

To set the configuration for the various ICMP sweep attacks, go to IPS > Signature

and expand the icmp list. Each signature can be configured individually.

Figure 21: Some of the ICMP signatures in the predefined signature list

See “Predefined signatures” on page 10 for information about configuring predefined

signatures.

To set the configuration for the ICMP sweep anomaly in the web-based manager, go

to IPS->Anomaly, find icmp_sweep in the anomaly list, and select Edit.

Figure 22: Configuring the icmp_sweep anomaly

See “Anomalies” on page 19 for information about configuring anomalies.

Suggested settings for different network conditions

You can enable or disable the ICMP predefined signatures depending on your current

network traffic and the network scanning tools that you are using.

To use the icmp_sweep anomaly, you should monitor your network to find out the

normal ICMP traffic patterns. You can then configure the icmp_sweep anomaly

threshold to be triggered when an unusual volume of ICMP requests occurs.

Intrusion Prevention System Guide Version 1.0

Intrusion Prevention System Guide 37

Custom Signatures

Custom signatures provide the power and flexibility to customize the FortiGate IPS for

diverse network environments. The FortiGate predefined signatures cover common

attacks. If you are using an unusual or specialized application or an uncommon

platform, you can add custom signatures based on the security alerts released by the

application and platform vendors.

You can also use custom signatures to block or allow specific traffic.

Creating custom signatures

Each custom signature definition should be less than 1000 characters. A definition

can be a single line or span multiple lines connected by a backslash (\) at the end of

each line.

Each custom signature definition begins with a header followed by a set of keyword

and value pairs enclosed by parenthesis [( )]. The keyword and value pairs are

separated by a semi colon (;) and consist of a keyword and a value separated by a

space. The basic format of a definition is HEADER (KEYWORD VALUE 😉

KEYWORD VALUE ; can be repeated up to 64 times until all the parameters needed

for the signature are included.

Example

The following example signature checks that the ip_flag header in TCP packets has

the Don’t Fragment bit set:

F-SBID(–name testflag; –protocol tcp; –ip_flag D;)

The example signature generates the following traffic:

# sendip -p ipv4 -p tcp -is 192.168.5.37 -ifd 1 -ts 5566 -td 1234 -tfs 1 192.168.5.40

If logging is enabled, when the signature is triggered the IPS records an attack log

message similar to the following:

1 2004-09-02 01:19:52 log_id=0420070000 type=ips subtype=signature pri=alert

attack_id=113770497 src=192.168.5.37 dst=192.168.5.40 src_port=5598

dst_port=1234 src_int=ha dst_int=dmz status=detected proto=6 service=1234/tcp

msg=”custom: testflag”

Set the action to Drop Session.

38 Fortinet Inc.

Creating custom signatures Custom Signatures

Custom signature fields

Table 2shows the valid characters for custom signature fields.

Table 2: Valid characters for custom signature fields

Field Valid Characters Usage

HEADER F-SBID The header for an attack definition signature.

Each custom signature must begin with this

header.

KEYWORD The keyword must start

with –, and be a string of

greater than 0 and less than

20 characters.

Normally, keywords are an

English word or English

words connected by _. Letters

are usually lower case;

however, keywords are case

insensitive.

The keyword is used to identify a parameter.

See “Custom signature syntax” on page 39

for tables of supported keywords.

VALUE Double quotes must be used

around the value if it contains

a space and/or a semicolon.

If the value is NULL, the

space between the

KEYWORD and VALUE can

be omitted.

Values are case sensitive.

Note: if double quotes are

used for quoting the value,

the double quotes are not

considered as part of the

value string.

Set the value for a parameter identified by a

keyword.

Custom Signatures Custom signature syntax

Intrusion Prevention System Guide 39

Custom signature syntax

Table 3: General keywords

Keyword Value Usage

name A string of greater than 0 and

less than 64.

Normally, the group name is

an English word or English

words connected by _. All

letters are normally lower

case.

If included, the name must

match the name input using

the GUI or CLI.

Because the name identifies the signature

for the user, it should be easily readable and

should be unique. The name keyword is

optional for custom signatures.

default_action [pass | pass_session | drop |

drop_session | reset |

reset_client | reset_server |

clear_session]

The recommended action for a signature.

The default action is pass.

protocol ip;

tcp;

icmp;

udp;

The protocol name.

revision An integer. Optionally include a revision number for this

signature.

Table 4: Content specific keywords

Keyword Value Usage

content [!]”<content string>”;

A string quoted within double

quotes. Optionally place an

exclamation mark (!) before

the first double quote to

express “Not”.

The content contained in the packet

payload. Multiple contents can be

specified in one rule. The value can

contain mixed text and binary data. The

binary data is generally enclosed within the

pipe (|) character. The following characters

in the content string must be escaped

using a back slash: double quote (“), pipe

sign(|) and colon(:).

uri Same as content. Search for the normalized request URI

field. Binary data can be defined as the

URI value.

offset <number>;

An integer (0-65535).

Start looking for the contents after the

specified number of bytes of the payload.

This tag is an absolute value in the

payload. Follow the offset tag with the

depth tag to stop looking for a match after

the value specified by the depth tag. If

there is no depth specified, continue

looking for a match until the end of the

payload.

40 Fortinet Inc.

Custom signature syntax Custom Signatures

depth <number>;

An integer (1-65535).

Look for the contents within the specified

number of bytes of the payload. If the

value of the depth keyword is smaller than

the length of the value of the content

keyword, this signature will never be

matched. If depth is used without a

proceeding “offset”, it is equal to a “-offset

0″ there.

distance <number>;

An integer (0-65535).

Search for the contents the specified

number of bytes relative to the end of the

previously matched contents. The distance

tag could be followed with the within tag. If

there is no value specified for the within

tag, continue looking for a match until the

end of the payload.

within <number>;

An integer (1-65535).

Look for the contents within the specified

number of bytes of the payload. Use with

the distance tag.

no_case NULL Ignore case in the content value.

raw NULL Ignore any decoding. Look at the raw

packet data.

regex NULL Regular expressions are used in the

contents. An asterisk (*) in the content

string means any character, any number of

times. A question mark (?) means any

single character.

byte_test <bytes_to_convert>,

<operator>, <value>, <offset>

[, [relative,, [big,] [little,]

[string,] [hex,] [dec,] [oct]];

Test a byte field against a

specific value (with operator).

Capable of testing binary

values or converting

representative byte strings to

their binary equivalent and

testing them.

bytes_to_convert

– The number of bytes to pick up from the

packet.

operator

– The operation to perform to test the value

(<,>,=,!,&).

value

– The value to test the converted value

against.

offset

– The number of bytes into the payload to

start processing.

relative

– Use an offset relative to last pattern

match.

big

– Process the data as big endian (default).

little

– Process the data as little endian.

string

– The data is stored in string format in the

packet.

hex

– The converted string data is represented

in hexadecimal.

dec

– The converted string data is represented

in decimal.

oct

The converted string data is represented in

octal.

Table 4: Content specific keywords

Custom Signatures Custom signature syntax

Intrusion Prevention System Guide 41

byte_jump <bytes_to_convert>, <offset>

[, [relative,] [big,] [little,]

[string,] [hex,] [dec,] [oct,]

[align]];

The byte_jump option is used

to get a specified number of

bytes, convert them to their

numeric representation, and

jump the doe_ptr up that

many bytes for further pattern

matching/byte_testing. This

allows relative pattern

matches to take into account

numerical values found in

network data.

bytes_to_convert

– The number of bytes to pick up from the

packet.

offset

– The number of bytes into the payload to

start processing.

relative

– Use an offset relative to the last pattern

match.

big

– Process the data as big endian (default).

little

– Process data as little endian.

string

– The data is stored in string format in the

packet.

hex

– The converted string data is represented

in hexadecimal.

dec

– The converted string data is represented

in decimal.

oct

– The converted string data is represented

in octal.

align

– Round the number of converted bytes up

to the next 32-bit boundary.

Table 4: Content specific keywords

42 Fortinet Inc.

Custom signature syntax Custom Signatures

pcre [!]”(/<regex>/|m<delim><regex

><delim>)[ismxAEGRUB]”;

The pcre keyword allows you

to write rules using perl

compatible regular

expressions (PCRE). For

more information on using

PCRE, see the PCRE web

site at http://www.pcre.org.

The post-re modifiers set

compile time flags for the

regular expression.

i

– Case insensitive.

s

– Include newlines in the dot

metacharacter.

m

– By default, the string is treated as one big

line of characters. ^ and $ match at the

start and end of the string. When m is set,

^ and $ match immediately following or

immediately before any newline in the

buffer, as well as the very start and very

end of the buffer.

x

– Whitespace data characters in the

pattern are ignored except when escaped

or inside a character class.

A

– The pattern must match only at the start

of the buffer (same as ^ ).

E

– Set $ to match only at the end of the

subject string. Without E, $ also matches

immediately before the final character if it

is a newline (but not before any other

newlines).

G

– Inverts the “greediness” of the quantifiers

so that they are not greedy by default, but

become greedy if followed by “?”.

R

– Match relative to the end of the last

pattern match (similar to distance:0;).

U

Match the decoded URI buffers (similar to

the uri keyword).

BD

o not use the decoded buffers (similar to

the raw keyword).

data_at <value> [,relative]; Verify that the payload has data at a

specified location. Optionally look for data

relative to the end of the previous content

match.

Table 5: IP header keywords

Keyword Value Usage

ip_version <number>; The IP version number.

ihl <number>;

An integer(5-15).

The IP header length.

tos <number>; Check the IP TOS field for the specified

value.

ip_id <number>; Check the IP ID field for the specified

value.

Table 4: Content specific keywords

Custom Signatures Custom signature syntax

Intrusion Prevention System Guide 43

ip_option {rr | eol | nop | ts | sec | lsrr |

ssrr | satid | any}

rr

– Check if IP RR (record route) option is

present.

eol

– Check if IP EOL (end of list) option is

present.

nop

– Check if IP NOP (no op) option is

present.

ts

– Check if IP TS (time stamp) option is

present.

sec

– Check if IP SEC (IP security) option is

present.

lsrr

– Check if IP LSRR (loose source routing)

option is present.

ssrr

– Check if IP SSRR (strict source routing)

option is present.

satid

– Check if IP SATID (stream identifier)

option is present.

any

– Check if IP any option is present.

frag_offset <number>;

!<number>;

><number>;

<<number>;

Compare the IP fragment field against the

specified value.

ip_flag [!]<[MDR]>[+|*]; Check if IP fragmentation and reserved

bits are set in the IP header.

M

– The More Fragments bit.

D

– The Don’t Fragment bit.

R

The Reserved Bit.

+

– Match on the specified bits, plus any

others.

*

– Match if any of the specified bits are set.

!

– Match if the specified bits are not set.

ttl <number>;

><number>;

<<number>;

Check the IP time-to-live value against the

specified value.

src_addr [!]<ip addresses or CIDR

blocks>

You can define up to 28 IP

address or CIDR blocks.

Enclose the comma

separated list in square

brackets.

The source IP address.

Table 5: IP header keywords

44 Fortinet Inc.

Custom signature syntax Custom Signatures

dst_addr [!]<ip addresses or CIDR

blocks>

You can define up to 28 IP

address or CIDR blocks.

Enclose the comma

separated list in square

brackets.

The destination IP address.

ip_proto <number>;

[!]<number>;

><number>;

<<number>;

Check the IP protocol header.

Table 6: TCP header keywords

Keyword Value Usage

src_port [!]<number>;

[!]:<number>;

[!]<number>:;

[!]<number>:<number>;

The source port number.

dst_port [!]<number>

[!]:<number>

[!]<number>:

[!]<number>:<number>

The destination port number.

tcp_flags [!|*|+]<FSRPAU120>[,<FSRP

AU120>];

The first part

(<FSRPAU120>) defines the

bits that must present for a

successful match. For

example:

–tcp_flags AP

only matches the case where

both A and P bits are set.

The second part

([,<FSRPAU120>]) is

optional, and defines the

additional bits that can

present for a match. For

example:

–tcp_flags S,12

matches the following

combinations of flags: S, S

and 1, S and 2, S and 1 and

2.

The modifiers !, * and + can

not be used in the second

part.

Specify the TCP flags to match in a packet.

S

– Match the SYN flag.

A

– Match the ACK flag.

F

– Match the FIN flag.

R

– Match the RST flag.

U

– Match the URG flag.

P

– Match the PSH flag.

1

– Match Reserved bit 1.

2

– Match Reserved bit 2.

0

– Match No TCP flags set.

+

– Match on the specified bits, plus any

others.

*

– Match if any of the specified bits are set.

!

– Match if the specified bits are not set.

seq <number>; Check for the specified TCP sequence

number.

Table 5: IP header keywords

Custom Signatures Custom signature syntax

Intrusion Prevention System Guide 45

ack <number>; Check for the specified TCP acknowledge

number.

window_size [!]<number>;

An integer in either

hexadecimal or decimal.

A hexadecimal value must be

preceded by 0x.

Check for the specified TCP window size.

Table 7: UDP header keywords

Keyword Value Usage

src_port [!]<number>;

[!]:<number>;

[!]<number>:;

[!]<number>:<number>;

The source port number.

dst_port [!]<number>;

[!]:<number>;

[!]<number>:;

[!]<number>:<number>;

The destination port number.

Table 8: ICMP keywords

Keyword Value Usage

icmp_type <number>; Specify the ICMP type to match.

icmp_code <number>; Specify the ICMP code to match.

icmp_id <number>; Check for the specified ICMP ID value.

icmp_seq <number>; Check for the specified ICMP sequence

value.

Table 6: TCP header keywords

46 Fortinet Inc.

Custom signature syntax Custom Signatures

Table 9: Other keywords

Keyword Value Usage

same_ip NULL The source and the destination have the

same IP addresses.

rpc_num <application number>,

[<version number>|*],

[<procedure number>|*>;

Check for RPC application, version, and

procedure numbers in SUNRPC CALL

requests. The * wildcard can be used for

version and procedure numbers.

flow [to_client|to_server|from_client

| from_server ];

established;

bi_direction;

[no_stream|only_stream];

TCP only.

The to_server value is equal to the

from_client value. The to_client value is

equal to the from_server value.

The bi_direction tag makes the signature

match traffic for both directions. For

example, if you have a signature with

“–dst_port 80”, and with bi_direction set, the

signature checks traffic from and to port 80.

data_size < number;

> number;

< number;

number <> number;

Test the packet payload size. With data_size

specified, packet reassembly is turned off

automatically. So a signature with data_size

and only_stream values set is wrong.

revision <number>; The revision number of the attack signature.

Intrusion Prevention System Guide 01-28007-0080-20041130 47

Intrusion Prevention System Guide Version 1.0

Glossary

Connection: A link between machines, applications,

processes, and so on that can be logical, physical, or

both.

DMZ, Demilitarized Zone: Used to host Internet

services without allowing unauthorized access to an

internal (private) network. Typically, the DMZ contains

servers accessible to Internet traffic, such as Web

(HTTP) servers, FTP servers, SMTP (email) servers

and DNS servers.

DMZ interface: The FortiGate interface that is

connected to a DMZ network.

DNS, Domain Name Service: A service that converts

symbolic node names to IP addresses.

Ethernet: A local-area network (LAN) architecture that

uses a bus or star topology and supports data transfer

rates of 10 Mbps. Ethernet is one of the most widely

implemented LAN standards. A newer version of

Ethernet, called 100 Base-T (or Fast Ethernet),

supports data transfer rates of 100 Mbps. And the

newest version, Gigabit Ethernet, supports data rates

of 1 gigabit (1,000 megabits) per second.

External interface: The FortiGate interface that is

connected to the Internet. For the FortiGate-60 the

external interface is WAN1 or WAN2.

FTP, File transfer Protocol: An application and TCP/

IP protocol used to upload or download files.

Gateway: A combination of hardware and software that

links different networks. Gateways between TCP/IP

networks, for example, can link different subnetworks.

HTTP, Hyper Text Transfer Protocol: The protocol

used by the World Wide Web. HTTP defines how

messages are formatted and transmitted, and what

actions Web servers and browsers should take in

response to various commands.

HTTPS: The SSL protocol for transmitting private

documents over the Internet using a Web browser.

Internal interface: The FortiGate interface that is

connected to an internal (private) network.

Internet: A collection of networks connected together

that span the entire globe using the NFSNET as their

backbone. As a generic term, it refers to any collection

of interdependent networks.

ICMP, Internet Control Message Protocol: Part of the

Internet Protocol (IP) that allows for the generation of

error messages, test packets, and information

messages relating to IP. This is the protocol used by

the ping function when sending ICMP Echo Requests

to a network host.

IKE, Internet Key Exchange: A method of

automatically exchanging authentication and

encryption keys between two secure servers.

IMAP, Internet Message Access Protocol: An

Internet email protocol that allows access to your email

from any IMAP compatible browser. With IMAP, your

mail resides on the server.

IP, Internet Protocol: The component of TCP/IP that

handles routing.

IP Address: An identifier for a computer or device on a

TCP/IP network. An IP address is a 32-bit numeric

address written as four numbers separated by periods.

Each number can be zero to 255.

L2TP, Layer Two (2) Tunneling Protocol: An

extension to the PPTP protocol that enables ISPs to

operate Virtual Private Networks (VPNs). L2TP merges

PPTP from Microsoft and L2F from Cisco Systems. To

create an L2TP VPN, your ISP’s routers must support

L2TP.

IPSec, Internet Protocol Security: A set of protocols

that support secure exchange of packets at the IP

layer. IPSec is most often used to support VPNs.

48 01-28007-0080-20041130 Fortinet Inc.

Glossary

LAN, Local Area Network: A computer network that

spans a relatively small area. Most LANs connect

workstations and personal computers. Each computer

on a LAN is able to access data and devices anywhere

on the LAN. This means that many users can share

data as well as physical resources such as printers.

MAC address, Media Access Control address: A

hardware address that uniquely identifies each node of

a network.

MIB, Management Information Base: A database of

objects that can be monitored by an SNMP network

manager.

Modem: A device that converts digital signals into

analog signals and back again for transmission over

telephone lines.

MTU, Maximum Transmission Unit: The largest

physical packet size, measured in bytes, that a network

can transmit. Any packets larger than the MTU are

divided into smaller packets before being sent. Ideally,

you want the MTU your network produces to be the

same as the smallest MTU of all the networks between

your machine and a message’s final destination. If your

messages are larger than one of the intervening MTUs,

they get broken up (fragmented), which slows down

transmission speeds.

Netmask: Also called subnet mask. A set of rules for

omitting parts of a complete IP address to reach a

target destination without using a broadcast message.

It can indicate a subnetwork portion of a larger network

in TCP/IP. Sometimes referred to as an Address Mask.

NTP, Network Time Protocol: Used to synchronize

the time of a computer to an NTP server. NTP provides

accuracies to within tens of milliseconds across the

Internet relative to Coordinated Universal Time (UTC).

Packet: A piece of a message transmitted over a

packet-switching network. One of the key features of a

packet is that it contains the destination address in

addition to the data. In IP networks, packets are often

called datagrams.

Ping, Packet Internet Grouper: A utility used to

determine whether a specific IP address is accessible.

It works by sending a packet to the specified address

and waiting for a reply.

POP3, Post Office Protocol: A protocol used to

transfer e-mail from a mail server to a mail client across

the Internet. Most e-mail clients use POP.

PPP, Point-to-Point Protocol: A TCP/IP protocol that

provides host-to-network and router-to-router

connections.

PPTP, Point-to-Point Tunneling Protocol: A

Windows-based technology for creating VPNs. PPTP

is supported by Windows 98, 2000, and XP. To create a

PPTP VPN, your ISP’s routers must support PPTP.

Port: In TCP/IP and UDP networks, a port is an

endpoint to a logical connection. The port number

identifies what type of port it is. For example, port 80 is

used for HTTP traffic.

Protocol: An agreed-upon format for transmitting data

between two devices. The protocol determines the type

of error checking to be used, the data compression

method (if any), how the sending device indicates that

it has finished sending a message, and how the

receiving device indicates that it has received a

message.

RADIUS, Remote Authentication Dial-In User

Service: An authentication and accounting system

used by many Internet Service Providers (ISPs). When

users dial into an ISP they enter a user name and

password. This information is passed to a RADIUS

server, which checks that the information is correct,

and then authorizes access to the ISP system.

Router: A device that connects LANs into an internal

network and routes traffic between them.

Routing: The process of determining a path to use to

send data to its destination.

Routing table: A list of valid paths through which data

can be transmitted.

Server: An application that answers requests from

other devices (clients). Used as a generic term for any

device that provides services to the rest of the network

such as printing, high capacity storage, and network

access.

SMTP, Simple Mail Transfer Protocol: In TCP/IP

networks, this is an application for providing mail

delivery services.

SNMP, Simple Network Management Protocol: A set

of protocols for managing networks. SNMP works by

sending messages to different parts of a network.

SNMP-compliant devices, called agents, store data

about themselves in Management Information Bases

(MIBs) and return this data to the SNMP requesters.

Glossary

Intrusion Prevention System Guide 01-28007-0080-20041130 49

SSH, Secure shell: A secure Telnet replacement that

you can use to log into another computer over a

network and run commands. SSH provides strong

secure authentication and secure communications

over insecure channels.

Subnet: A portion of a network that shares a common

address component. On TCP/IP networks, subnets are

defined as all devices whose IP addresses have the

same prefix. For example, all devices with IP

addresses that start with 100.100.100. would be part of

the same subnet. Dividing a network into subnets is

useful for both security and performance reasons.

IP networks are divided using a subnet mask.

Subnet Address: The part of the IP address that

identifies the subnetwork.

TCP, Transmission Control Protocol: One of the

main protocols in TCP/IP networks. TCP guarantees

delivery of data and also guarantees that packets will

be delivered in the same order in which they were sent.

UDP, User Datagram Protocol: A connectionless

protocol that, like TCP, runs on top of IP networks.

Unlike TCP, UDP provides very few error recovery

services, offering instead a direct way to send and

receive datagrams over an IP network. It is used

primarily for broadcasting messages over a network.

VPN, Virtual Private Network: A network that links

private networks over the Internet. VPNs use

encryption and other security mechanisms to ensure

that only authorized users can access the network and

that data cannot be intercepted.

Virus: A computer program that attaches itself to other

programs, spreading itself through computers or

networks by this mechanism usually with harmful

intent.

Worm: A program or algorithm that replicates itself

over a computer network, usually through email, and

performs malicious actions, such as using up the

computer’s resources and possibly shutting the system

down.

İletişim için f1info@f1bilgisayar.com