Question

In: Computer Science

Research whether SYN cookies, or other similar mechanism, are supported on an operating system you have...

Research whether SYN cookies, or other similar mechanism, are supported on an operating system you have access to (e.g., BSD, Linux, MacOS, Windows). If so, determine whether they are enabled by default and, if not, how to enable them.

Solutions

Expert Solution

Yes, SYN cookies are supported.

A SYN cookie is a specific choice of initial TCP sequence number by TCP software and is used as a defence against SYN Flood attacks.

In normal operation, a Client sends a SYN and the Server responds with a SYN+ACK message, the server will then hold state information in the TCP stack while waiting for Client ACK message. A simple SYN flood (using suitable software) will generate SYN packets which would consume all available TCP memory as the server must maintain state for all half-open connections. And since this state table is finite the server will no longer accept new TCP connections and thus fail or deny service to the user ((or worse, buffer overflows or system memory exhaustion has occurred, not so much a problem today)).

This is highly leveraged attack since a very small amount of bandwidth and CPU can exhaust the resources on a large number of servers.

By specifically calculating the TCP sequence number with a specific, secret math function in the SYN-ACK response, the server does not need to maintain this state table. On receipt of the ACK from the Client, the TCP sequence number is checked against the function to determine if this is a legitimate reply.

If the check is successful, then the server will create the TCP session and the user connection will proceed as normal.
Enabling SYN Cookies:

To enable it, you have to do:

•   [root@deep] /# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

Add the above commands to the /etc/rc.d/rc.local script file and you'll not have to type it again the next time you reboot your system.
Edit the /etc/sysctl.conf file and add the following line:

# Enable TCP SYN Cookie Protection

•   net.ipv4.tcp_syncookies = 1

You must restart your network for the change to take effect. The command to restart the network is the following:

•   [root@deep] /# /etc/rc.d/init.d/network restart
Setting network parameters       [ OK ]
Bringing up interface lo [ OK ]
Bringing up interface eth0     [ OK ]
Bringing up interface eth1   [ OK ]

If you receive an error message during execution of the above command, check that you have enabled the TCP syncookies option in your kernel configuration: IP: TCP syncookie support not enabled per default CONFIG_SYN_COOKIES Y/n/?.

•   Y

And you have successfully enabled the SYN cookies.


Related Solutions

Put yourself back in the late 1780s, and argue whether you would have supported keeping the...
Put yourself back in the late 1780s, and argue whether you would have supported keeping the Articles of Confederation, or whether you would have supported replacing it with the Constitution. Make sure to explain why.
1. Keeping in mind the various definitions of operating system, consider whether the operating system should...
1. Keeping in mind the various definitions of operating system, consider whether the operating system should include applications such as web browsers and mail programs. Argue both that it should and that it should not, and support your answers 2. How does the distinction between kernel mode and user mode function as a rudimentary form of protection (security) system?
With respect to a general multitasking system What mechanism allows operating system routines to get more...
With respect to a general multitasking system What mechanism allows operating system routines to get more control of the CPU than user tasks? What are the two states a task can be in while waiting for control of the CPU?
What process should we take to determine whether a site, app, or other mechanism is accessible...
What process should we take to determine whether a site, app, or other mechanism is accessible to everyone? How should this process be? How do we decide whether we have made a sufficient effort or whether we are lacking?
Write a quantitative experimental research question related to children eating mud cookies in Haiti (must have...
Write a quantitative experimental research question related to children eating mud cookies in Haiti (must have an independent and dependent variable).
Assume that you have a 12-bit floating point number system, similar to the IEEE floating point...
Assume that you have a 12-bit floating point number system, similar to the IEEE floating point standard, with the format shown below and a bias of 7. The value of a floating point number in this system is represented as    FP = (-1)^S X 1.F X 2^(E-bias) for the floating point numbers A = 8.75 and B = -5.375. The binary representation of A is given as A = 0101 0000 1100 Show the hexidecimal representation of B.
Conduct a research design. You have been asked by a university to determine whether living in...
Conduct a research design. You have been asked by a university to determine whether living in dormitories improves student satisfaction and learning outcomes.  Propose a research design to assess this question.  Good answers will invoke parts of the research design process that we have been discussing: research questions; hypotheses; dependent variable; independent variable; population targeted; unit of analysis; data collection strategy; plan of analysis (i.e., what will you be comparing?).
Identify at least two major prison gangs operating currently within the prison system. Identify the similar...
Identify at least two major prison gangs operating currently within the prison system. Identify the similar characteristics displayed by of major prison gangs. List at least five characteristics. Justify your response. Provide rationale for where and why you think prison gangs originated. Justify your response. Provide rational for why you think offenders join prison gangs. Justify your response. Provide rationale for why might prison officials choose to allow gangs to operate. Justify your response.
Problem 1: You have a particle system that you produced for your research work. Now you...
Problem 1: You have a particle system that you produced for your research work. Now you are not sure what size of particles it will be. Which particle size analyzer/technique you will use and why? Give the fundamentals of how the analyzer/technique works.
Explain whether today’s modern prisons are similar or different than prisons under the Pennsylvania penal system...
Explain whether today’s modern prisons are similar or different than prisons under the Pennsylvania penal system of confinement. Discuss how today’s faith-based prison initiatives would either be consistent with, or in conflict with the Pennsylvania system. Also, explain why some people are in favor of faith-based programming, and why others are not.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT